[Bug c++/58074] [C++11] __is_trivial intrinsic fails for deleted members and for non-trivial copy-c'tors

2015-07-09 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58074

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||jason at gcc dot gnu.org

--- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com ---
CC-ing Jason about the ABI issue.


[Bug c++/58074] [C++11] __is_trivial intrinsic fails for deleted members and for non-trivial copy-c'tors

2015-06-09 Thread richard-gccbugzilla at metafoo dot co.uk
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58074

Richard Smith richard-gccbugzilla at metafoo dot co.uk changed:

   What|Removed |Added

 CC||richard-gccbugzilla@metafoo
   ||.co.uk

--- Comment #3 from Richard Smith richard-gccbugzilla at metafoo dot co.uk ---
This bug results in GCC failing to follow the Itanium C++ ABI when passing such
types to/from functions; see llvm.org/PR23764 for a user complaint of
cross-vendor ABI incompatibility.


[Bug c++/58074] [C++11] __is_trivial intrinsic fails for deleted members and for non-trivial copy-c'tors

2013-12-09 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58074

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-12-09
 Ever confirmed|0   |1

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com ---
In mainline we made some progress, the first static_assert passes.


[Bug c++/58074] [C++11] __is_trivial intrinsic fails for deleted members and for non-trivial copy-c'tors

2013-08-03 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58074

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com ---
... and the issue is one more level deeper, because __is_trivial just uses the
internal trivial_type_p. I mean, it should be pretty easy to construct
testcases not involving __is_trival at all but handled incorrectly: outside the
implementation of the intrinsics, the internal pod_type_p itself is,
predictably, std_layout_type_p  trivial_type_p and then anything depending on
POD-ness is sensitive.