Although debug markers are more useful when bind stmts are placed
among them, there is value in keeping them even when VTA limits are
exceeded.
for gcc/ChangeLog
PR debug/83422
* var-tracking.c (vt_debug_insns_local): Do not drop markers.
(variable_tracking_main_1): Keep markers even when VTA fails.
for gcc/testsuite/ChangeLog
PR debug/83422
* gcc.dg/pr83422.c: New.
From-SVN: r255834
2017-12-19 Alexandre Oliva <aoliva@redhat.com>
+ PR debug/83422
+ * var-tracking.c (vt_debug_insns_local): Do not drop markers.
+ (variable_tracking_main_1): Keep markers even when VTA fails.
+
PR bootstrap/83396
* cfgexpand.c (expand_gimple_basic_block): Expand label first,
even if there are markers before it.
+2017-12-19 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/83422
+ * gcc.dg/pr83422.c: New.
+
2017-12-19 Jakub Jelinek <jakub@redhat.com>
PR testsuite/83454
--- /dev/null
+/* PR debug/83422 */
+/* { dg-do compile } */
+/* { dg-options "-O -g --param=max-vartrack-size=1" } */
+
+int
+foo(int i, int j, int k)
+{
+ return i + j + k;
+}
handled as well.. */
static void
-vt_debug_insns_local (bool skipped)
+vt_debug_insns_local (bool skipped ATTRIBUTE_UNUSED)
{
- /* ??? Just skip it all for now. If we skipped the global pass,
- arrange for stmt markers to be dropped as well. */
- if (skipped)
- cfun->debug_nonbind_markers = 0;
+ /* ??? Just skip it all for now. */
delete_vta_debug_insns ();
}
{
vt_finalize ();
- cfun->debug_nonbind_markers = 0;
-
delete_vta_debug_insns ();
/* This is later restored by our caller. */