On GCC 4.2.0 20060213 I've got the following: >/opt/gcc/bin/g++-4.2 -c -v -O3 -finline-limit=1200 LeveLogger.cpp -save-temps
Using built-in specs. Target: i686-pc-linux-gnu Configured with: ../gcc/configure --enable-checking --prefix=/opt/gcc --enable-shared --enable-threads --program-suffix=-4.2 --enable-__cxa_atexit --disable-nls --enable-languages=c,c++,objc,obj-c++,treelang,java Thread model: posix gcc version 4.2.0 20060213 (experimental) /opt/gcc/libexec/gcc/i686-pc-linux-gnu/4.2.0/cc1plus -E -quiet -v -D_GNU_SOURCE LeveLogger.cpp -mtune=generic -finline-limit=1200 -O3 -fpch-preprocess -o LeveLogger.ii ignoring nonexistent directory "/opt/gcc/lib/gcc/i686-pc-linux-gnu/4.2.0/../../../../i686-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /opt/gcc/lib/gcc/i686-pc-linux-gnu/4.2.0/../../../../include/c++/4.2.0 /opt/gcc/lib/gcc/i686-pc-linux-gnu/4.2.0/../../../../include/c++/4.2.0/i686-pc-linux-gnu /opt/gcc/lib/gcc/i686-pc-linux-gnu/4.2.0/../../../../include/c++/4.2.0/backward /usr/local/include /opt/gcc/include /opt/gcc/lib/gcc/i686-pc-linux-gnu/4.2.0/include /usr/include End of search list. /opt/gcc/libexec/gcc/i686-pc-linux-gnu/4.2.0/cc1plus -fpreprocessed LeveLogger.ii -quiet -dumpbase LeveLogger.cpp -mtune=generic -auxbase LeveLogger -O3 -version -finline-limit=1200 -o LeveLogger.s GNU C++ version 4.2.0 20060213 (experimental) (i686-pc-linux-gnu) compiled by GNU C version 4.2.0 20060213 (experimental). GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: ff32d9231b0fc0ef61c3a4bf775e73bf LeveLogger.cpp: In function 'LeveLogger& operator<<(LeveLogger&, char)': LeveLogger.cpp:16: error: 'bool LeveLogger::isWritable() const' is protected LeveLogger.cpp:36: error: within this context LeveLogger.cpp: At global scope: LeveLogger.cpp:51: error: inlined_to pointer is set but no predecesors found virtual LeveLogger::~LeveLogger()/576: (inline copy in void __tcf_0(void*)/520) availability:available(368) 99 insns (512 after inlining) tree externally_visible finalized inlinable called by: calls: std::basic_ofstream<_CharT, _Traits>::~basic_ofstream() [with _CharT = char, _Traits = std::char_traits<char>]/387 (inlined) std::basic_ios<_CharT, _Traits>::~basic_ios() [with _CharT = char, _Traits = std::char_traits<char>]/603 (inlined) void std::terminate()/524 std::basic_ios<_CharT, _Traits>::~basic_ios() [with _CharT = char, _Traits = std::char_traits<char>]/602 (inlined) void operator delete(void*)/531 LeveLogger.cpp:51: internal compiler error: verify_cgraph_node failed Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. Note that, as I can see, bug appears only on a wrong code (non-friend function tries to access protected method). -- Summary: verify_cgraph_node failed Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tsarkov at cs dot man dot ac dot uk GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26281