In a function attribute I had comma more than needed and I got an ICE. Below is a small program to demonstrate this:
Michael Cieslinski void Dummy() __attribute__(( , )); void Dummy() {} int main (int argc, char **argv) { Dummy(); return 0; } when compiled it results in an ICE: g++ -c -o bug.o bug.cpp ../../../Portabel/MetisIP/link/bug.cpp:2: error: expected `)' before ',' token ../../../Portabel/MetisIP/link/bug.cpp:2: error: expected `)' before ',' token ../../../Portabel/MetisIP/link/bug.cpp:2: internal compiler error: tree check: expected tree_list, have error_mark in lookup_attribute, at tree.c:3080 Please submit a full bug report, with preprocessed source if appropriate. g++ -v Using built-in specs. Configured with: ../gcc40/configure --prefix=/usr/local/gcc40c --program- suffix=40c --with-arch=opteron --enable-languages=c,c++ --enable-checking Thread model: posix gcc version 4.0.0 20050130 (experimental) -- Summary: ICE with additional comma in attribute Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: micis at gmx dot de CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19739