This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/77686] [6/7 Regression] wrong code on arm-linux-gnueabi and arm-linux-gnueabihf
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 27 Sep 2016 09:16:58 +0000
- Subject: [Bug libstdc++/77686] [6/7 Regression] wrong code on arm-linux-gnueabi and arm-linux-gnueabihf
- Auto-submitted: auto-generated
- References: <bug-77686-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77686
--- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> ---
Index: libstdc++-v3/include/std/functional
===================================================================
--- libstdc++-v3/include/std/functional (revision 240521)
+++ libstdc++-v3/include/std/functional (working copy)
@@ -1418,7 +1418,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, t
_Nocopy_types _M_unused;
char _M_pod_data[sizeof(_Nocopy_types)];
- };
+ } __attribute__((may_alias));
enum _Manager_operation
{
fixes this testcase. As std::swap takes reference args I suppose it should
reliably work to prevent the issue.