diff options
author | Nathan Froyd <froydnj@codesourcery.com> | 2011-05-06 03:47:57 +0000 |
---|---|---|
committer | Nathan Froyd <froydnj@gcc.gnu.org> | 2011-05-06 03:47:57 +0000 |
commit | 3d528853ba1106b3cbd6eca4316ab2825416b9a6 (patch) | |
tree | 039393d181bb08f19b86318385c11bae2f698e2d /gcc/java | |
parent | d7d058c58a02241c63e6c3cc0099bc5d7f68a153 (diff) | |
download | gcc-3d528853ba1106b3cbd6eca4316ab2825416b9a6.zip gcc-3d528853ba1106b3cbd6eca4316ab2825416b9a6.tar.gz gcc-3d528853ba1106b3cbd6eca4316ab2825416b9a6.tar.bz2 |
generalize build_case_label to the rest of the compiler
generalize build_case_label to the rest of the compiler
gcc/ada/
* gcc-interface/trans.c (Case_Statement_to_gnu): Call
build_case_label.
gcc/
* except.c (sjlj_emit_dispatch_table): Call build_case_label.
* gimplify.c (gimplify_switch_expr): Likewise.
* omp-low.c (expand_omp_sections): Likewise.
* tree-eh.c (lower_try_finally_switch): Likewise.
(lower_eh_dispatch): Likewise.
* tree.h (build_case_label): Declare.
* tree.c (build_case_label): Define.
gcc/c-family/
* c-common.c (c_add_case_label): Omit the loc argument to
build_case_label.
* c-common.h (build_case_label): Remove.
* c-semantics.c (build_case_label): Remove.
gcc/cp/
* decl.c (finish_case_label): Omit the loc argument to
build_case_label.
gcc/fortran/
* trans-decl.c (gfc_trans_entry_master_switch): Call build_case_label.
* trans-io.c (add_case): Likewise.
* trans-stmt.c (gfc_trans_integer_select): Likewise.
(gfc_trans_character_select): Likewise.
gcc/go/
* go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
gcc/java/
* expr.c (expand_java_switch): Call build_case_label.
(expand_java_add_case): Likewise.
From-SVN: r173467
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/java/expr.c | 8 |
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index da52f91..7dea6e4 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2011-05-05 Nathan Froyd <froydnj@codesourcery.com> + + * expr.c (expand_java_switch): Call build_case_label. + (expand_java_add_case): Likewise. + 2011-04-29 Richard Guenther <rguenther@suse.de> PR middle-end/48819 diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 53feab5..3be1cff 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -1874,8 +1874,8 @@ expand_java_switch (tree selector, int default_pc) NULL_TREE, NULL_TREE); java_add_stmt (switch_expr); - x = build3 (CASE_LABEL_EXPR, void_type_node, NULL_TREE, NULL_TREE, - create_artificial_label (input_location)); + x = build_case_label (NULL_TREE, NULL_TREE, + create_artificial_label (input_location)); append_to_statement_list (x, &SWITCH_BODY (switch_expr)); x = build1 (GOTO_EXPR, void_type_node, lookup_label (default_pc)); @@ -1891,8 +1891,8 @@ expand_java_add_case (tree switch_expr, int match, int target_pc) value = build_int_cst (TREE_TYPE (switch_expr), match); - x = build3 (CASE_LABEL_EXPR, void_type_node, value, NULL_TREE, - create_artificial_label (input_location)); + x = build_case_label (value, NULL_TREE, + create_artificial_label (input_location)); append_to_statement_list (x, &SWITCH_BODY (switch_expr)); x = build1 (GOTO_EXPR, void_type_node, lookup_label (target_pc)); |