From 58f986ca91089e045b33129a6525bc0e399431e5 Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Tue, 1 Sep 2009 08:38:10 +0000 Subject: tree-flow.h (mark_addressable): Move declaration ... 2009-09-01 Richard Guenther * 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 --- gcc/java/ChangeLog | 6 +++++ gcc/java/java-tree.h | 1 - gcc/java/lang.c | 2 -- gcc/java/typeck.c | 65 ---------------------------------------------------- 4 files changed, 6 insertions(+), 68 deletions(-) (limited to 'gcc/java') 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 + + * 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 * 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 -- cgit v1.1