[Bug c++/19622] New: [4.0 regression] ICE, dwarf2, using statement, libc functions

jan at etpmod dot phys dot tue dot nl gcc-bugzilla@gcc.gnu.org
Tue Jan 25 13:58:00 GMT 2005


The following C++ generates an ICE with today's trunk when -g is passed: 
 
extern int strlen (const char *__s) throw(); 
 
namespace std { 
    using ::strlen; 
} 
 
void foo() 
{ 
    using std::strlen; 
} 
 
jan@cliff$ g++ -g -c t.cpp 
t.cpp: In function ?void foo()?: 
t.cpp:9: internal compiler error: tree check: expected class ?declaration?, 
have ?exceptional? (@@dummy) in lookup_decl_die, at dwarf2out.c:5415 
 
Obviously, this is a reduction of a usual pattern, 
 
#include <cstring> 
void foo() 
{ 
    using std::strlen; 
} 
 
The same result is obtained when strlen is replaced by another libc-function 
like printf. If 'strlen' is replaced by anything else (like 'bar', say), 
everything is fine.

-- 
           Summary: [4.0 regression] ICE, dwarf2, using statement, libc
                    functions
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jan at etpmod dot phys dot tue dot nl
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: x86_64-suse-linux
  GCC host triplet: x86_64-suse-linux
GCC target triplet: x86_64-suse-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19622



More information about the Gcc-bugs mailing list