aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-family
diff options
context:
space:
mode:
authorNathan Froyd <froydnj@codesourcery.com>2011-05-06 03:47:57 +0000
committerNathan Froyd <froydnj@gcc.gnu.org>2011-05-06 03:47:57 +0000
commit3d528853ba1106b3cbd6eca4316ab2825416b9a6 (patch)
tree039393d181bb08f19b86318385c11bae2f698e2d /gcc/c-family
parentd7d058c58a02241c63e6c3cc0099bc5d7f68a153 (diff)
downloadgcc-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/c-family')
-rw-r--r--gcc/c-family/ChangeLog7
-rw-r--r--gcc/c-family/c-common.c2
-rw-r--r--gcc/c-family/c-common.h1
-rw-r--r--gcc/c-family/c-semantics.c9
4 files changed, 8 insertions, 11 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index d3edc6c..9fa7e29 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,10 @@
+2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * 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.
+
2011-05-05 Joseph Myers <joseph@codesourcery.com>
* c-objc.h (objc_start_method_definition): Update prototype.
diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c
index 207f77b..41cb717 100644
--- a/gcc/c-family/c-common.c
+++ b/gcc/c-family/c-common.c
@@ -5327,7 +5327,7 @@ c_add_case_label (location_t loc, splay_tree cases, tree cond, tree orig_type,
}
/* Add a CASE_LABEL to the statement-tree. */
- case_label = add_stmt (build_case_label (loc, low_value, high_value, label));
+ case_label = add_stmt (build_case_label (low_value, high_value, label));
/* Register this case label in the splay tree. */
splay_tree_insert (cases,
(splay_tree_key) low_value,
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index ad6da6b..420b877 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -831,7 +831,6 @@ extern void warn_for_omitted_condop (location_t, tree);
extern tree do_case (location_t, tree, tree);
extern tree build_stmt (location_t, enum tree_code, ...);
-extern tree build_case_label (location_t, tree, tree, tree);
extern tree build_real_imag_expr (location_t, enum tree_code, tree);
/* These functions must be defined by each front-end which implements
diff --git a/gcc/c-family/c-semantics.c b/gcc/c-family/c-semantics.c
index 0f9f51e..a5bd9ba 100644
--- a/gcc/c-family/c-semantics.c
+++ b/gcc/c-family/c-semantics.c
@@ -131,15 +131,6 @@ build_stmt (location_t loc, enum tree_code code, ...)
return ret;
}
-/* Create a CASE_LABEL_EXPR tree node and return it. */
-
-tree
-build_case_label (location_t loc,
- tree low_value, tree high_value, tree label_decl)
-{
- return build_stmt (loc, CASE_LABEL_EXPR, low_value, high_value, label_decl);
-}
-
/* Build a REALPART_EXPR or IMAGPART_EXPR, according to CODE, from ARG. */
tree