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

Reply via email to