This is the mail archive of the cygwin-apps@cygwin.com 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 <cgf@redhat.com> wrote: > On Fri, Sep 21, 2001
at 12:49:50PM +1000, Danny Smith wrote:
> >Joseph's patch is here:
> >http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00774.html
> >
> >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:http://www.gnu.org/software/gcc/bugs.html> 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 },
 #ifdef TARGET_DLLIMPORT_DECL_ATTRIBUTES
-  { "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 },
 #endif
   { NULL,        0, 0, false, false, false, NULL }  






http://travel.yahoo.com.au - 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]