re PR ipa/66223 (Diagnostic of pure virtual function call broken, including __cxa_pure_virtual)
PR ipa/66223 * ipa-devirt.c (maybe_record_node): Fix comment; use SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED. * g++.dg/ipa/devirt-51.C: Use -fsanitize=unreachable. From-SVN: r234762
This commit is contained in:
parent
d2aee115cc
commit
84278ed9e8
4 changed files with 14 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
|||
2016-04-05 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
PR ipa/66223
|
||||
* ipa-devirt.c (maybe_record_node): Fix comment; use
|
||||
SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED.
|
||||
|
||||
2016-04-05 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/70542
|
||||
|
|
|
@ -2438,9 +2438,9 @@ maybe_record_node (vec <cgraph_node *> &nodes,
|
|||
{
|
||||
gcc_assert (!target_node->global.inlined_to);
|
||||
gcc_assert (target_node->real_symbol_p ());
|
||||
/* When sanitizing, do not asume that cxa_pure_virutal is not called
|
||||
/* When sanitizing, do not assume that __cxa_pure_virtual is not called
|
||||
by valid program. */
|
||||
if (flag_sanitize & SANITIZE_UNDEFINED)
|
||||
if (flag_sanitize & SANITIZE_UNREACHABLE)
|
||||
;
|
||||
/* Only add pure virtual if it is the only possible target. This way
|
||||
we will preserve the diagnostics about pure virtual called in many
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2016-04-05 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
PR ipa/66223
|
||||
* g++.dg/ipa/devirt-51.C: Use -fsanitize=unreachable.
|
||||
|
||||
2016-04-05 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/70542
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
variant. Either keeping virtual call or optimizing to cxa_pure_virtual
|
||||
is fine. */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2 -fsanitize=undefined -fdump-tree-optimized" } */
|
||||
/* { dg-options "-O2 -fsanitize=unreachable -fdump-tree-optimized" } */
|
||||
namespace {
|
||||
struct B {
|
||||
B* self;
|
||||
|
|
Loading…
Add table
Reference in a new issue