Commit Graph

264 Commits

Author SHA1 Message Date
Mark Mitchell
9c922ec705 Revert this change:
* fold-const.c (fold): STRIP_NOPS when deciding whether or not
	something is a candidate for optimize_bit_field_compare.

From-SVN: r27318
1999-06-02 15:42:19 +00:00
Andreas Schwab
2bd21a021e fold-const.c (fold_truthop): Make the field reference unsigned when converting a single bit compare.
h
        * fold-const.c (fold_truthop): Make the field reference unsigned
        when converting a single bit compare.

From-SVN: r27202
1999-05-26 20:33:58 -06:00
Mark Mitchell
b7f2c1fc1b fold-const.c (fold): STRIP_NOPS when deciding whether or not something is a candidate for...
* fold-const.c (fold): STRIP_NOPS when deciding whether or not
	something is a candidate for optimize_bit_field_compare.

From-SVN: r27169
1999-05-26 09:50:08 +00:00
Andreas Schwab
71a874cd5e fold-const.c (fold_truthop): When converting a one-bit comparison don't sign extend the constant.
* fold-const.c (fold_truthop): When converting a one-bit
        comparison don't sign extend the constant.

From-SVN: r26962
1999-05-16 19:24:24 -06:00
Toshiyasu Morita
07444f1d90 fold-const.c (make_range): Always initialize arg0 and arg1.
* fold-const.c (make_range): Always initialize arg0 and arg1.
        (fold): Simlarly for alt0 and alt1.
        * function.c (fixup_var_refs_insns): Initialize insn_list.
        (instantiate_virtual_regs_1): Initialize offset.
        * optabs.c (expand_binop): Initialize carry_in, carry_out, op0_xhigh
        and op1_xhigh.
        * stmt.c (expand_end_case): Initialize minval and maxval.

From-SVN: r26632
1999-04-25 18:15:54 -06:00
Charles M. Hannum
11a86c5688 fold-const.c (fold_truthop): Optimize bitfield references with different masks as long as their size and bit...
* fold-const.c (fold_truthop): Optimize bitfield references with
        different masks as long as their size and bit position are the same.

From-SVN: r26006
1999-03-26 15:46:33 -07:00
Charles M. Hannum
bd910dcf7a fold-const.c (fold_truthop): Build a type for both the lhs and rhs and use it appropriately.
* fold-const.c (fold_truthop): Build a type for both the lhs and
        rhs and use it appropriately.

From-SVN: r26005
1999-03-26 15:23:02 -07:00
Charles M. Hannum
97ea717682 fold-const.c (fold_truthop): Mask the lhs and rhs after merging adjacent bitfield references.
* fold-const.c (fold_truthop): Mask the lhs and rhs after merging
        adjacent bitfield references.

From-SVN: r26004
1999-03-26 14:52:14 -07:00
Charles M. Hannum
1424137450 fold-const.c (fold_truthop): Verify that the lhs and rhs are in the same bit position when...
* fold-const.c (fold_truthop): Verify that the lhs and rhs are
       in the same bit position when optimizing bitfield references
       which have the same mask.

From-SVN: r25993
1999-03-25 18:08:54 -07:00
Richard Earnshaw
cc33944a7a fold-const.c (make_range): If orig_type is unset, set it as soon as we know the type.
* fold-const.c (make_range): If orig_type is unset, set it as soon
        as we know the type.  Remove now unnecessary set of orig_type for
        conversions.

Co-Authored-By: Jeffrey A Law <law@cygnus.com>

From-SVN: r25959
1999-03-24 15:48:37 -07:00
Geoff Keating
a9d9c1084d * fold-const.c (fold): Recognise a rotate by an unsigned amount.
From-SVN: r25937
1999-03-23 17:39:44 -07:00
Kaveh R. Ghazi
a4d3481dce fold-const.c (exact_real_inverse): Move variable `float_error' into the scope where it is used.
* fold-const.c (exact_real_inverse): Move variable `float_error'
        into the scope where it is used.
        (const_binop_1): New static function.
        (cb_args): New struct.
        (const_binop): Use them in call to `do_float_handler'.
        (fold_convert_1): New static function.
        (fc_args): New struct.
        (fold_convert): Use them in call to `do_float_handler'.

