aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2017-11-28 09:43:32 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2017-11-28 09:43:32 +0100
commit9e851845f6bcd7c13f3d42c13cd2f1c0e87f68cc (patch)
tree64d90923bdd9deb69efa042cc7ae54b08df598bf /gcc/cp
parent11c1e63c90eb3540da0b7524a2d7571916102dfe (diff)
downloadgcc-9e851845f6bcd7c13f3d42c13cd2f1c0e87f68cc.zip
gcc-9e851845f6bcd7c13f3d42c13cd2f1c0e87f68cc.tar.gz
gcc-9e851845f6bcd7c13f3d42c13cd2f1c0e87f68cc.tar.bz2
tree.def (SWITCH_EXPR): Change from 3 operand to 2 operand tree.
* tree.def (SWITCH_EXPR): Change from 3 operand to 2 operand tree. Adjust comment. * tree.h (SWITCH_LABELS): Remove. * gimplify.c (gimplify_switch_expr): Don't test SWITCH_LABELS, assert SWITCH_BODY is non-NULL. * tree-pretty-print.c (dump_generic_node): Remove SWITCH_LABELS handling. * tree.c (block_may_fallthru): Always return true; for SWITCH_EXPR. c/ * c-typeck.c (c_start_case): Build SWITCH_EXPR using build2 instead of build3. cp/ * cp-gimplify.c (genericize_switch_stmt): Build SWITCH_EXPR using build2_loc instead of build3_loc. ada/ * gcc-interface/trans.c (Case_Statement_to_gnu): Build SWITCH_EXPR using build2 instead of build3. jit/ * jit-playback.c (add_switch): Build SWITCH_EXPR using build2 instead of build3. Formatting fixes. Adjust funciton comment. fortran/ * trans-decl.c (gfc_trans_entry_master_switch): Build SWITCH_EXPR using fold_build2_loc instead of fold_build3_loc. * trans-io.c (io_result): Likewise. * trans-stmt.c (gfc_trans_integer_select, gfc_trans_character_select): Likewise. go/ * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR using build2_loc instead of build3_loc. brig/ * brigfrontend/brig-branch-inst-handler.cc (brig_branch_inst_handler::operator): Build SWITCH_EXPR using build2 instead of build3. From-SVN: r255192
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/cp-gimplify.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 0f91df7..13fe545 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2017-11-28 Jakub Jelinek <jakub@redhat.com>
+
+ * cp-gimplify.c (genericize_switch_stmt): Build SWITCH_EXPR using
+ build2_loc instead of build3_loc.
+
2017-11-27 Martin Sebor <msebor@redhat.com>
PR c++/83058
diff --git a/gcc/cp/cp-gimplify.c b/gcc/cp/cp-gimplify.c
index 734b156..f50aff7 100644
--- a/gcc/cp/cp-gimplify.c
+++ b/gcc/cp/cp-gimplify.c
@@ -332,7 +332,7 @@ genericize_switch_stmt (tree *stmt_p, int *walk_subtrees, void *data)
cp_walk_tree (&type, cp_genericize_r, data, NULL);
*walk_subtrees = 0;
- *stmt_p = build3_loc (stmt_locus, SWITCH_EXPR, type, cond, body, NULL_TREE);
+ *stmt_p = build2_loc (stmt_locus, SWITCH_EXPR, type, cond, body);
finish_bc_block (stmt_p, bc_break, break_block);
}