This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Fwd: Re: [Refresh]: patch for C++ parser bug with function attributes

 --- Christopher Faylor <> wrote: > On Fri, Sep 21, 2001
at 12:49:50PM +1000, Danny Smith wrote:
> >Joseph's patch is here:
> >
> >
> >I will start on this. Any interest in backport to 3.0.1, or should I
> >just target 3.1?  I'm hoping it may solve some of the other
> attribute
> >problems (stdcall and dllimport) in C++ classes with 3.0.1. 
> Can you build the trunk version of gcc, Danny?

Yes. 3-stage bootstrap with mingw as gcc with cygwin utils. 

 I have made only a few changes.  One having to do with b**dy anonymous
unions (again) in w32api (needed for threads)
/* "The member specification of anonymous unions shall only
 define  non-static data members"  saith the Standard */
Two anon unions in w32api aren't compliant. I will clean that up and
put in w32api cvs

Another I sent to Joseph (see below).  

The rest were litle bits for libstdc++ (no SIGTRAP) or changes in
mingw32.h to override the cygwin directory specs.

I have since put in Donn Terrys native-struct patches and they seem to
work okay.  
Now (take deep breath) to attack the dll stuff .

> I can't.  I get this:
> ./xgcc -B./ -B/cygnus/i686-pc-cygwin/bin/ -isystem
> /cygnus/i686-pc-cygwin/include -S tmp-dum.c
> cc1: Tree check: expected class 't', have 'x' (error_mark) in
> i386_pe_encode_section_info, at config/i386/winnt.c:386
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <URL:> for instructions.
> This error seems to be directly related to the above patch.
> Joseph said that he'd built gcc as i386-cygwin32 (sic), so I wonder
> why
> this isn't "working for me".
> cgf 

This correction to config/i386/i386.c was needed for my bootstrap build
I think  "shared" may need fix too. 

--- i386.c.orig	Fri Sep 21 13:27:04 2001
+++ i386.c	Fri Sep 21 23:48:45 2001
@@ -989,8 +989,8 @@ const struct attribute_spec ix86_attribu
      passed in registers.  */
   { "regparm",   1, 1, false, true,  true, 
ix86_handle_regparm_attribute },
-  { "dllimport", 1, 1, false, false, false, ix86_handle_dll_attribute
-  { "dllexport", 1, 1, false, false, false, ix86_handle_dll_attribute
+  { "dllimport", 0, 0, false, false, false, ix86_handle_dll_attribute
+  { "dllexport", 0, 0, false, false, false, ix86_handle_dll_attribute
   { "shared",    1, 1, true,  false, false,
ix86_handle_shared_attribute },
   { NULL,        0, 0, false, false, false, NULL } - Yahoo! Travel
- Got Itchy feet? Get inspired!

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]