Dear all,

I had interpreted Andriy's question, as if getfem++ should use C++11 by
default or not. I now see that the actual question is if it is ok for
getfem++ to depend on C++11. My opinion is that at some point soon or later
getfem++ (like also many other software projects) will depend on C++11
anyway. So the actual question is when.

A dependence on C++11 will not affect me personally and packaging for
future Linux distribution is not a problem either because most of them come
with gcc 4.8 anyway. One problem that I see is with people that may need to
compile getfem++ on e.g. university clusters with older linux distributions
like Ubuntu 12.04 and CentOS. I think it is common for university clusters
to run on outdated --some call it stable-- linux distributions with older
compiler versions. So making C++11 a hard dependence may affect some people
for the next 1-2 years or so.

I think a realistic approach is to release the next version (soon) without
depending on C++11 and merge all C++11 specific features just after the
release. In any case I would recommend to give it a more technical thought
before doing the switch, in the sense that Yves mentioned in his email.

Btw. some code clean up would also be very welcome but I think this also
fits better after the next stable release.

Best regards

Kostas




On Wed, Mar 19, 2014 at 1:13 PM, Yves Renard <[email protected]>wrote:

>
>
> Dear All,
>
> What made me hesitate to definitely switch to C++11 is the fact that the
> version of gcc on the stable release of Ubuntu (2012) is gcc 4.6.4. that
> does not support C++11. Consequently, caution rather led me to wait a
> little longer (namely 2017 the next stable version of Ubuntu). In
> addition, I did not personally need the new features of C++11 for the
> moment (of course, I would not have developed the library gmm in the same
> way with the features of C++11 if it had been available in the early 2000s
> !).
> But of course, I understand Andriy who sees the interest to use these new
> features. Three years is a little bit long. I am not against the switch but
> it will force us to use at least gcc 4.8  and force the update of a few
> things in the code (such as obsolescence of auto_ptr).
>
> In conclusion, has anybody some further arguments against the switch ?
>
> If not, I think I will check carrefully the compatibility of Getfem
> sources to gcc 4.8 and  enforce C++11 ...
>
> Yves.
>
>
>
> Le 19/03/2014 12:08, Andriy Andreykiv a écrit :
>
> Dear Kostas and Getfem users,
>
>  At our company we build Getfem on Windows with Intel C++ as well as MSVS
> 2012 C++
> and on Linux with GCC 4.81. As far as I know Clang supports 11th standard
> too.
> These are major C++ compilers (correct me if I"m wrong) and all of them
> happily support major C++11 features.
>
>  What you, Kostas, are proposing, about conditional compilation of 11th
> features, sure possible, but
>  is really a big burden to maintain, at least for our side. Imagine if I
> use Lambda's and auto's and then
> I have to conditionally provide code for the case C++11 is not enabled,
> then I have to sometimes
> re-design several functions. If I have to do that, then I have no reasons
> to use 11th features at all.
> I do use conditional compilation now and then, during implementation of
> multithreaded assembly.
>  It, sure, makes sense for performance reasons, but C++11 is always
> available and not such a reason.
>
>  Given the above I would propose to Getfem community to have 11th
> standard enforced by default,
>  and allow code that compiles only with C++11 on. Please tell me what you
> think about this.
>
>
>  Best regards,
>                       Andriy
>
>
>
>
> On 19 March 2014 11:17, Konstantinos Poulios <[email protected]>wrote:
>
>>     Dear Andriy,
>>
>> actually the intention of my change was getfem to support C++11 by
>> default if the compiler supports it by default.
>>
>>  Are you using msvc or gcc? I thought that my change would affect only
>> compiling with gcc which officially does not support c++11 by default.
>>
>>  Even with gcc one can still enable c++11 by adding the appropriate
>> CXXFLAGS at running the configure script.
>>
>>  Within getfem we just need to use
>> #if __cplusplus > 199711L
>>  #endif
>>  conditionals for features that depend on C++11.
>>
>>  Is there any practical issue that I am forgetting here?
>>
>>  Best regards
>>  Kostas
>>
>>
>>
>>
>>  On Wed, Mar 19, 2014 at 10:26 AM, Andriy Andreykiv <
>> [email protected]> wrote:
>>
>>>  Dear Getfem users,
>>>
>>>  Currently, Getfem is configured by default not to support C++11
>>> (revision 4536).
>>> May I ask why?  I would really want to have it supported. I like to use
>>> lambda's auto's and the new for loop syntax in my code, but,
>>> more importantly, C++11 includes libraries that otherwise have to be
>>> included through Boost (I'm using at least <thread> and <atomic>)
>>>
>>>  Best regards,
>>>                         Andriy
>>>
>>>  _______________________________________________
>>> Getfem-users mailing list
>>> [email protected]
>>> https://mail.gna.org/listinfo/getfem-users
>>>
>>>
>>
>
>
> _______________________________________________
> Getfem-users mailing 
> [email protected]https://mail.gna.org/listinfo/getfem-users
>
>
>
> --
>
>   Yves Renard ([email protected])       tel : (33) 04.72.43.87.08
>   Pole de Mathematiques, INSA-Lyon             fax : (33) 04.72.43.85.29
>   20, rue Albert Einstein
>   69621 Villeurbanne Cedex, FRANCE
>   http://math.univ-lyon1.fr/~renard
>
> ---------
>
>
_______________________________________________
Getfem-users mailing list
[email protected]
https://mail.gna.org/listinfo/getfem-users

Reply via email to