[GCC-XML] ICE from current GCC-XML

Brad King brad.king at kitware.com
Wed Apr 22 17:42:26 EDT 2009


Patrick Hartling wrote:
> I am trying to get GCC-XML to be able to process a large C++ code base on
> Windows. Things work very well on Linux and Mac OS X, but on Windows, I get
> an internal compiler error. I have built GCC-XML from the CVS HEAD sources
> as of yesterday, and I am using it to emulate Visual C++ 9.0 SP1. The error
> output is attached, and the preprocessed source can be found here:
> 
>    http://www.infiscape.com/misc/output.cpp.bz2
> 
> Are there any tips for debugging something like this?

Thanks for the preprocessed file.  I did a binary search through it,
incrementally truncating the second half of the remaining region.
Here is a minimal case to reproduce the ICE:

   class A {};
   struct __attribute__((dllimport)) B: virtual public A { ~B() {} };

It only happens on windows.  It has something to do with the dllimport
attribute, virtual inheritance, and the destructor.  I'll investigate
further when I get a chance.

In your file, 'B' is really LogOStream, and 'A' is std::ostream (which
is what actually does the virtual inheritance from something else).

> In addition to the ICE, I am getting some unexpected errors about there not
> being an overload of operator<< for the std::setbase() case. I do not know
> if that is strictly a problem, but if there is a way to fix that, too, that
> would be great.

I'll look at this if it still happens after fixing the first issue.

-Brad




More information about the gccxml mailing list