getfem-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Getfem-users] C++11 in Getfem


From: Yves Renard
Subject: Re: [Getfem-users] C++11 in Getfem
Date: Wed, 19 Mar 2014 13:13:37 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0



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 <address@hidden> 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 <address@hidden> 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
address@hidden
https://mail.gna.org/listinfo/getfem-users





_______________________________________________
Getfem-users mailing list
address@hidden
https://mail.gna.org/listinfo/getfem-users


-- 

  Yves Renard (address@hidden)       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

---------

reply via email to

[Prev in Thread] Current Thread [Next in Thread]