[tree-ssa]: Invalid GIMPLE generated by C++ front end

Daniel Berlin dberlin@dberlin.org
Wed Aug 13 23:36:00 GMT 2003


On Wednesday, August 13, 2003, at 4:52 PM, Jason Merrill wrote:

> On Wed, 13 Aug 2003 15:53:41 -0400, Daniel Berlin  
> <dberlin@dberlin.org> wrote:
>
>> I've been seeing expressions like  T.2 = (char * const &)&<UVbbd0>
>> generated by the C++ FE lately (compiling string-inst.cc on darwin,  
>> for
>> instance).
>>
>> Are these actually valid GIMPLE?
>
> No.  I ran into a similar crash recently; the problem turned out to be  
> with
> the inliner inserting nops during &* elimination.  I've attached a  
> patch
> below.  Does it fix your bug?

No dice.
/Users/dberlin/gcc/build/gcc/xgcc -shared-libgcc  
-B/Users/dberlin/gcc/build/gcc/ -nostdinc++  
-L/Users/dberlin/gcc/build/powerpc-apple-darwin7.0.0b1/soft-float/ 
libstdc++-v3/src  
-L/Users/dberlin/gcc/build/powerpc-apple-darwin7.0.0b1/soft-float/ 
libstdc++-v3/src/.libs -B/usr/local/powerpc-apple-darwin7.0.0b1/bin/  
-B/usr/local/powerpc-apple-darwin7.0.0b1/lib/ -isystem  
/usr/local/powerpc-apple-darwin7.0.0b1/include -isystem  
/usr/local/powerpc-apple-darwin7.0.0b1/sys-include -msoft-float  
-nostdinc++  
-I/Users/dberlin/gcc/build/powerpc-apple-darwin7.0.0b1/soft-float/ 
libstdc++-v3/include/powerpc-apple-darwin7.0.0b1  
-I/Users/dberlin/gcc/build/powerpc-apple-darwin7.0.0b1/soft-float/ 
libstdc++-v3/include -I../../../../../libstdc++-v3/libsupc++  
-I../../../../../libstdc++-v3/libmath -g -fno-strict-aliasing -O2  
-save-temps -msoft-float -fno-implicit-templates -Wall -Wno-format -W  
-Wwrite-strings -fdiagnostics-show-location=once -c  
../../../../../libstdc++-v3/src/locale-inst.cc -o locale-inst.o
/Users/dberlin/gcc/build/powerpc-apple-darwin7.0.0b1/soft-float/ 
libstdc++-v3/include/bits/locale_facets.tcc: In
    member function `_InIter std::money_get<_CharT,  
_InIter>::do_get(_InIter,
    _InIter, bool, std::ios_base&, std::_Ios_Iostate&, long double&)  
const [with
    _CharT = char, _InIter = std::istreambuf_iterator<char,
    std::char_traits<char> >]':
../../../../../libstdc++-v3/src/locale-inst.cc:47:   instantiated from  
here
/Users/dberlin/gcc/build/powerpc-apple-darwin7.0.0b1/soft-float/ 
libstdc++-v3/include/bits/locale_facets.tcc:656: internal compiler  
error: in
    copy_body_r, at tree-inline.c:472



More information about the Gcc mailing list