libstdc++/77686 use may_alias for std::function storage
authorJonathan Wakely <jwakely@redhat.com>
Wed, 28 Sep 2016 10:57:46 +0000 (11:57 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 28 Sep 2016 10:57:46 +0000 (11:57 +0100)
PR libstdc++/77686
* include/std/functional (_Any_data): Add may_alias attribute.

From-SVN: r240567

libstdc++-v3/ChangeLog
libstdc++-v3/include/std/functional

index 69ec081cd0c4f2f99128e7cabf985bb440278fcd..8c11aad83e1c539bc769b244232518c2f38314dd 100644 (file)
@@ -1,3 +1,8 @@
+2016-09-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/77686
+       * include/std/functional (_Any_data): Add may_alias attribute.
+
 2016-09-27  Jonathan Wakely  <jwakely@redhat.com>
 
        * doc/xml/manual/status_cxx2017.xml: Update status.
index 8b2389c7250a4c0cae11c083d5955831a8a5ff0a..74e65c7b96fa7b5bf0985db4282b85fda502f87e 100644 (file)
@@ -1401,7 +1401,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
     void (_Undefined_class::*_M_member_pointer)();
   };
 
-  union _Any_data
+  union [[gnu::may_alias]] _Any_data
   {
     void*       _M_access()       { return &_M_pod_data[0]; }
     const void* _M_access() const { return &_M_pod_data[0]; }