[
https://issues.apache.org/jira/browse/STDCXX-983?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Travis Vitek updated STDCXX-983:
--------------------------------
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.
{noformat}
$ 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
{noformat}
was:
I'm pretty confident that the following should compile and run without failure.
It abbends with SIGABRT with recent versions of gcc-4.3.
{{noformat}}
$ 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
{{noformat}}
Fix formatting.
> [Linux/gcc] 20.meta.unary.prop.cpp fails is_pod assertions
> ----------------------------------------------------------
>
> Key: STDCXX-983
> URL: https://issues.apache.org/jira/browse/STDCXX-983
> Project: C++ Standard Library
> Issue Type: Bug
> Components: TR1.4 - Metaprogramming and Type Traits
> Affects Versions: 4.3
> Environment: gcc-4.3
> Reporter: Travis Vitek
> Fix For: 4.3
>
>
> I'm pretty confident that the following should compile and run without
> failure. It abbends with SIGABRT with recent versions of gcc-4.3.
> {noformat}
> $ 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
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.