diff options
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 | 16 |
4 files changed, 17 insertions, 8 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 269bdc2..8b5ef4e 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,5 +1,11 @@ 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk> + * java-tree.h (java_mark_addressable): New. + * lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine. + * typeck.c (mark_addressable): Rename, update. + +2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk> + * expr.c (build_java_binop): Update. * java-tree.h (java_signed_type, java_unsigned_type, java_signed_or_unsigned_type): Update. diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h index 4a55281..ae26b61 100644 --- a/gcc/java/java-tree.h +++ b/gcc/java/java-tree.h @@ -1039,6 +1039,7 @@ struct lang_type extern void java_set_yydebug PARAMS ((int)); extern void java_parse_file PARAMS ((void)); extern void java_mark_tree PARAMS ((tree)); +extern bool java_mark_addressable PARAMS ((tree)); extern tree java_type_for_mode PARAMS ((enum machine_mode, int)); extern tree java_type_for_size PARAMS ((unsigned int, int)); extern tree java_unsigned_type PARAMS ((tree)); diff --git a/gcc/java/lang.c b/gcc/java/lang.c index 05b5ced..53e11be 100644 --- a/gcc/java/lang.c +++ b/gcc/java/lang.c @@ -229,6 +229,8 @@ static int dependency_tracking = 0; #define LANG_HOOKS_PARSE_FILE java_parse_file #undef LANG_HOOKS_MARK_TREE #define LANG_HOOKS_MARK_TREE java_mark_tree +#undef LANG_HOOKS_MARK_ADDRESSABLE +#define LANG_HOOKS_MARK_ADDRESSABLE java_mark_addressable #undef LANG_HOOKS_EXPAND_EXPR #define LANG_HOOKS_EXPAND_EXPR java_expand_expr #undef LANG_HOOKS_DUP_LANG_SPECIFIC_DECL diff --git a/gcc/java/typeck.c b/gcc/java/typeck.c index 5afa5a4..108f3fb 100644 --- a/gcc/java/typeck.c +++ b/gcc/java/typeck.c @@ -263,10 +263,10 @@ java_unsigned_type (type) /* 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 1 if successful. */ + Value is true if successful. */ -int -mark_addressable (exp) +bool +java_mark_addressable (exp) tree exp; { register tree x = exp; @@ -288,12 +288,12 @@ mark_addressable (exp) break; case COND_EXPR: - return mark_addressable (TREE_OPERAND (x, 1)) - & mark_addressable (TREE_OPERAND (x, 2)); + return java_mark_addressable (TREE_OPERAND (x, 1)) + && java_mark_addressable (TREE_OPERAND (x, 2)); case CONSTRUCTOR: TREE_ADDRESSABLE (x) = 1; - return 1; + return true; case INDIRECT_REF: /* We sometimes add a cast *(TYPE*)&FOO to handle type and mode @@ -309,7 +309,7 @@ mark_addressable (exp) x = TREE_OPERAND (x, 0); break; } - return 1; + return true; case VAR_DECL: case CONST_DECL: @@ -323,7 +323,7 @@ mark_addressable (exp) #endif /* drops through */ default: - return 1; + return true; } } |