From: Martin Liska Date: Thu, 18 Feb 2021 11:58:39 +0000 (+0100) Subject: Support LABEL_DECL in %qD directive. X-Git-Tag: upstream/12.2.0~8671 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=df0581a4aff45e73ba7b73df7b98ba492bdc28a8;p=platform%2Fupstream%2Fgcc.git Support LABEL_DECL in %qD directive. gcc/cp/ChangeLog: * error.c (dump_decl): Support anonymous labels. gcc/ChangeLog: * tree-cfg.c (gimple_verify_flow_info): Use qD instead of print_generic_expr. --- diff --git a/gcc/cp/error.c b/gcc/cp/error.c index ff4ae6f..c88d174 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -1362,7 +1362,10 @@ dump_decl (cxx_pretty_printer *pp, tree t, int flags) break; case LABEL_DECL: - pp_cxx_tree_identifier (pp, DECL_NAME (t)); + if (DECL_NAME (t)) + pp_cxx_tree_identifier (pp, DECL_NAME (t)); + else + dump_generic_node (pp, t, 0, TDF_SLIM, false); break; case CONST_DECL: diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 4f63aa6..f985867 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -5564,37 +5564,29 @@ gimple_verify_flow_info (void) label = gimple_label_label (as_a (stmt)); if (prev_stmt && DECL_NONLOCAL (label)) { - error ("nonlocal label "); - print_generic_expr (stderr, label); - fprintf (stderr, " is not first in a sequence of labels in bb %d", - bb->index); + error ("nonlocal label %qD is not first in a sequence " + "of labels in bb %d", label, bb->index); err = 1; } if (prev_stmt && EH_LANDING_PAD_NR (label) != 0) { - error ("EH landing pad label "); - print_generic_expr (stderr, label); - fprintf (stderr, " is not first in a sequence of labels in bb %d", - bb->index); + error ("EH landing pad label %qD is not first in a sequence " + "of labels in bb %d", label, bb->index); err = 1; } if (label_to_block (cfun, label) != bb) { - error ("label "); - print_generic_expr (stderr, label); - fprintf (stderr, " to block does not match in bb %d", - bb->index); + error ("label %qD to block does not match in bb %d", + label, bb->index); err = 1; } if (decl_function_context (label) != current_function_decl) { - error ("label "); - print_generic_expr (stderr, label); - fprintf (stderr, " has incorrect context in bb %d", - bb->index); + error ("label %qD has incorrect context in bb %d", + label, bb->index); err = 1; } } @@ -5616,9 +5608,8 @@ gimple_verify_flow_info (void) if (glabel *label_stmt = dyn_cast (stmt)) { - error ("label "); - print_generic_expr (stderr, gimple_label_label (label_stmt)); - fprintf (stderr, " in the middle of basic block %d", bb->index); + error ("label %qD in the middle of basic block %d", + gimple_label_label (label_stmt), bb->index); err = 1; } }