mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-16 07:50:27 +08:00
[C++] Protect call to copy_attributes_to_builtin (PR91505)
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. From-SVN: r274799
This commit is contained in:
parent
d6dea10acf
commit
077eb7af6e
@ -1,3 +1,9 @@
|
||||
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.
|
||||
|
@ -2565,9 +2565,9 @@ duplicate_decls (tree newdecl, tree olddecl, bool newdecl_is_friend)
|
||||
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
|
||||
|
@ -1,3 +1,8 @@
|
||||
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
|
||||
|
4
gcc/testsuite/g++.target/i386/crc32-4.C
Normal file
4
gcc/testsuite/g++.target/i386/crc32-4.C
Normal file
@ -0,0 +1,4 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2 -mavx2" } */
|
||||
|
||||
#include "../../gcc.target/i386/crc32-4.c"
|
Loading…
x
Reference in New Issue
Block a user