[Bug c++/82763] std::is_pod works incorrectly with volatile

2017-10-29 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82763

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #7 from Jonathan Wakely  ---
Yes I think it's a dup. That issue also has a reference to the core issue that
affects this trait.

*** This bug has been marked as a duplicate of bug 66268 ***

[Bug c++/82763] std::is_pod works incorrectly with volatile

2017-10-28 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82763

--- Comment #6 from Andrew Pinski  ---
Are we sure this is a non pod due to volatile with packed?  Does removing the
packed attribute still cause GCC to think the MyTimeDate is a non-pod?

[Bug c++/82763] std::is_pod works incorrectly with volatile

2017-10-28 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82763

--- Comment #5 from Paolo Carlini  ---
Is this an exact Dup of PR66268?

[Bug c++/82763] std::is_pod works incorrectly with volatile

2017-10-28 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82763

--- Comment #4 from Paolo Carlini  ---
I think that the underlying issue is that in the front-end the code
implementing the traits, in particular, say, trivial_type_p, isn't directly
used elsewhere (should double check this, but I'm pretty sure), thus an issue
like this one may show up in the library first, which seems a bit weird, at
first. Conversely, it would be very interesting if we had a pure C++ testcase
on which the front-end misbehaves exactly because it has the wrong concept of
POD-ness wrt volatile. Do we have one?

[Bug c++/82763] std::is_pod works incorrectly with volatile

2017-10-28 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82763

--- Comment #3 from Paolo Carlini  ---
Uhm, then I understand nobody raised a library issue so far? Of course our use
of __is_pos is just an implementation detail. Weird.

[Bug c++/82763] std::is_pod works incorrectly with volatile

2017-10-28 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82763

Jonathan Wakely  changed:

   What|Removed |Added

  Component|libstdc++   |c++

--- Comment #2 from Jonathan Wakely  ---
Not really a library issue, since we just use the compiler intrinsic:

  template
struct is_pod
: public integral_constant
{ };