gcc bug relating to __declspec(dllimport)?

geoff schmidt gschmidt@mit.edu
Wed Nov 17 02:26:00 GMT 1999


Hi!

With gcc 2.95.2 targeting mingw32 from linux, this code:

/*--- xyz.cpp ---------------------------------------------------------------*/
#include "xyz.h"

#pragma implementation "foo"
#pragma interface "foo"

class two: public one {};

/*--- xyz.h -----------------------------------------------------------------*/
#pragma interface "bar"

class __declspec(dllimport) one {
 public:
  // virtual ~one(void); // see note
  virtual void func(void);
} ;

/*---------------------------------------------------------------------------*/

gets me:

$ gcc xyz.cpp
xyz.cpp:6: Internal compiler error, output_operand_lossage `invalid
expression as operand'

If I use -fno-rtti, I have to uncomment the virtual destructor to get
the same behavior.

I know that this error message has come up on the list before, but I'm
pretty sure that this instance is an actual bug and not a result of
trying to do things that are impossible with imported DLL data -- 
because the above code is a snippet from the wxWindows cross-platform
GUI library, which compiles happily under several different windows
compilers.  Or am I missing something obvious?

Am I doing something wrong?  Is there a way to work around this?  If
it's a bug, I'd be willing to take a stab at a patch if someone can
point me in the right direction.

thanks very much,

geoff schmidt
gschmidt@mit.edu

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com



More information about the Cygwin mailing list