diff options
author | Richard Guenther <rguenther@suse.de> | 2009-09-01 08:38:10 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2009-09-01 08:38:10 +0000 |
commit | 58f986ca91089e045b33129a6525bc0e399431e5 (patch) | |
tree | 7b75c3f77fdca843c801160365568addd7ee492a /gcc/java | |
parent | 5fa162c0d1065408634dd5df4a58407f35109b4d (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/java/java-tree.h | 1 | ||||
-rw-r--r-- | gcc/java/lang.c | 2 | ||||
-rw-r--r-- | gcc/java/typeck.c | 65 |
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 |