diff options
author | Neil Booth <neil@daikokuya.demon.co.uk> | 2002-03-29 21:46:27 +0000 |
---|---|---|
committer | Neil Booth <neil@gcc.gnu.org> | 2002-03-29 21:46:27 +0000 |
commit | b0c48229854447bec65f7f5a6ef1dbbe451cc3fb (patch) | |
tree | e8a67fcfa0ef3614bf38b6f84422372f82aa6004 /gcc/fold-const.c | |
parent | d52e4867caba3a5833cc2c90ac8df8fe7ccd7b76 (diff) | |
download | gcc-b0c48229854447bec65f7f5a6ef1dbbe451cc3fb.zip gcc-b0c48229854447bec65f7f5a6ef1dbbe451cc3fb.tar.gz gcc-b0c48229854447bec65f7f5a6ef1dbbe451cc3fb.tar.bz2 |
Makefile.in (convert.o, [...]): Update.
* Makefile.in (convert.o, calls.o, expmed.o): Update.
* attribs.c (handle_mode_attribute, handle_vector_size_attribute):
Use new hooks.
* builtin-types.def (BT_PTRMODE): Update.
* c-common.c (type_for_size): Rename c_common_type_for_size.
(type_for_mode): Similarly.
(shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
Use new hook.
* c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
* c-decl.c (finish_enum, build_enumerator): Use new hooks.
* c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
Redefine.
* c-typeck.c (common_type, comptypes, default_conversion):
Use new hooks.
* calls.c: Include langhooks.h.
(emit_library_call_value_1): Use new hooks. Avoid redundant
calls.
* convert.c: Include langhooks.h
(convert_to_pointer, convert_to_integer): Use new hooks.
* except.c (init_eh): Similarly.
* expmed.c: Include langhooks.h.
(expand_mult_add): Use new hooks.
* expr.c (store_expr, store_constructor, expand_expr, do_jump,
try_casesi): Similarly.
* fold-const.c (optimize_bit_field_compare, make_range,
decode_field_reference, fold_truthop, fold): Similarly.
* function.c (assign_stack_local_1, assign_stack_temp_for_type,
put_var_into_stack): Similarly.
* langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
LANG_HOOKS_TYPE_FOR_SIZE): New.
(LANG_HOOKS_TYPES_INITIALIZER): Update.
* langhooks.h (lang_hooks_for_types): New hooks.
* stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
* tree.c (get_unwidened, get_narrower): Similarly.
* tree.h (type_for_mode, type_for_size): Remove.
* varasm.c (force_const_mem): Use new hooks.
ada:
* gigi.h (type_for_size, type_for_mode): Rename.
* misc.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
Redefine.
* trans.c (tree_transform): Update.
* utils.c (gnat_init_decl_processing, init_gigi_decls,
builtin_function, float_type_for_size, signed_or_unsigned_type,
build_vms_descriptor, unchecked_convert): Update.
(type_for_mode, type_for_size): Rename.
* utils2.c (nonbinary_modular_operation): Update.
cp:
* cp-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
Redefine.
* cvt.c (cp_convert_to_pointer, type_promotes_to): Use new hooks.
* decl.c (finish_enum): Similarly.
* error.c (dump_type): Similarly.
* lex.c (cxx_init): Similarly.
* mangle.c (write_builtin_type): Similarly.
* typeck.c (comptypes): Similarly.
f:
* com.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
Redefine.
(type_for_mode, type_for_size): Rename.
(signed_or_unsigned_type, signed_type, truthvalue_conversion,
unsigned_type): Use new hooks.
java:
* Make-lang.in (builtins.o): Update.
* boehm.c (get_boehm_type_descriptor): Update.
* builtins.c: Include langhooks.h.
* decl.c (java_init_decl_processing): Update.
* java-tree.h (java_type_for_mode, java_type_for_size): New.
* lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
Redefine.
* typeck.c (type_for_mode, type_for_size): Update.
objc:
* objc-act.c (handle_impent): Update.
* objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
Redefine.
From-SVN: r51571
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r-- | gcc/fold-const.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 4c5b91e..875ade3 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -2426,8 +2426,8 @@ optimize_bit_field_compare (code, compare_type, lhs, rhs) /* Set signed and unsigned types of the precision of this mode for the shifts below. */ - signed_type = type_for_mode (nmode, 0); - unsigned_type = type_for_mode (nmode, 1); + signed_type = (*lang_hooks.types.type_for_mode) (nmode, 0); + unsigned_type = (*lang_hooks.types.type_for_mode) (nmode, 1); /* Compute the bit position and size for the new reference and our offset within it. If the new reference is the same size as the original, we @@ -2590,7 +2590,7 @@ decode_field_reference (exp, pbitsize, pbitpos, pmode, punsignedp, return 0; /* Compute the mask to access the bitfield. */ - unsigned_type = type_for_size (*pbitsize, 1); + unsigned_type = (*lang_hooks.types.type_for_size) (*pbitsize, 1); precision = TYPE_PRECISION (unsigned_type); mask = build_int_2 (~0, ~0); @@ -2960,7 +2960,8 @@ make_range (exp, pin_p, plow, phigh) be interpreted as positive. */ if (TREE_UNSIGNED (type) && ! TREE_UNSIGNED (TREE_TYPE (exp))) { - tree equiv_type = type_for_mode (TYPE_MODE (type), 1); + tree equiv_type = (*lang_hooks.types.type_for_mode) + (TYPE_MODE (type), 1); tree high_positive; /* A range without an upper bound is, naturally, unbounded. @@ -3509,7 +3510,7 @@ fold_truthop (code, truth_type, lhs, rhs) lnbitsize = GET_MODE_BITSIZE (lnmode); lnbitpos = first_bit & ~ (lnbitsize - 1); - lntype = type_for_size (lnbitsize, 1); + lntype = (*lang_hooks.types.type_for_size) (lnbitsize, 1); xll_bitpos = ll_bitpos - lnbitpos, xrl_bitpos = rl_bitpos - lnbitpos; if (BYTES_BIG_ENDIAN) @@ -3580,7 +3581,7 @@ fold_truthop (code, truth_type, lhs, rhs) rnbitsize = GET_MODE_BITSIZE (rnmode); rnbitpos = first_bit & ~ (rnbitsize - 1); - rntype = type_for_size (rnbitsize, 1); + rntype = (*lang_hooks.types.type_for_size) (rnbitsize, 1); xlr_bitpos = lr_bitpos - rnbitpos, xrr_bitpos = rr_bitpos - rnbitpos; if (BYTES_BIG_ENDIAN) @@ -5720,7 +5721,7 @@ fold (expr) || integer_onep (folded_compare)) return omit_one_operand (type, folded_compare, varop); - unsigned_type = type_for_size (size, 1); + unsigned_type = (*lang_hooks.types.type_for_size)(size, 1); precision = TYPE_PRECISION (unsigned_type); mask = build_int_2 (~0, ~0); TREE_TYPE (mask) = unsigned_type; @@ -5781,7 +5782,7 @@ fold (expr) || integer_onep (folded_compare)) return omit_one_operand (type, folded_compare, varop); - unsigned_type = type_for_size (size, 1); + unsigned_type = (*lang_hooks.types.type_for_size)(size, 1); precision = TYPE_PRECISION (unsigned_type); mask = build_int_2 (~0, ~0); TREE_TYPE (mask) = TREE_TYPE (varop); |