Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
gcc-4.3
-
Incorrect Behavior
Description
I'm pretty confident that the following should compile and run without failure. It abbends with SIGABRT with recent versions of gcc-4.3.
$ cat t.cpp && g++ t.cpp && ./a.out #include <assert.h> struct empty_t { }; struct trivial_t { long value; }; template <class T> struct public_derived_t : T { }; int main () { assert (__is_pod(trivial_t)); assert (__is_pod(public_derived_t<trivial_t>)); assert (__is_pod(empty_t)); assert (__is_pod(public_derived_t<empty_t>)); return 0; } a.out: t.cpp:20: int main(): Assertion `__is_pod(public_derived_t<trivial_t>)' failed. Aborted