From-SVN: r25776
1999-03-15 05:30:02 +00:00
Nathan Sidwell
d7b3ea38e0 fold-const.c (range_binop): Take account of the bounded nature of fixed length arithmetic when...
h
	* fold-const.c (range_binop): Take account of the bounded nature
	of fixed length arithmetic when comparing unbounded ranges.

From-SVN: r25146
1999-02-10 17:10:47 -07:00
Zack Weinberg
e45ed4de44 Remove trigraph in comment
From-SVN: r24881
1999-01-27 07:28:14 +00:00
Jeffrey A Law
ab87f8c8d1 Merge in gcc2 snapshot 19980929. See gcc/ChangeLog and gcc/FSFChangeLog for
details.

From-SVN: r24879
1999-01-26 18:43:17 -07:00
Jeffrey A Law
ac4d524db2 fold-const.c (lshift_double): Mark 'prec' arguments as possibly unused.
* fold-const.c (lshift_double): Mark 'prec' arguments as possibly
        unused.

From-SVN: r24830
1999-01-22 18:57:51 -07:00
Ulrich Drepper
6f4d72224e c-common.c (declare_function_name): Declare predefinied variable `__func__'.
* c-common.c (declare_function_name): Declare predefinied variable
        `__func__'.
        * c-decl.c (flag_isoc9x): Set to 1 by default.
        (c_decode_option): Handle -std= option.  Remove -flang-isoc9x.
        (grokdeclarator): Always emit warning about implicit int for ISO C 9x.
        * c-parse.in: Allow constructors in ISO C 9x.
        Rewrite designator list handling.
        Allow [*] parameters.
        Don't warn about comma at end of enum definition for ISO C 9x.
        * cccp.c (c9x): New variable.
        (rest_extension): New variable.
        (print_help): Document new -std= option.
        (main): Recognize -std= option.  Set c9x appropriately.
        (create_definition): Recognize ISO C 9x vararg macros.
        * gcc.c (default_compilers): Adjust specs for -std options.
        (option_map): Add --std.
        (display_help): Document -std.
        * toplev.c (documented_lang_options): Add -std and remove
        -flang-isoc9x.
        * c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF
        or REAL_VALUE_HTOF based on base of the constants.
        * fold-const.c (real_hex_to_f): New function.  Replacement function
        for hex FP conversion if REAL_ARITHMETIC is not defined.
        * real.c (asctoeg): Add handling of hex FP constants.
        * real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or
        real_hex_to_f.

Co-Authored-By: Richard Henderson <rth@cygnus.com>
Co-Authored-By: Stephen L Moshier <moshier@world.std.com>

