aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgloop.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cfgloop.c')
-rw-r--r--gcc/cfgloop.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/gcc/cfgloop.c b/gcc/cfgloop.c
index e115de6..f64326b 100644
--- a/gcc/cfgloop.c
+++ b/gcc/cfgloop.c
@@ -1363,6 +1363,15 @@ cancel_loop_tree (struct loop *loop)
cancel_loop (loop);
}
+/* Disable warnings about missing quoting in GCC diagnostics for
+ the verification errors. Their format strings don't follow GCC
+ diagnostic conventions and the calls are ultimately followed by
+ a deliberate ICE triggered by a failed assertion. */
+#if __GNUC__ >= 10
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wformat-diag"
+#endif
+
/* Checks that information about loops is correct
-- sizes of loops are all right
-- results of get_loop_body really belong to the loop
@@ -1677,7 +1686,7 @@ verify_loop_structure (void)
if (eloops != 0)
{
- error ("wrong list of exited loops for edge %d->%d",
+ error ("wrong list of exited loops for edge %d->%d",
e->src->index, e->dest->index);
err = 1;
}
@@ -1712,6 +1721,10 @@ verify_loop_structure (void)
free_dominance_info (CDI_DOMINATORS);
}
+#if __GNUC__ >= 10
+# pragma GCC diagnostic pop
+#endif
+
/* Returns latch edge of LOOP. */
edge
loop_latch_edge (const struct loop *loop)