On Oct 26 02:25, Christopher Faylor wrote: > On Sat, Oct 26, 2013 at 10:14:01AM +0400, Alexey Pavlov wrote: > >/usr/include/w32api/winnt.h:3541:20: error: previous definition of > >?struct _EXCEPTION_REGISTRATION_RECORD? > > typedef struct _EXCEPTION_REGISTRATION_RECORD { > > ^ > >In file included from /work/Cygwin/winsup/cygwin/exception.h:15:0, > > from /work/Cygwin/winsup/cygwin/cygtls.cc:20: > >/work/Cygwin/winsup/cygwin/include/exceptions.h:109:17: error: invalid > >type in declaration before ?;? token > > } exception_list; > > ^ > >/work/Cygwin/winsup/cygwin/../Makefile.common:43: recipe for target > >'cygtls.o' failed > >make[3]: *** [cygtls.o] Error 1 > > Feel free to provide patches. Simple compilation issues do not > require copyright assignment.
I applied a patch. The redefinition of _exception_list to _EXCEPTION_REGISTRATION_RECORD for x86_64 was cruft from a very early "just build, goddammit" porting stage. Later on it turned out that x86_64 doesn't use frame based exception handling anyway so all the code using _exception_list is unused on x86_64 anyway. I also changed the public header <exceptions.h> so that it only applies if !x86_64. That leads to a question: Why on earth do we have a *public* header exposing the exception handling on a certain CPU? This isn't a standard header, neither POSIX nor Linux nor BSD systems have it. If there isn't a compelling reason to keep the header, I would opt for folding the content into the private Cygwin header exception.h and drop the public header entirely. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
pgpFdjXSzgpsH.pgp
Description: PGP signature