aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-data-ref.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2018-05-23 09:06:01 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2018-05-23 09:06:01 +0000
commit72cfbeae2b8dbc10e2738f5ccbe6328ac2111ddf (patch)
tree9e5838cd4a2127e1b80ca8c7f9ca6d0c9cdbb425 /gcc/tree-data-ref.c
parentad4f3f5d4eb21c886b168a092cc7e5860e3b3119 (diff)
downloadgcc-72cfbeae2b8dbc10e2738f5ccbe6328ac2111ddf.zip
gcc-72cfbeae2b8dbc10e2738f5ccbe6328ac2111ddf.tar.gz
gcc-72cfbeae2b8dbc10e2738f5ccbe6328ac2111ddf.tar.bz2
re PR middle-end/85874 (gcc points to wrong location when displaying warning for strict overflow warning)
2018-05-23 Richard Biener <rguenther@suse.de> PR middle-end/85874 * tree-data-ref.c (create_runtime_alias_checks): Defer and ignore overflow warnings. * gcc.dg/Wstrict-overflow-27.c: New testcase. From-SVN: r260569
Diffstat (limited to 'gcc/tree-data-ref.c')
-rw-r--r--gcc/tree-data-ref.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c
index e2107fe..0917d6d 100644
--- a/gcc/tree-data-ref.c
+++ b/gcc/tree-data-ref.c
@@ -1918,6 +1918,7 @@ create_runtime_alias_checks (struct loop *loop,
{
tree part_cond_expr;
+ fold_defer_overflow_warnings ();
for (size_t i = 0, s = alias_pairs->length (); i < s; ++i)
{
const dr_with_seg_len& dr_a = (*alias_pairs)[i].first;
@@ -1940,6 +1941,7 @@ create_runtime_alias_checks (struct loop *loop,
else
*cond_expr = part_cond_expr;
}
+ fold_undefer_and_ignore_overflow_warnings ();
}
/* Check if OFFSET1 and OFFSET2 (DR_OFFSETs of some data-refs) are identical