aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2009-09-01 08:38:10 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2009-09-01 08:38:10 +0000
commit58f986ca91089e045b33129a6525bc0e399431e5 (patch)
tree7b75c3f77fdca843c801160365568addd7ee492a /gcc/java
parent5fa162c0d1065408634dd5df4a58407f35109b4d (diff)
downloadgcc-58f986ca91089e045b33129a6525bc0e399431e5.zip
gcc-58f986ca91089e045b33129a6525bc0e399431e5.tar.gz
gcc-58f986ca91089e045b33129a6525bc0e399431e5.tar.bz2
tree-flow.h (mark_addressable): Move declaration ...
2009-09-01 Richard Guenther <rguenther@suse.de> * tree-flow.h (mark_addressable): Move declaration ... * tree.h (mark_addressable): ... here. * stmt.c (expand_asm_operands): Use mark_addressable, not lang_hooks.mark_addressable. * langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_MARK_ADDRESSABLE. * langhooks.h (struct lang_hooks): Remove mark_addressable langhook. * c-objc-common.h (LANG_HOOKS_MARK_ADDRESSABLE): Remove. ada/ * gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove. cp/ * cp-objcp-common.h (LANG_HOOKS_MARK_ADDRESSABLE): Remove. fortran/ * f95-lang.c (gfc_mark_addressable): Remove. (LANG_HOOKS_MARK_ADDRESSABLE): Likewise. java/ * lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove. * java-tree.h (java_mark_addressable): Likewise. * typeck.c (java_mark_addressable): Likewise. From-SVN: r151260
Diffstat (limited to 'gcc/java')
-rw-r--r--gcc/java/ChangeLog6
-rw-r--r--gcc/java/java-tree.h1
-rw-r--r--gcc/java/lang.c2
-rw-r--r--gcc/java/typeck.c65
4 files changed, 6 insertions, 68 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 7c1ac22..a291dff 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,9 @@
+2009-09-01 Richard Guenther <rguenther@suse.de>
+
+ * lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
+ * java-tree.h (java_mark_addressable): Likewise.
+ * typeck.c (java_mark_addressable): Likewise.
+
2009-08-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* Make-lang.in (java.install-pdf): Install gcj.pdf in
diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h
index 3bdd75a..29027eb 100644
--- a/gcc/java/java-tree.h
+++ b/gcc/java/java-tree.h
@@ -988,7 +988,6 @@ struct GTY(()) lang_type {
struct eh_range;
extern void java_parse_file (int);
-extern bool java_mark_addressable (tree);
extern tree java_type_for_mode (enum machine_mode, int);
extern tree java_type_for_size (unsigned int, int);
extern tree java_truthvalue_conversion (tree);
diff --git a/gcc/java/lang.c b/gcc/java/lang.c
index 4b46270..109ec51 100644
--- a/gcc/java/lang.c
+++ b/gcc/java/lang.c
@@ -129,8 +129,6 @@ struct GTY(()) language_function {
#define LANG_HOOKS_POST_OPTIONS java_post_options
#undef LANG_HOOKS_PARSE_FILE
#define LANG_HOOKS_PARSE_FILE java_parse_file
-#undef LANG_HOOKS_MARK_ADDRESSABLE
-#define LANG_HOOKS_MARK_ADDRESSABLE java_mark_addressable
#undef LANG_HOOKS_DUP_LANG_SPECIFIC_DECL
#define LANG_HOOKS_DUP_LANG_SPECIFIC_DECL java_dup_lang_specific_decl
#undef LANG_HOOKS_DECL_PRINTABLE_NAME
diff --git a/gcc/java/typeck.c b/gcc/java/typeck.c
index c16976c..1024b7a 100644
--- a/gcc/java/typeck.c
+++ b/gcc/java/typeck.c
@@ -193,71 +193,6 @@ java_type_for_size (unsigned bits, int unsignedp)
return 0;
}
-/* Mark EXP saying that we need to be able to take the
- address of it; it should not be allocated in a register.
- Value is true if successful. */
-
-bool
-java_mark_addressable (tree exp)
-{
- tree x = exp;
- while (1)
- switch (TREE_CODE (x))
- {
- case ADDR_EXPR:
- case COMPONENT_REF:
- case ARRAY_REF:
- case REALPART_EXPR:
- case IMAGPART_EXPR:
- x = TREE_OPERAND (x, 0);
- break;
-
- case TRUTH_ANDIF_EXPR:
- case TRUTH_ORIF_EXPR:
- case COMPOUND_EXPR:
- x = TREE_OPERAND (x, 1);
- break;
-
- case COND_EXPR:
- return java_mark_addressable (TREE_OPERAND (x, 1))
- && java_mark_addressable (TREE_OPERAND (x, 2));
-
- case CONSTRUCTOR:
- TREE_ADDRESSABLE (x) = 1;
- return true;
-
- case INDIRECT_REF:
- /* We sometimes add a cast *(TYPE*)&FOO to handle type and mode
- incompatibility problems. Handle this case by marking FOO. */
- if (TREE_CODE (TREE_OPERAND (x, 0)) == NOP_EXPR
- && TREE_CODE (TREE_OPERAND (TREE_OPERAND (x, 0), 0)) == ADDR_EXPR)
- {
- x = TREE_OPERAND (TREE_OPERAND (x, 0), 0);
- break;
- }
- if (TREE_CODE (TREE_OPERAND (x, 0)) == ADDR_EXPR)
- {
- x = TREE_OPERAND (x, 0);
- break;
- }
- return true;
-
- case VAR_DECL:
- case CONST_DECL:
- case PARM_DECL:
- case RESULT_DECL:
- case FUNCTION_DECL:
- TREE_ADDRESSABLE (x) = 1;
-#if 0 /* poplevel deals with this now. */
- if (DECL_CONTEXT (x) == 0)
- TREE_ADDRESSABLE (DECL_ASSEMBLER_NAME (x)) = 1;
-#endif
- /* drops through */
- default:
- return true;
- }
-}
-
/* Thorough checking of the arrayness of TYPE. */
int