From-SVN: r24049
1998-12-01 13:05:17 -08:00
Kaveh R. Ghazi
c84e271261 Warning fixes:
* Makefile.in (gencheck.o): Depend on gansidecl.h.
	* c-common.c (print_char_table): Add missing initializers.
	(scan_char_table): Likewise.
	(time_char_table): Likewise.
	* c-decl.c (c_decode_option): Mark parameter `argc' with
	ATTRIBUTE_UNUSED.
	(declare_parm_level): Mark parameter `definition_flag' with
	ATTRIBUTE_UNUSED.
	* c-lex.c (readescape): Use `(unsigned)1' in shift.
	(yylex): Likewise.  Cast `sizeof' to an (int) when comparing
	against one.
	* calls.c (store_one_arg): Remove unused parameter `fndecl'.  All
	callers changed.
	(emit_call_1): Mark parameters `fndecl' and `funtype' with
	ATTRIBUTE_UNUSED.
	(expand_call): Cast result of MIN() to (unsigned int) when
	comparing against an unsigned value.
	* cccp.c (pcfinclude): Remove unused parameter `limit'.  All
	callers changed.
	(make_definition): Remove unused parameter `op'.  All callers
	changed.
	(create_definition): Cast REST_EXTENSION_LENGTH to (long) when
	comparing against the result of pointer arithmetic.
	* config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Cast to (unsigned)
	when comparing against one.
	* dwarf2out.c (dwarf2out_frame_debug): Cast REGNO() and
 	HARD_FRAME_POINTER_REGNUM to (unsigned) when comparing against
 	one.
	(output_die): Move variable `i' into the scope in which it is
	used.  Change its type to `unsigned'.
	(output_die): Cast the result of `strlen' to (int) when passing it
	to ASM_OUTPUT_ASCII().
	(output_pubnames): Likewise.
	(output_line_info): Likewise.
	* emit-rtl.c (global_rtl): Add missing initializers.
	* explow.c (promote_mode): Mark parameter `for_call' with
	ATTRIBUTE_UNUSED.
	* expmed.c (expand_shift): Cast the result of GET_MODE_BITSIZE to
 	`unsigned HOST_WIDE_INT' when comparing against one.
	(synth_mult): Change type of variable `cost' to int.
	(emit_store_flag): Use `(unsigned HOST_WIDE_INT) 1' in shift.
	* expr.c (copy_blkmode_from_reg): Cast BITS_PER_WORD to (unsigned)
	when comparing against one.
	(get_inner_reference): Change variable `alignment' to unsigned.
	(expand_expr): Cast the result of GET_MODE_ALIGNMENT to (unsigned
	int) when comparing against one.
	(expand_builtin_setjmp): Change type of variable `i' to size_t.
	* fold-const.c (div_and_round_double): Cast BASE to
	(HOST_WIDE_INT) when comparing against one.
	* gencheck.c: Include gansidecl.h.
	(main): Mark parameter `argv' with ATTRIBUTE_UNUSED.
	* optabs.c (gen_cond_trap): Mark parameters `code', `op2' and
	`tcode' with ATTRIBUTE_UNUSED.
	* real.c (edivm): Cast constant value to (unsigned long) in
	expression compared against an unsigned value.
	* stmt.c (expand_return): Cast BITS_PER_WORD to (unsigned) when
	comparing against one.
	(expand_end_case): Cast CASE_VALUES_THRESHOLD to (unsigned int)
	when comparing against one.
	* stor-layout.c (mode_for_size): Cast MAX_FIXED_MODE_SIZE to
	(unsigned int) when comparing against one.  Likewise for
	GET_MODE_BITSIZE.
	(smallest_mode_for_size): Likewise.
	(save_storage_status): Mark parameter `p' with ATTRIBUTE_UNUSED.
	(restore_storage_status): Likewise.
	* toplev.c (debug_args): Add missing initializer.
	(f_options): Spelling correction.  Add missing initializers.
	(documented_lang_options): Likewise.
	(debug_end_source_file): Mark parameter `lineno' with
	ATTRIBUTE_UNUSED.
	* tree.c (valid_machine_attribute): Mark parameters `attr_args',
	`decl' and `type' with ATTRIBUTE_UNUSED.
	* varasm.c (decode_reg_name): Cast `sizeof' expression to (int)
	when comparing against one.
	(assemble_variable): Mark parameter `top_level' with
	ATTRIBUTE_UNUSED.
	(assemble_external_libcall): Mark parameter `fun' with
	ATTRIBUTE_UNUSED.
	(output_constant_pool): Mark parameters `fnname' and `fndecl' with
	ATTRIBUTE_UNUSED.

From-SVN: r23054
1998-10-13 15:25:25 +00:00
Richard Henderson
899f1ed698 fold-const.c (fold): Yet another COND_EXPR bug...
* fold-const.c (fold): Yet another COND_EXPR bug: when folding
        to an ABS expr, convert an unsigned input to signed.

From-SVN: r22503
1998-09-20 05:37:58 -07:00
Jeffrey A Law
c479c2acdf * fold-const.c (fold): Fix another type in COND_EXPR handling code.
From-SVN: r22499
1998-09-20 05:16:12 -06:00
Michael Tiemann
a58bd5080a fold-const.c (fold): Fix typo in COND_EXPR handling code.
* fold-const.c (fold): Fix typo in COND_EXPR handling code.
        (invert_truthvalue): Enable truthvalue inversion for
        floating-point operands if -ffast-math.

