copy_attributes_to_builtin only handles BUILT_IN_NORMAL, but C++ was
calling it immediately after the:
if (DECL_BUILT_IN_CLASS (newdecl) == BUILT_IN_NORMAL)
block. The corresponding C code calls it inside the block instead.
2019-08-21 Richard Sandiford <richard.sandiford@arm.com>
gcc/cp/
PR c++/91505
* decl.c (duplicate_decls): Call copy_attributes_to_builtin inside
the BUILT_IN_NORMAL block rather than afterward.
gcc/testsuite/
PR c++/91505
* g++.target/i386/crc32-4.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@274799
138bc75d-0d04-0410-961f-
82ee72b054a4
+2019-08-21 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR c++/91505
+ * decl.c (duplicate_decls): Call copy_attributes_to_builtin inside
+ the BUILT_IN_NORMAL block rather than afterward.
+
2019-08-19 Marek Polacek <polacek@redhat.com>
PR c++/91264 - detect modifying const objects in constexpr.
set_builtin_decl_declared_p (fncode, true);
break;
}
- }
- copy_attributes_to_builtin (newdecl);
+ copy_attributes_to_builtin (newdecl);
+ }
}
if (new_defines_function)
/* If defining a function declared with other language
+2019-08-21 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR c++/91505
+ * g++.target/i386/crc32-4.C: New test.
+
2019-08-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/91482
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O2 -mavx2" } */
+
+#include "../../gcc.target/i386/crc32-4.c"