This is the mail archive of the cygwin@sourceware.cygnus.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]

gcc bug relating to __declspec(dllimport)?


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


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