aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authorNeil Booth <neil@daikokuya.demon.co.uk>2002-04-01 20:26:18 +0000
committerNeil Booth <neil@gcc.gnu.org>2002-04-01 20:26:18 +0000
commitdffd7eb68ad26f910304f7f68fd2b25bbae71ae8 (patch)
treec7580c1e88743ac267d338426669e9cd12ea3bed /gcc/java
parent544ef5b5df52ed81deaea9123483195dbb1fa376 (diff)
downloadgcc-dffd7eb68ad26f910304f7f68fd2b25bbae71ae8.zip
gcc-dffd7eb68ad26f910304f7f68fd2b25bbae71ae8.tar.gz
gcc-dffd7eb68ad26f910304f7f68fd2b25bbae71ae8.tar.bz2
c-decl.c (grokdeclarator): Update.
* c-decl.c (grokdeclarator): Update. * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine. * c-tree.h (c_mark_addressable): New. * c-typeck.c (default_function_array_conversion, build_unary_op, build_array_ref, convert_for_assignment): Update. (mark_addressable): Rename. * calls.c (try_to_integrate, expand_call): Use langhook. * expr.c (expand_expr): Use langhook. * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update. * langhooks.h (struct lang_hooks): New hook. * stmt.c (expand_asm_operands): Use langhook. * tree.h (mark_addressable): Remove. ada: * decl.c (gnat_to_gnu_entity): Update. * gigi.h (mark_addressable): Rename. * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine. * trans.c (tree_transform): Update. * utils.c (create_var_decl): Update. * util2.c (build_binary_op, build_unary_op, fill_vms_descriptor): Update. (mark_addressable): Rename, update. cp: * call.c (build_addr_func): Update. * class.c (resolve_address_of_overloaded_function): Update. * cp-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine. * cp-tree.h (cxx_mark_addressable): New. * decl.c (register_dtor_fn, cxx_maybe_build_cleanup): Update. * decl2.c (build_cleanup): Update. * except.c (build_throw): Update. * init.c (resolve_offset_ref): Update. * pt.c (convert_nontype_argument): Update. * semantics.c (finish_asm_stmt, simplify_affr_init_exprs_r): Update. * typeck.c (decay_conversion, build_array_ref, build_unary_op, unary_complex_lvalue): Update. (mark_addressable): Rename. f: * com.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine. (mark_addressable): Rename. (ffecom_arrayref_, ffecom_1): Update. java: * java-tree.h (java_mark_addressable): New. * lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine. * typeck.c (mark_addressable): Rename, update. objc: * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine. From-SVN: r51705
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.c16
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;
}
}