gcc3 regression, ia64-linux, dwarf2/c++ conflict
Jim Wilson
wilson@cygnus.com
Tue Apr 3 17:19:00 GMT 2001
The gcc3 branch no longer builds after one of Mark Mitchell's recent
C++ front end changes, the change to throttle C++ inlining.
< http://gcc.gnu.org/ml/gcc-patches/2001-03/msg01812.html >
The 010326 snapshot builds fine. The 010326 snapshot plus this patch does
not build. I get an abort in dwarf2out.c while building libstdc++-v3/src/
string-inst.cc. The error occurs when compiling the file with -O2 -g.
../../../../gcc/libstdc++-v3/include/bits/basic_string.tcc: In copy constructor
`std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const
std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
std::char_traits<char>, _Alloc = std::allocator<char>]':
../../../../gcc/libstdc++-v3/include/bits/basic_string.tcc:187: instantiated from `std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]'
../../../../gcc/libstdc++-v3/src/string-inst.cc:48: instantiated from here
../../../../gcc/libstdc++-v3/include/bits/basic_string.tcc:187: Internal
compiler error in add_abstract_origin_attribute, at dwarf2out.c:9234
Experimenting with this a bit, I've discovered that it fails with -O2 -g
but it does not fail with -O2 -g -fno-reorder-blocks. I don't know if that
fact is relevant or whether this is accidental.
I've also discovered that if I comment out the setting of flag_no_inline
in cp/decl.c, then the problem also goes away. I suspect this fact is
relevant. I haven't yet figured out why the value of flag_no_inline matters
though.
Jim
More information about the Gcc-bugs
mailing list