Mailing-List: contact cygwin-apps-help AT sourceware DOT cygnus DOT com; run by ezmlm Sender: cygwin-apps-owner AT sourceware DOT cygnus DOT com List-Subscribe: List-Archive: List-Post: List-Help: , Delivered-To: mailing list cygwin-apps AT sources DOT redhat DOT com Message-ID: <20010922060733.57688.qmail@web14510.mail.yahoo.com> Date: Sat, 22 Sep 2001 16:07:33 +1000 (EST) From: =?iso-8859-1?q?Danny=20Smith?= Subject: Re: Fwd: Re: [Refresh]: patch for C++ parser bug with function attributes To: cygwin-apps AT cygwin DOT com In-Reply-To: <20010921220557.A30584@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit --- Christopher Faylor 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 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!