On Thu, Jul 07, 2016 at 04:16:26PM +0200, Kornel Benko wrote: > Am Donnerstag, 7. Juli 2016 um 15:45:52, schrieb Enrico Forestieri > <for...@lyx.org> > > On Thu, Jul 07, 2016 at 02:15:33PM +0200, Jean-Marc Lasgouttes wrote: > > > Le 06/07/2016 à 21:52, Enrico Forestieri a écrit : > > > >>Enrico, could you provide a short snippet of code that will not compile > > > >>under cygwin with -std=c++11 ? I understand that it will be about > > > >>functions > > > >>like popen and friends, but I'd rather let you propose something. > > > > > > > >Yes, it complains also about setenv, unsetenv, readlink, lockf, etc. > > > >However, adding -D_GNU_SOURCE to CPPFLAGS it compiles fine. > > > >BTW, it now uses -std=c++14. > > > > > > So, what should we do wrt cygwin in your opinion? My idea was to add some > > > test code that would make cygwin break with stdc++14, but not gnu++14, > > > like > > > > > > #include <cstdio> > > > popen("aaa", "r"); > > > > Note that the problem with popen and friends seems to be a visibility > > one only. Using -std=c++xx simply makes them not visible. However they > > are visible again using -D_GNU_SOURCE and I didn't see any ill effect > > after that. So, I suggest to simply apply the attached patch. > > > > Are you sure, that if defined __CYGWIN__, we really use a gnu compiler?
Yes. But I just checked that -D_DEFAULT_SOURCE suffices. That essentially means _POSIX_C_SOURCE=200809L so that no gnu extensions are enabled. -- Enrico