diff options
author | Jason Merrill <jason@redhat.com> | 2002-09-22 17:38:24 +0000 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2002-09-22 17:38:24 +0000 |
commit | d0c55a36117c3e4ec3565d7592ad3852a8d39c91 (patch) | |
tree | 24096cea1f375a02eb6787c2cd94880650608402 | |
parent | 13c7e0c4df57de8e3c02d1fceda9c99014744580 (diff) |
don't wrap a LABEL_EXPR in a wfl.bnw-simple-branch
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/bnw-simple-branch@57409 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/c-simplify.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/c-simplify.c b/gcc/c-simplify.c index c7c327b0344..2a9d4bfa009 100644 --- a/gcc/c-simplify.c +++ b/gcc/c-simplify.c @@ -289,7 +289,11 @@ wrap_with_wfl (stmt_p) /* Put the line note inside the loop, for the benefit of debugging and gcov. */ stmt_p = &LOOP_EXPR_BODY (*stmt_p); - if (TREE_CODE (*stmt_p) != EXPR_WITH_FILE_LOCATION) + if (TREE_CODE (*stmt_p) == LABEL_EXPR) + /* Don't emit a line note for a label. We particularly don't want to + emit one for the break label, since it doesn't actually correspond + to the beginning of the loop/switch. */; + else if (TREE_CODE (*stmt_p) != EXPR_WITH_FILE_LOCATION) { *stmt_p = build_expr_wfl (*stmt_p, wfl_filename, wfl_lineno, 0); EXPR_WFL_EMIT_LINE_NOTE (*stmt_p) = 1; @@ -616,6 +620,7 @@ begin_bc_block (bc) enum bc_t bc; { tree label = build_decl (LABEL_DECL, ctxp->bc_id[bc], NULL_TREE); + DECL_ARTIFICIAL (label) = 1; DECL_CONTEXT (label) = current_function_decl; TREE_CHAIN (label) = ctxp->current_bc_label; ctxp->current_bc_label = label; |