This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
gcc3 regression, ia64-linux, dwarf2/c++ conflict
- To: gcc-bugs at gcc dot gnu dot org
- Subject: gcc3 regression, ia64-linux, dwarf2/c++ conflict
- From: Jim Wilson <wilson at cygnus dot com>
- Date: Tue, 03 Apr 2001 17:19:04 -0700
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