From-SVN: r22488
1998-09-19 17:27:02 -06:00
Kaveh R. Ghazi
efe3eb65d1 Makefile.in (cplus-dep.o): Use cplus-dem.c from libiberty.
* Makefile.in (cplus-dep.o): Use cplus-dem.c from libiberty.
        * cplus-dem.c: Delete.
        * Makefile.in (fold-const.o): depend on $(RTL_H).
        * fold-const.c: Include rtl.h to get the prototype for
        `set_identifier_local_value'.
        * loop.c (express_from_1): Remove unused variable `tmp'.
        (combine_givs): cast the first argument of bzero to char *.
        * toplev.c (display_help): Remove unused variable `looking_for_start'.

Co-Authored-By: Jeffrey A Law <law@cygnus.com>

From-SVN: r21785
1998-08-17 05:39:32 -06:00
Jason Merrill
ff59bfe6b2 expr.c (safe_from_p): Change code to ERROR_MARK only when not accessing nodes.
* expr.c (safe_from_p): Change code to ERROR_MARK only when not
	accessing nodes.
	* toplev.c (display_help): Add braces to shut up warnings.
	* fold-const.c (non_lvalue): Don't deal with null pointer
	constants here.
	(fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.

From-SVN: r21698
1998-08-13 12:12:55 -04:00
Richard Henderson
45f97e2e08 loop.h (struct induction): Add no_const_addval.
* loop.h (struct induction): Add no_const_addval.
        * loop.c (the_movables, reg_address_cost): New variables.
        (init_loop): Init reg_address_cost.
        (loop_optimize): Call end_alias_analysis.
        (scan_loop): Init the_movables.
        (record_giv): Init induction->no_const_addval.
        (basic_induction_var) [PLUS]: Use rtx_equal_p instead of ==.
        [REG]: Rearrange loop search test to catch more cases.
        (general_induction_var): Return success not benefit; take an extra
        argument for that.  Change all callers.
        (simplify_giv_expr) [PLUS]: Always combine invariants.  Use sge_plus.
        [MULT]: Use rtx_equal_p instead of ==.  Combine simple invariants.
        [default]: Search the_movables for additional combinations.
        (sge_plus_constant, sge_plus): New functions.
        (express_from_1): New function.
        (express_from): Always define.  Rewrite using express_from_1.
        (combine_givs_p): Handle more cases.  Ignore address cost.
        (cmp_combine_givs_stats): New function.
        (combine_givs_used_once, combine_givs_benefit_from): New functions.
        (combine_givs): Rewrite to do best-fit combination.
        * fold-const.c (operand_equal_p): Handle RTL_EXPR.
        (fold): Do a complete (A*C)+(B*C) association check.

From-SVN: r21263
1998-07-17 07:46:06 -07:00
Jeff Law
9ec36da574 * Merge from gcc2 June 9, 1998 snapshot. See ChangeLog.13 for
details.

From-SVN: r20808
1998-06-29 15:40:49 -06:00
Mark Mitchell
30d68b865b fold-const.c (make_range): Don't go looking at TREE_OPERANDs of nodes that are not expressions.
* fold-const.c (make_range): Don't go looking at TREE_OPERANDs of
	nodes that are not expressions.

From-SVN: r20728
1998-06-25 17:28:11 +00:00
Andreas Schwab
f0b8d9aab4 c-common.c (truthvalue_conversion): Protect side effects in the expression when splitting a complex value.
* c-common.c (truthvalue_conversion): Protect side effects in the
	expression when splitting a complex value.
	* fold-const.c (fold): Likewise.

From-SVN: r20580
1998-06-19 01:46:50 +00:00
Jeffrey A Law
7d12cee1f1 * fold-const.c (make_range): Do not widen the type of the expression.
From-SVN: r20545
1998-06-17 11:54:27 -06:00
Jeffrey A Law
dbecbbe48a expr.c (check_max_integer_computation_mode): New function.
* expr.c (check_max_integer_computation_mode): New function.
        (expand_expr): Avoid integer computations in modes wider than
        MAX_INTEGER_COMPUTATION_MODE.
        * fold-const.c (fold): Likewise.
        * tree.h (check_max_integer_computation_mode): Declare.
        * tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it.

From-SVN: r20538
1998-06-17 05:44:02 -06:00
Richard Henderson
77a45a2ea4 fold-const.c (fold): Revert last change.
* fold-const.c (fold): Revert last change.  It breaks constant
        expressions somehow.

From-SVN: r20441
1998-06-12 02:34:00 -07:00
Richard Henderson
ac1fdb22b8 fold-const.c (fold): Even with otherwise constant trees...
* fold-const.c (fold): Even with otherwise constant trees, look for
        opportunities to combine integer constants.

From-SVN: r20392
1998-06-09 15:05:49 -07:00
Kaveh R. Ghazi
83e0821b60 Some fixes for KNR compilers:
* gencheck.c: Remove redundant stdio.h include.  Add a definition
        of xmalloc for when we are forced to link with alloca.o.
        * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
        instead of `1U'.
        * fold-const.c (constant_boolean_node): Make definition static to
        match the prototype.

