|
From: | Andriy Andreykiv |
Subject: | Re: [Getfem-users] C++11 in Getfem |
Date: | Thu, 20 Mar 2014 11:37:42 +0100 |
KostasI 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.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.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.
Btw. some code clean up would also be very welcome but I think this also fits better after the next stable release.Best regards
On Wed, Mar 19, 2014 at 1:13 PM, Yves Renard <address@hidden> 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 themhappily 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 thenI have to conditionally provide code for the case C++11 is not enabled, then I have to sometimesre-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:
KostasBest regardsIs there any practical issue that I am forgetting here?conditionals for features that depend on C++11.#endifWithin getfem we just need to useEven with gcc one can still enable c++11 by adding the appropriate CXXFLAGS at running the configure script.Dear Andriy,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.
actually the intention of my change was getfem to support C++11 by default if the compiler supports it by default.
#if __cplusplus > 199711L
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 ---------
[Prev in Thread] | Current Thread | [Next in Thread] |