On r157245 (and former revisions) this testcase will abort: # cat ispod.cc struct strPOD { const char *const foo; const char *const bar; }; extern "C" void abort (void); int main () { if (!__is_pod (strPOD)) abort (); return 0; }
This manifests itself in blocxx not compiling with gcc 4.5 (due to its use of tr1::is_pod<> implemented in terms of above). It still works with a random gcc 4.3 version. -- Summary: __is_pod seems broken Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: matz at gcc dot gnu dot org GCC host triplet: x86_64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43333