aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
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/ada
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/ada')
-rw-r--r--gcc/ada/ChangeLog11
-rw-r--r--gcc/ada/decl.c2
-rw-r--r--gcc/ada/gigi.h4
-rw-r--r--gcc/ada/misc.c2
-rw-r--r--gcc/ada/trans.c9
-rw-r--r--gcc/ada/utils.c2
-rw-r--r--gcc/ada/utils2.c22
7 files changed, 33 insertions, 19 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 8e7367f..545940f 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,5 +1,16 @@
2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
+ * 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.
+
+2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
+
* gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
Rename.
* misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
diff --git a/gcc/ada/decl.c b/gcc/ada/decl.c
index 32cd00e..adf1d35 100644
--- a/gcc/ada/decl.c
+++ b/gcc/ada/decl.c
@@ -1055,7 +1055,7 @@ gnat_to_gnu_entity (gnat_entity, gnu_expr, definition)
if (Has_Nested_Block_With_Handler (Scope (gnat_entity))
&& Exception_Mechanism != GCC_ZCX)
{
- mark_addressable (gnu_decl);
+ gnat_mark_addressable (gnu_decl);
flush_addressof (gnu_decl);
}
diff --git a/gcc/ada/gigi.h b/gcc/ada/gigi.h
index 32fcaef..7342117 100644
--- a/gcc/ada/gigi.h
+++ b/gcc/ada/gigi.h
@@ -727,8 +727,8 @@ extern tree build_allocator PARAMS((tree, tree, tree, Entity_Id,
extern tree fill_vms_descriptor PARAMS((tree, Entity_Id));
/* Indicate that we need to make the address of EXPR_NODE and it therefore
- should not be allocated in a register. Return 1 if successful. */
-extern int mark_addressable PARAMS((tree));
+ should not be allocated in a register. Return true if successful. */
+extern bool gnat_mark_addressable PARAMS((tree));
/* These functions return the basic data type sizes and related parameters
about the target machine. */
diff --git a/gcc/ada/misc.c b/gcc/ada/misc.c
index 866afc3..520b029 100644
--- a/gcc/ada/misc.c
+++ b/gcc/ada/misc.c
@@ -114,6 +114,8 @@ static rtx gnat_expand_expr PARAMS ((tree, rtx, enum machine_mode,
#define LANG_HOOKS_GET_ALIAS_SET gnat_get_alias_set
#undef LANG_HOOKS_EXPAND_EXPR
#define LANG_HOOKS_EXPAND_EXPR gnat_expand_expr
+#undef LANG_HOOKS_MARK_ADDRESSABLE
+#define LANG_HOOKS_MARK_ADDRESSABLE gnat_mark_addressable
#undef LANG_HOOKS_PRINT_DECL
#define LANG_HOOKS_PRINT_DECL gnat_print_decl
#undef LANG_HOOKS_PRINT_TYPE
diff --git a/gcc/ada/trans.c b/gcc/ada/trans.c
index 19c7b01..371f7f2 100644
--- a/gcc/ada/trans.c
+++ b/gcc/ada/trans.c
@@ -421,7 +421,7 @@ tree_transform (gnat_node)
right now. */
if (TREE_VALUE (gnu_except_ptr_stack) != 0)
{
- mark_addressable (gnu_result);
+ gnat_mark_addressable (gnu_result);
flush_addressof (gnu_result);
}
@@ -4764,9 +4764,10 @@ convert_with_check (gnat_type, gnu_expr, overflow_p, range_p, truncate_p)
return convert (gnu_type, gnu_result);
}
-/* Return 1 if GNU_EXPR can be directly addressed. This is the case unless
- it is an expression involving computation or if it involves a bitfield
- reference. This returns the same as mark_addressable in most cases. */
+/* Return 1 if GNU_EXPR can be directly addressed. This is the case
+ unless it is an expression involving computation or if it involves
+ a bitfield reference. This returns the same as
+ gnat_mark_addressable in most cases. */
static int
addressable_p (gnu_expr)
diff --git a/gcc/ada/utils.c b/gcc/ada/utils.c
index 58b7af6..556e012 100644
--- a/gcc/ada/utils.c
+++ b/gcc/ada/utils.c
@@ -1361,7 +1361,7 @@ create_var_decl (var_name, asm_name, type, var_init, const_flag, public_flag,
/* If this is volatile, force it into memory. */
if (TREE_SIDE_EFFECTS (var_decl))
- mark_addressable (var_decl);
+ gnat_mark_addressable (var_decl);
if (TREE_CODE (var_decl) != CONST_DECL)
rest_of_decl_compilation (var_decl, 0, global_bindings_p (), 0);
diff --git a/gcc/ada/utils2.c b/gcc/ada/utils2.c
index 2872474..0e8ada4 100644
--- a/gcc/ada/utils2.c
+++ b/gcc/ada/utils2.c
@@ -817,7 +817,7 @@ build_binary_op (op_code, result_type, left_operand, right_operand)
if (! TREE_CONSTANT (right_operand)
|| ! TREE_CONSTANT (TYPE_MIN_VALUE (right_type))
|| op_code == ARRAY_RANGE_REF)
- mark_addressable (left_operand);
+ gnat_mark_addressable (left_operand);
modulus = 0;
break;
@@ -1238,7 +1238,7 @@ build_unary_op (op_code, result_type, operand)
if (type != error_mark_node)
operation_type = build_pointer_type (type);
- mark_addressable (operand);
+ gnat_mark_addressable (operand);
result = fold (build1 (ADDR_EXPR, operation_type, operand));
}
@@ -1991,7 +1991,7 @@ fill_vms_descriptor (expr, gnat_formal)
tree const_list = 0;
expr = maybe_unconstrained_array (expr);
- mark_addressable (expr);
+ gnat_mark_addressable (expr);
for (field = TYPE_FIELDS (record_type); field; field = TREE_CHAIN (field))
{
@@ -2009,10 +2009,10 @@ fill_vms_descriptor (expr, gnat_formal)
}
/* Indicate that we need to make the address of EXPR_NODE and it therefore
- should not be allocated in a register. Return 1 if successful. */
+ should not be allocated in a register. Returns true if successful. */
-int
-mark_addressable (expr_node)
+bool
+gnat_mark_addressable (expr_node)
tree expr_node;
{
while (1)
@@ -2030,24 +2030,24 @@ mark_addressable (expr_node)
case CONSTRUCTOR:
TREE_ADDRESSABLE (expr_node) = 1;
- return 1;
+ return true;
case VAR_DECL:
case PARM_DECL:
case RESULT_DECL:
put_var_into_stack (expr_node);
TREE_ADDRESSABLE (expr_node) = 1;
- return 1;
+ return true;
case FUNCTION_DECL:
TREE_ADDRESSABLE (expr_node) = 1;
- return 1;
+ return true;
case CONST_DECL:
return (DECL_CONST_CORRESPONDING_VAR (expr_node) != 0
- && (mark_addressable
+ && (gnat_mark_addressable
(DECL_CONST_CORRESPONDING_VAR (expr_node))));
default:
- return 1;
+ return true;
}
}