From-SVN: r20261
1998-06-06 09:25:16 +00:00
Andreas Schwab
df0e526f2d fold-const.c (fold, [...]): When folding VAR++ == CONST or VAR-- == CONST construct a proper mask if...
* fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
        or VAR-- == CONST construct a proper mask if VAR is a bitfield.
        Cope with CONST being out of range for the bitfield.

From-SVN: r20198
1998-06-02 15:53:37 -06:00
Jason Merrill
697073d938 fold-const.c (ssize_binop): New fn.
* fold-const.c (ssize_binop): New fn.
	* tree.h: Declare it.

From-SVN: r19963
1998-05-22 16:58:14 -04:00
Mark Mitchell
f628873f1f fold-const.c (constant_boolean_node): New function.
* fold-const.c (constant_boolean_node): New function.
	(fold): Use it.

From-SVN: r19775
1998-05-15 07:19:38 +00:00
Jeff Law
38e012594e typo typo fixes fixes
From-SVN: r19601
1998-05-06 15:09:07 -06:00
Robert Lipe
10f0ad3d49 toplev.h: New file.
Wed May  6 06:35:38 1998  Robert Lipe  <robertl@dgii.com>
        * toplev.h: New file.   Protypes for functions in toplev.c.
        * tree.h, rtl.h: Deleted protos for functions in toplev.c.
        * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
        c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
        convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
        function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
        reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
        varasm.c: include it.

From-SVN: r19564
1998-05-06 04:54:01 +00:00
Jeff Law
f5963e6170 * Check in merge from gcc2. See ChangeLog.12 for details.
From-SVN: r19553
1998-05-05 17:18:02 -06:00
Jeffrey A Law
4f242db399 * fold-const.c (fold_convert): Fix typo.
From-SVN: r19409
1998-04-25 10:17:08 -06:00
Richard Henderson
896cced482 tree.h (sizetype_tab[2], [...]): Merge all of these into a single struct, with additional [us]sizetype entries.
* tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
of these into a single struct, with additional [us]sizetype entries.
* stor-layout.c (set_sizetype): Initialize [us]sizetype.
* fold-const.c (size_int_wide): Don't rely on sizetype_tab being
an array.

From-SVN: r18994
1998-04-04 09:46:06 -08:00
Jeff Law
e5e809f419 * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
for details.

        * haifa-sched.c: Mirror recent changes from gcc2.

From-SVN: r18984
1998-04-04 06:32:39 -07:00
Jeffrey A Law
4e86caed7d fold-const.c (optimze_bit_field_compare): Initialize rnbitpos, rnbitsize, rnmode and rinner.
* fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
        rnbitsize, rnmode and rinner.
        (make_range): Initialize type.
        (fold): Initialize arg0, arg1 and varop.
        * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
        and regnor.
        (expand_function_start): Initialize last_ptr.
        * stor-layout.c (layout_record): Initialize desired_align.
        (get_best_mode): Initialize unit.
        * tree.c (copy_node): Initialize length.

From-SVN: r18943
1998-04-01 16:35:51 -07:00
Mark Mitchell
c651e1e085 varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a entity in a local scope.
* varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
	entity in a local scope.
	* fold-const.c (fold): Call truthvalue_conversion for values which
	are folded to boolean type.

From-SVN: r18929
1998-04-01 13:45:40 +00:00
Philippe De Muyter
ba3ad5e002 fold-const.c (fold): Replace sign-extension of a zero extended value by a single zero extension.
* fold-const.c (fold): Replace sign-extension of a zero extended
        value by a single zero extension.

From-SVN: r18713
1998-03-19 12:27:18 -07:00
Richard Kenner
52de9b6cff fold-const.c (operand_equal_for_comparison_p): See if equal when nop conversions are removed.
Wed Mar 18 13:46:07 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * fold-const.c (operand_equal_for_comparison_p): See if equal
        when nop conversions are removed.

