I stumbled over a possible bug in g++ (at least it told me to file a bug report). I'm not exactly sure if the code I tried to compile is correct.
~/bug > g++ -v -save-temps -I/usr/local/include gpp_bug.cpp Using built-in specs. Configured with: FreeBSD/i386 system compiler Thread model: posix gcc version 3.4.2 [FreeBSD] 20040728 /usr/libexec/cc1plus -E -quiet -v -I/usr/local/include -D_LONGLONG gpp_bug.cpp -o gpp_bug.ii ignoring duplicate directory "/usr/include" #include "..." search starts here: #include <...> search starts here: /usr/local/include /usr/include/c++/3.4 /usr/include/c++/3.4/backward /usr/include End of search list. /usr/libexec/cc1plus -fpreprocessed gpp_bug.ii -quiet -dumpbase gpp_bug.cpp -auxbase gpp_bug -version -o gpp_bug.s GNU C++ version 3.4.2 [FreeBSD] 20040728 (i386-fbsdproj-freebsd) compiled by GNU C version 3.4.2 [FreeBSD] 20040728. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 g++: Internal error: Illegal instruction (program cc1plus) Please submit a full bug report. See <URL:http://gcc.gnu.org/bugs.html> for instructions. -- Summary: g++: Internal error: Illegal instruction (program cc1plus) Product: gcc Version: 3.4.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: xeon at gmx dot ch GCC host triplet: i686-freebsd 5.4-p7 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24602