The following invalid code snippet triggers an ICE since GCC 4.1.0:
========================================
struct A { __thread register int i; };
========================================
bug.cc:1: error: multiple storage classes in declaration of 'i'
bug.cc:1: internal compiler error: tree check: expected tree that contains
'decl with RTL' structure, have 'field_decl' in grokdeclarator, at
cp/decl.c:8699
Please submit a full bug report, [etc.]
--
Summary: [4.1/4.2/4.3 regression] ICE with __thread and register
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: ice-on-invalid-code, error-recovery, monitored
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30536