From-SVN: r18672
1998-03-18 05:45:28 -08:00
Jeffrey A Law
de153e8290 * fold-const.c (fold_range_test): Always return a value.
From-SVN: r18343
1998-03-01 10:04:14 -07:00
Kaveh R. Ghazi
2fde567ece fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
* fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
        (lshift_double): Add parentheses around + or - inside shift.
        (rshift_double): Likewise.
        (size_int_wide): Explicitly set type of `bit_p' to `int'.
        * Makefile.in (fold-const.o): Depend on system.h.

From-SVN: r18057
1998-02-17 15:43:25 -07:00
Jason Merrill
b7f6588dd2 tree.c (first_rtl_op): New fn.
* tree.c (first_rtl_op): New fn.
	(unsave_expr_now): Use it.
	* print-tree.c (print_node): Likewise.
	* tree.c (has_cleanups): New fn.
	* fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it.  Be more
	conservative about pushing the cleanup point down.
	* tree.h: Declare them.

From-SVN: r18023
1998-02-15 23:52:31 -05:00
Jeffrey A Law
29a820586a varasm.c (output_constant_pool): Bring back 'done' label inside an appropriate #ifdef.
* varasm.c (output_constant_pool): Bring back 'done' label inside
        an appropriate #ifdef.
        * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
        appropriate #ifdef.
        (bitmap_copy, bitmap_operation): Likewise.
        * combine.c (combinable_i3pat): Similarly for 'src'.
        * function.c (fixup_var_refs_1): Similarly for 'outerdest'.
        (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
        * regclass.c (copy_cost): Similarly for 'secondary_class'.
        * reload.c (make_memloc): Simliarly for 'i'.
        (find_reloads_address_1): Similarly for 'link'.
        * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
        (emit_reload_insns): Similarly for 'second_reloadreg'.
        * unroll.c (iteration_info): Similarly for 'v'.
        * caller-save.c (insert_save_restore): Remove unused variable 'i'.
        * calls.c (expand_call): Similarly for 'i'.
        (emit_library_call, emit_library_call_value): Similarly for 'mode'.
        * fold-const.c (strip_compund_expr): Similarly for 'type'.
        * function.c (fixup_var_refs_1): Similarly  for 'width'.
        (fixup_memory_subreg): Similarly for 'saved'.
        (locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
        (setjmp_protect): Similarly for 'sub'.
        (thread_prologue_and_epilogue_insns): Similarly for 'insn'.
        * loop.c (record_giv): Similarly for 'p'.
        (combine_givs): Similarly for 'temp_iv'.
        (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
        * recog.c (validate_replace_rtx_1): Similarly for 'width'.
        * tree.c (get_set_constructor_bytes): Similarly for 'vals'.
        * unroll.c (unroll_loop): Similarly for 'copy'.
        (iteration_info): Similarly for 'b'.
        * varasm.c (assemble_string): Similarly for 'i'.
        * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.

From-SVN: r17973
1998-02-13 18:13:58 -07:00
J"orn Rennecke
f8dac6eb3f expr.c (get_inner_reference): Use sbitsizetype for type sizes.
* expr.c (get_inner_reference): Use sbitsizetype for type sizes.
        * fold-const.c (size_int): Replace with
        (size_int_wide).
        (make_bit_field_ref): Use bitsize_int for bit position.
        * stor-layout.c (sizetype): Delete.
        (sizetype_tab, sbitsizetype, ubitsizetype): Declare.
        (layout_record, layout_union, layout_type):
        Use bitsize_int for bit size.
        (set_sizetype): New function.
        (make_signed_type, make_unsigned_type): Use it.
        * c-decl.c (init_decl_processing): Likewise.
        * tree.h (size_int): Don't delcare, #define.
        (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
        (set_sizetype): Declare.
        (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
        Define.
        * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
        Convert result to sizetype.
        (really_start_incremental_init, push_init_level):
        Set type of constructor_bit_index to sbitsizetype.
        (push_init_level): Use unsigned arithmetic to determine padding.
        (output_init_element): Likewise.

From-SVN: r17577
1998-02-01 04:47:59 -07:00