On 23 March 2018 at 15:59, Kenneth F. Cunningham wrote: > On 2018-03-23, at 1:44 AM, Mojca Miklavec wrote: >> >> Additional question for Ken: if we do (b) and keep using gcc6(?), do >> we then even need any special (buildbot) setup for C++11 builds like >> we plan to do for libc++-based builders? > > Once the 10.6 to 10.8 buildbots are configured for libc++ and default to > build with clang-5.0 as they will need to be set up to do, the cxx11 1.1 > PortGroup will basically be redundant and on it's last legs. It will fall > into disuse I believe.
I still like the convention of marking ports as "requires C++11" much more than "please blacklist gcc 3.0 and gcc 4.2". > There will be no more failed builds due to c++11, and so nobody will know if > a port would have needed to be in the c++11 port group any more. (Also our > worries about C11 specs, c++14 specs, and all similar specs will disappear > too). Yes, I'm aware that most ports will then forget to add that flag because nobody will notice when it will be missing. I would still prefer to keep it though, in one way or another. > All the compiler blacklisting and whitelisting will also reduce to a fraction > of what is currently done. > > (Once the compiler of a given OS is old enough to cause troubles, it will be > replaced with clang-5.0 as a default.) With that I agree. > For PPC, you are correct --- if a build fails, we'll blacklist *gcc-4* to > force a build with gcc6, and it'll either build, or it won't. There will be > no special c++11 handling. But you'll nevertheless end up with incompatibility between stdlibs (the one shipped by the system and the one shipped with gcc) unless you always make sure to add the magic -D_GLIBCXX_USE_CXX11_ABI=0 flag (or compile the library in a proper way). I thought that initial plan was maybe switching to stdlibc++ version 3 at some point (if we ever happen to care about that), similar to what is planned for libc++ transition. Or at least that this was your personal setup. But now that I know that the stdlibc++ library can be built in a special mode I wonder if this makes any difference? That is: would any user benefit from having C++11-enabled stdlibc++ and build *everything* with gcc6 compared to this proposal of building stdlibc++ in "_GLIBCXX_USE_CXX11_ABI=0" mode? Just curious: what should be the default supported mode for 10.5/i386 then? (My next question would be what is the main difference between building "everything" against libc++ and building everything against "_GLIBCXX_USE_CXX11_ABI=0"-mode libstdc++ on 10.6-10.8 - other than more compatible setup across wide spectrum of OSes. But I will stop before asking that question.) Mojca
