From 1b4be62ad3e153d2e4eda115698cbf33fca09781 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 28 Sep 2016 11:57:46 +0100 Subject: [PATCH] libstdc++/77686 use may_alias for std::function storage PR libstdc++/77686 * include/std/functional (_Any_data): Add may_alias attribute. From-SVN: r240567 --- libstdc++-v3/ChangeLog | 5 +++++ libstdc++-v3/include/std/functional | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 69ec081cd0c..8c11aad83e1 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2016-09-28 Jonathan Wakely + + PR libstdc++/77686 + * include/std/functional (_Any_data): Add may_alias attribute. + 2016-09-27 Jonathan Wakely * doc/xml/manual/status_cxx2017.xml: Update status. diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional index 8b2389c7250..74e65c7b96f 100644 --- a/libstdc++-v3/include/std/functional +++ b/libstdc++-v3/include/std/functional @@ -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]; } -- 2.30.2