1. 15 Jan, 2003 1 commit
  2. 16 Dec, 2002 1 commit
  3. 22 Oct, 2002 1 commit
    • real.c (sticky_rshift_significand): Return inexact, don't or it in immediately. · 5e26e5a2
              * real.c (sticky_rshift_significand): Return inexact, don't
              or it in immediately.
              (sub_significands): Accept incomming carry.
              (div_significands, rtd_divmod): Update for sub_significands change.
              (round_for_format): Update for sticky_rshift_significand change.
              (do_add): Don't involve the inexact bit in addition, do give the
              inexact bit as the subtraction carry-in.
              (encode_internal, decode_internal, real_internal_format): New.
              * real.h (real_internal_format): Declare.
      
      From-SVN: r58396
      Richard Henderson committed
  4. 16 Oct, 2002 1 commit
    • real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS as arguments. · da6eec72
      gcc/
              * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
              as arguments.  Bound DIGITS by the available buffer size.
              (real_to_hexadecimal): Likewise.
              * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
              (REAL_VALUE_TO_DECIMAL): Remove.
              * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
              sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
              config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
              config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
              config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
              config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
              config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
              use real_to_decimal directly, and with the proper arguments.
              * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
      
      gcc/cp/
              * error.c (dump_expr): Use real_to_decimal directly, and with
              the new arguments.
      
      gcc/f/
              * target.h (ffetarget_print_real1, ffetarget_print_real2): Use
              real_to_decimal directly, and with the new arguments.
      
      From-SVN: r58187
      Richard Henderson committed
  5. 11 Oct, 2002 1 commit
  6. 04 Oct, 2002 2 commits
  7. 29 Sep, 2002 1 commit
  8. 24 Sep, 2002 1 commit
  9. 21 Sep, 2002 1 commit
    • real.c (struct real_format): Move to real.h. · 3dc85dfb
      	* real.c (struct real_format): Move to real.h.
      	(real_format_for_mode): Rename from fmt_for_mode; update all users;
      	initialize with ieee defaults.
      	(real_to_target_fmt, real_from_target_fmt): New.
      	(ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
      	ieee_extended_intel_96_format, ieee_extended_intel_128_format,
      	ieee_quad_format, i370_single_format, i370_double_format,
      	c4x_single_format, c4x_extended_format): Rename from s/_format//.
      	(ieee_quad_format): Fix emin.
      	(format_for_size, init_real_once): Remove.
      	* real.h (struct real_format): Move from real.c.
      	(real_format_for_mode): Declare.
      	(real_to_target_fmt, real_from_target_fmt): Declare.
      	(ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
      	ieee_extended_intel_96_format, ieee_extended_intel_128_format,
      	ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
      	i370_single_format, i370_double_format, c4x_single_format,
      	c4x_extended_format): Declare.
      	* toplev.c (do_compile): Don't call init_real_once.
      
      	* defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
      	* doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
      
      	* config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
      	* config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
      	* config/alpha/alpha.c (override_options): Set real_format_for_mode
      	for VAX, if enabled.
      
      	* config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
      	for C4X.
      
      	* config/i370/i370.h (OVERRIDE_OPTIONS): New.
      	* config/i370/i370.c (override_options): New.
      	* config/i370/i370-protos.h: Update.
      
      	* config/i386/i386.c (override_options): Set real_format_for_mode
      	for Intel 80-bit extended.
      	* config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
      
      	* config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
      	(OVERRIDE_OPTIONS): Move code...
      	* config/i960/i960.c (i960_initialize): ... here.  Set
      	real_format_for_mode for Intel 80-bit extended.
      
      	* config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
      	for Intel 80-bit extended, if enabled.
      
      	* config/m68k/m68k.c (override_options): Set real_format_for_mode
              for Motorola 96-bit extended.
      
      	* config/vax/vax.h (OVERRIDE_OPTIONS): New.
      	* config/vax/vax.c (override_options): New.
      	* config/vax/vax-protos.h: Update.
      
      From-SVN: r57388
      Richard Henderson committed
  10. 20 Sep, 2002 3 commits
    • real.c (real_hash): New. · 46b33600
              * real.c (real_hash): New.
              * real.h: Declare it.
              * cse.c (canon_hash): Use it.
              * cselib.c (hash_rtx): Likewise.
              * emit-rtl.c (const_double_htab_hash): Likewise.
              * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
              * varasm.c (struct rtx_const): Reduce vector size; separate
              integer and fp vectors.
              (HASHBITS): Remove.
              (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
              take modulus MAX_HASH_TABLE.
              (const_hash): New.  Do take modulus MAX_HASH_TABLE.
              (output_constant_def): Do not take modulus MAX_HASH_TABLE.
              (SYMHASH): Don't use HASHBITS.
              (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
              Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
              (simplify_subtraction): Fix kind comparison.
              (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
              Use a union to pun integer array.
              * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
              only hash two words of integral CONST_DOUBLE.
      
      From-SVN: r57356
      Richard Henderson committed
    • real.h (enum real_value_class, [...]): Move from real.c. · 0ee6fdb5
              * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
              MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
              (struct realvaluetype): Remove.
              (REAL_VALUE_TYPE): Use struct real_value.
              (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
              (test_real_width): New.
              * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
              (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
              (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
              real_isneg, real_isnegzero, real_identical, exact_real_inverse,
              real_to_integer, real_to_integer2, real_to_decimal,
              real_to_hexadecimal, real_from_string, real_from_integer,
              real_inf, real_nan, real_2expN, real_convert, real_to_target,
              real_from_target): Likewise.
              * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
              * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
      
      From-SVN: r57343
      Richard Henderson committed
    • real.h (UNKNOWN_FLOAT_FORMAT, [...]): Move ... · 66d93b5a
              * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
              IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
              * defaults.h: ... here.
              * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
              config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
              config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
              config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
      
      From-SVN: r57336
      Richard Henderson committed
  11. 17 Sep, 2002 1 commit
    • builtin-types.def (BT_FN_FLOAT_CONST_STRING): New. · 1472e41c
      gcc/
              * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
              (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
              * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
              (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
              * builtins.c (fold_builtin_nan): New.
              (fold_builtin): Call it.
              * real.c (real_nan): Parse a non-empty string.
              (round_for_format): Fix NaN significand truncation.
              * real.h (real_nan): Return bool.
              * doc/extend.texi: Document new builtins.
      
      libstdc++/
              * include/std/std_limits.h (__glibcpp_f32_QNaN_bytes,
              __glibcpp_f32_has_QNaN, __glibcpp_f32_SNaN_bytes,
              __glibcpp_f32_has_SNaN, __glibcpp_f64_QNaN_bytes,
              __glibcpp_f64_has_QNaN, __glibcpp_f64_SNaN_bytes,
              __glibcpp_f64_has_SNaN, __glibcpp_f80_QNaN_bytes,
              __glibcpp_f80_has_QNaN, __glibcpp_f80_SNaN_bytes,
              __glibcpp_f80_has_SNaN, __glibcpp_f96_QNaN_bytes,
              __glibcpp_f96_has_QNaN, __glibcpp_f96_SNaN_bytes,
              __glibcpp_f96_has_SNaN, __glibcpp_f128_QNaN_bytes,
              __glibcpp_f128_has_QNaN, __glibcpp_f128_SNaN_bytes,
              __glibcpp_f128_has_SNaN, __glibcpp_float_QNaN_bytes,
              __glibcpp_float_has_QNaN, __glibcpp_float_SNaN_bytes,
              __glibcpp_float_has_SNaN, __glibcpp_double_QNaN_bytes,
              __glibcpp_double_has_QNaN, __glibcpp_double_SNaN_bytes,
              __glibcpp_double_has_SNaN, __glibcpp_long_double_QNaN_bytes,
              __glibcpp_long_double_has_QNaN, __glibcpp_long_double_SNaN_bytes,
              __glibcpp_long_double_has_SNaN): Remove.
              (__glibcpp_f128_is_iec559): True if IEEE.
              (__glibcpp_float_QNaN, __glibcpp_float_SNaN): Remove.
              (__glibcpp_double_QNaN, __glibcpp_double_SNaN): Remove.
              (__glibcpp_long_double_QNaN, __glibcpp_long_double_SNaN): Remove.
              (std::numeric_limits<float>::has_quiet_NaN): Use __builtin_nanf.
              (std::numeric_limits<float>::has_signaling_NaN): Mirror has_quiet_NaN.
              (std::numeric_limits<float>::quiet_NaN): Use __builtin_nanf.
              (std::numeric_limits<float>::signaling_NaN): Use __builtin_nansf.
              (std::numeric_limits<double>): Similarly.
              (std::numeric_limits<long double>): Similarly.
              * src/limits.cc (__glibcpp_float_QNaN, __glibcpp_float_SNaN): Remove.
              (__glibcpp_double_QNaN, __glibcpp_double_SNaN): Remove.
              (__glibcpp_long_double_QNaN, __glibcpp_long_double_SNaN): Remove.
      
              * testsuite/18_support/numeric_limits.cc (test_infinity): New.
              (test_denorm_min, test_qnan, test_is_iec559): New.
      
      From-SVN: r57221
      Richard Henderson committed
  12. 16 Sep, 2002 1 commit
    • real.c, real.h: Rewrite from scratch. · efdc7e19
      gcc/
      	* real.c, real.h: Rewrite from scratch.
      
      	* Makefile.in (simplify-rtx.o): Depend on TREE_H.
      	(paranoia): New target.
      	* builtins.c (fold_builtin_inf): Use new real.h interface.
      	* c-common.c (builtin_define_with_hex_fp_value): Likewise.
      	* c-lex.c (interpret_float): Likewise.
      	* emit-rtl.c (gen_lowpart_common): Likewise.
      	* optabs.c (expand_float): Use real_2expN.
      	* config/ia64/ia64.md (divsi3, udivsi3): Likewise.
      	* defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
      	(FLOAT_WORDS_BIG_ENDIAN): New.
      	* cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
      	directly to REAL_VALUE_NEGATIVE.
      	* loop.c (canonicalize_condition): Likewise.
      	* simplify-rtx.c: Include tree.h.
      	(simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
      	with floating-point result modes.
      	* toplev.c (backend_init): Call init_real_once.
      
      	* fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
      	* tree.c (build_real): Likewise.
      	* config/alpha/alpha.c, config/vax/vax.c (float_strings,
      	float_values, inited_float_values, check_float_value): Remove.
      	* config/alpha/alpha.h, config/m68hc11/m68hc11.h,
      	config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
      	* doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
      
      gcc/f/
      	* target.c (ffetarget_real1): Don't pass FFETARGET_ATOF_
      	directly to ffetarget_make_real1.
      	(ffetarget_real2): Similarly.
      	* target.h (ffetarget_cvt_r1_to_rv_, ffetarget_cvt_rv_to_r2_,
      	ffetarget_cvt_r2_to_rv_): Use new real.h interface and simplify.
      
      gcc/java/
      	* jcf-parse.c (get_constant): Runtime check for IEEE format;
      	use new real.h interface.
      	* jcf-write.c (find_constant_index): Use new real.h interface.
      	* lex.c (IS_ZERO): Use REAL_VALUES_EQUAL.
      
      contrib/
      	* paranoia.cc: New file.
      
      From-SVN: r57198
      Richard Henderson committed
  13. 04 Sep, 2002 2 commits
    • builtin-types.def (BT_FN_FLOAT): New. · ab5e2615
              * builtin-types.def (BT_FN_FLOAT): New.
              (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
              * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
              BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
              * builtins.c (fold_builtin_inf): New.
              (fold_builtin): Call it.
              * real.c (ereal_inf): New.
              * real.h: Declare it.
              * doc/extend.texi: Document new builtins.
      
      From-SVN: r56820
      Richard Henderson committed
    • real.c (ereal_to_decimal): Add digits parameter. · 4b67a274
      	* real.c (ereal_to_decimal): Add digits parameter.
      	* real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
      	* c-pretty-print.c (pp_c_real_literal): Update call.
      	* print-rtl.c (print_rtx): Likewise.
      	* print-tree.c (print_node_brief, print_node): Likewise.
      	* sched-vis.c (print_value): Likewise.
      	* config/arc/arc.c (arc_print_operand): Likewise.
      	* config/c4x/c4x.c (c4x_print_operand): Likewise.
      	* config/i370/i370.h (PRINT_OPERAND): Likewise.
      	* config/i386/i386.c (print_operand): Likewise.
      	* config/i960/i960.c (i960_print_operand): Likewise.
      	* config/ip2k/ip2k.c (asm_output_float): Likewise.
      	* config/m32r/m32r.c (m32r_print_operand): Likewise.
      	* config/m68hc11/m68hc11.c (print_operand): Likewise.
      	* config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
      	ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
      	* config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
      	ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
      	* config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
      	ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
      	* config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
      	ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
      	* config/mips/mips.c (print_operand): Likewise.
      	* config/ns32k/ns32k.c (print_operand): Likewise.
      	* config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
      	* config/vax/vax.h (PRINT_OPERAND): Likewise.
      	* doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
      
              * f/target.h (ffetarget_print_real1, ffetarget_print_real2): Update
              call to REAL_VALUE_TO_DECIMAL.
      
      From-SVN: r56798
      Richard Henderson committed
  14. 04 Jun, 2002 1 commit
  15. 28 May, 2002 1 commit
    • tree.h: Forward-declare struct realvaluetype. · 11ad4784
      	* tree.h: Forward-declare struct realvaluetype.
      	(struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
      	contain it.
      	(TREE_REAL_CST_PTR): New accessor.
      	(TREE_REAL_CST): Update.
      	* real.h: Include machmode.h.
      	(realvaluetype): Make it struct realvaluetype, not a typedef.
      	(build_real): Prototype here.
      
      	* tree.c: Include real.h.
      	(build_real): Allocate the REAL_VALUE_TYPE as a separate
      	object in GC memory, set TREE_REAL_CST_PTR to point to it.
      	(build_real_from_int_cst): Use build_real.
      	* ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
      	REAL_CST.
      
      	* builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
      	fold-const.c, print-tree.c, real.c, cp/mangle.c, cp/tree.c,
      	f/bld.c, f/com.c, f/expr.c, f/target.c, java/decl.c,
      	java/jcf-parse.c, java/parse.y, java/typeck.c: Include real.h.
      	* Makefile.in, cp/Make-lang.in, f/Make-lang.in,
      	java/Make-lang.in: Update dependency lists.
      
      From-SVN: r53959
      Zack Weinberg committed
  16. 19 May, 2002 1 commit
  17. 13 May, 2002 1 commit
    • emit-rtl.c (global_rtl): Update comment. · 5692c7bc
      	* emit-rtl.c (global_rtl): Update comment.
      	(const_double_htab, const_double_htab_hash,
      	const_double_htab_hash, lookup_const_double): New.
      	(const_int_htab_hash, const_int_htab_eq): Remove const
      	qualifiers, which cause tons of warnings with RTL checking on.
      	(gen_rtx_CONST_DOUBLE): Deleted.
      	(const_double_from_real_value): New function - bears some
      	resemblance to the former immed_real_const_1.
      	(immed_double_const): Moved here from varasm.c and
      	simplified.
      	(gen_rtx_REG): Make REGNO unsigned to squelch warnings.
      	(gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
      	(gen_rtx): Use immed_double_const.
      	(init_emit_once): Initialize the const_double_htab.  Use
      	REAL_VALUE_FROM_INT where possible.  Can now use
      	CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
      	* varasm.c (struct varasm_status): Remove x_const_double_chain.
      	(const_double_chain, immed_real_const, clear_const_double_mem): Delete.
      	(immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
      	(init_varasm_status, mark_varasm_status): Don't touch
      	x_const_double_chain.
      
      	* output.h: Delete prototype for clear_const_double_mem.
      	* real.h: Make REAL_VALUE_TYPE a macro again.  Remove leading
      	'0' slot from all CONST_DOUBLE_FORMAT definitions.  Prototype
      	const_double_from_real_value, not immed_real_const_1, and use
      	it to define CONST_DOUBLE_FROM_REAL_VALUE.  Define new macro
      	CONST_DOUBLE_ATOF.
      	* rtl.h (CONST_DOUBLE_CHAIN): Kill.
      	(CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
      	(gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
      	(gen_rtx_REG): Second arg is unsigned.
      
      	* gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
      	(excluded_rtx): New, return true for CONST_DOUBLE.
      	(genmacro): Write nothing for excluded codes.
      	* combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
      	* expr.c (expand_expr): Likewise.
      	* ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
      	CONST_DOUBLE_CHAIN.
      	* toplev.c (rest_of_compilation): Don't call
      	clear_const_double_mem.
      
      	* config/rs6000/rs6000.c (rs6000_float_const): Delete.
      	(rs6000_hash_constant): Remove CONST_DOUBLE special case.
      	(toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
      	* config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
      	* config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
      	* config/dsp16xx/dsp16xx.md, config/mips/mips.md,
      	config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
      	* config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
      
      From-SVN: r53409
      Zack Weinberg committed
  18. 19 Apr, 2002 1 commit
    • real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as appropriate. · 46468cd9
      	* real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
      	appropriate.  Document need for extended precision even when
      	MAX_LONG_DOUBLE_TYPE_SIZE is smaller.  Define REAL_WIDTH here,
      	based on REAL_VALUE_TYPE_SIZE.  Use REAL_WIDTH to size
      	REAL_VALUE_TYPE.  Define CONST_DOUBLE_FORMAT here.  Use #error
      	instead of relying on later syntax error when REAL_WIDTH > 5.
      	* real.c: Define NE based only on whether or not we have a
      	full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
      	Require sizeof(REAL_VALUE_TYPE) == 2*NE.  Unconditionally
      	define GET_REAL and PUT_REAL as simple memcpy operations; no
      	need to byteswap or round.
      	Use #error instead of #ifdef-ing out the entire file, for
      	prompt error detection.
      
      	* rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
      
      From-SVN: r52502
      Zack Weinberg committed
  19. 25 Mar, 2002 1 commit
    • toplev.c: Don't include setjmp.h. · 15e5ad76
      	* toplev.c: Don't include setjmp.h.  Kill float_handler_set,
      	float_handled, float_handler, float_signal, set_float_handler,
      	and do_float_handler.  Set handler for SIGFPE to crash_signal.
      	* toplev.h: Don't prototype do_float_handler.
      
      	* c-lex.c: Fold parse_float into lex_number.  Make warning
      	about portability of hex float constants more informative, and
      	don't issue it on top of a syntax error.
      	* fold-const.c: Fold const_binop_1 and fold_convert_1 into
      	their callers.
      	* real.h: Define REAL_VALUE_ABS here...
      	* simplify-rtx.c: ... not here.  Fold check_fold_consts,
      	simplify_unary_real, simplify_binary_real, and
      	simplify_binary_is2orm1 into their callers.
      	* tree.c: Fold build_real_from_int_cst_1 into caller.
      
      	* doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
      
      	* tsystem.h: Include float.h here...
      	* libgcc2.c: ... not here.
      
      java:
      	* lex.c: Change java_perform_atof to take normal parameters
      	instead of a pointer to a parameter block.  Call it directly
      	from java_lex.
      
      testsuite:
      	* gcc.dg/c90-hexfloat-1.c: Adjust error regexps.
      
      From-SVN: r51336
      Zack Weinberg committed
  20. 23 Mar, 2002 2 commits
    • * real.h (N): Special case 128 bit doubles. · bbaa9790
      From-SVN: r51229
      Alan Modra committed
    • real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE. · b216cd4a
      	* real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
      	Always make REAL_VALUE_TYPE a struct containing an array of
      	HOST_WIDE_INT, not a double.  Tidy up the code deciding how
      	big it is.  Don't declare or use union real_extract.
      
      	* emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
      	decode_rtx_const, output_constant_pool), config/a29k/a29k.c
      	(print_operand), config/arm/arm.c (output_move_double),
      	config/arm/arm.md (consttable_4, consttable_8),
      	config/romp/romp.c (output_fpops), config/s390/s390.h
      	(ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
      	(xtensa_output_literal): Don't use union real_extract.
      
      	* config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
      	(sfmode_constant_to_ulong), config/ns32k/merlin.h
      	(PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
      	config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
      	(PRINT_OPERAND): Don't use local version of union
      	real_extract.
      
      	* config/convex/convex.c (check_float_value), config/vax/vax.c
      	(vax_float_literal), config/m88k/m88k.md (divdf3),
      	config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
      	config/pdp11/pdp11.c (output_move_quad): Don't do host
      	arithmetic on target floating point quantities.
      
      	* config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
      	(output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
      
      	* fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
      	Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
      
      	* real.c (earith): Test INFINITY rather than REAL_INFINITY;
      	NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
      	INFINITY.
      	* print-rtl.c (print_rtx): Disable code which needs
      	floating-point emulator.
      	* libgcc2.c: Include float.h and use DBL_MANT_DIG,
      	FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
      	depending on HOST_FLOAT_FORMAT to be defined properly.
      
      	* ch/grant.c, cp/error.c: Always use REAL_VALUE_TO_DECIMAL;
      	don't test REAL_IS_NOT_DOUBLE.
      
      	* config/1750a/1750a.c (get_double, float_label): Delete.
      	(print_operand): Delete huge commented-out chunk.  Use
      	REAL_VALUE_TO_DECIMAL.
      	* config/1750a/1750a-protos.h: Delete prototypes of deleted
      	functions.
      	* config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
      	IEEE_FLOAT_FORMAT.
      	* config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
      	Use REAL_VALUE_TO_DECIMAL as ELF version does.
      	* config/m88k/m88k.c (real_power_of_2_operand,
      	legitimize_operand): Take the REAL_VALUE_TYPE and/or union
      	real_extract out of the union; run the input through
      	REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
      	from that into the union.
      	* config/pdp11/pdp11.c (output_move_double): Rearrange
      	parentheses to make automatic indenter happy.
      
      	* doc/tm.texi (Cross-compilation): Rename node to "Floating
      	Point" and rewrite to describe current situation.  Also adjust
      	documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
      	match code.
      	* doc/rtl.texi: Adjust cross reference.
      
      From-SVN: r51210
      Zack Weinberg committed
  21. 03 Mar, 2002 1 commit
    • emit-rtl.c, [...]: Remove all #ifndef REAL_ARITHMETIC blocks... · ba31d94e
      	* emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
      	print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
      	tree.c, config/m68k/m68k.c, f/com.c, f/target.h, java/expr.c,
      	java/jcf-parse.c, java/lex.c:
      	Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
      	REAL_ARITHMETIC blocks unconditional.  Delete some further
      	#ifdef blocks predicated on REAL_ARITHMETIC.
      	* flags.h, toplev.c: Delete remaining references to
      	flag_pretend_float.
      
      	* doc/invoke.texi: Remove documentation of -fpretend-float.
      	* doc/tm.texi: Describe the various REAL_* macros as provided by
      	real.h, not by the target configuration files.
      
      	* config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
      	config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
      	config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
      	config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
      	config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
      	config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
      	config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
      	config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
      	config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
      	config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
      	config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
      	config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
      	config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
      	config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
      	config/xtensa/xtensa.h:
      	Do not define, undefine, or mention in comments any of
      	REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
      	REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
      	REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
      	REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
      	REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
      	REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
      	REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
      	REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
      	REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
      
      From-SVN: r50263
      Zack Weinberg committed
  22. 22 Jan, 2002 1 commit
    • predict.c: Fix formatting. · cf403648
      	* predict.c: Fix formatting.
      	* print-tree.c: Likewise.
      	* protoize.c: Likewise.
      	* real.h: Likewise.
      	* rtl.h: Likewise.
      	* sbitmap.h: Likewise.
      	* scan.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-vis.c: Likewise.
      	* sdbout.c: Likewise.
      	* sibcall.c: Likewise.
      	* ssa.c: Likewise.
      	* ssa-ccp.c: Likewise.
      	* ssa-dce.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* system.h: Likewise.
      
      From-SVN: r49074
      Kazu Hirata committed
  23. 28 Dec, 2001 1 commit
  24. 11 Oct, 2001 1 commit
    • calls.c: Fix formatting. · eebedaa5
      	* calls.c: Fix formatting.
      	* c-decl.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* combine.c: Likewise.
      	* cppfiles.c: Likewise.
      	* cpplib.c: Likewise.
      	* cppmacro.c: Likewise.
      	* crtstuff.c: Likewise.
      	* cse.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* gcse.c: Likewise.
      	* genattrtab.c: Likewise.
      	* ggc-page.c: Likewise.
      	* integrate.c: Likewise.
      	* libgcc2.c: Likewise.
      	* loop.c: Likewise.
      	* optabs.c: Likewise.
      	* profile.c: Likewise.
      	* protoize.c: Likewise.
      	* real.c: Likewise.
      	* recog.c: Likewise.
      	* reload1.c: Likewise.
      	* reload.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sdbout.c: Likewise.
      	* stmt.c: Likewise.
      	* toplev.c: Likewise.
      	* varasm.c: Likewise.
      
      From-SVN: r46182
      Kazu Hirata committed
  25. 22 Aug, 2001 1 commit
    • Makefile.in, [...]: replace "GNU CC" with "GCC". · 1322177d
      	* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
      	bitmap.h, builtin-types.def, builtins.c, builtins.def,
      	c-aux-info.c, c-common.c, c-common.def, c-common.h,
      	c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
      	c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
      	c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
      	caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
      	conditions.h, config.gcc, configure.frag, configure.in,
      	conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
      	cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
      	dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
      	doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
      	dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
      	emit-rtl.c, errors.c, errors.h, except.c, except.h,
      	exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
      	fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
      	function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
      	gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
      	gencheck.c, gencodes.c, genconfig.c, genemit.c,
      	genextract.c, genflags.c, gengenrtl.c, genmultilib,
      	genopinit.c, genoutput.c, genpeep.c, genrecog.c,
      	gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
      	ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
      	graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
      	gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
      	gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
      	hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
      	integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
      	libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
      	machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
      	mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
      	mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
      	params.h, predict.c, predict.def, predict.h, prefix.c,
      	prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
      	read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
      	regclass.c, regmove.c, regrename.c, regs.h, reload.c,
      	reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
      	rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
      	sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
      	sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
      	ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
      	stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
      	tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
      	tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
      	unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
      	unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
      	xcoffout.h: replace "GNU CC" with "GCC".
      
      From-SVN: r45105
      Lars Brinkhoff committed
  26. 06 Jul, 2001 1 commit
    • Makefile.in (final.o): Depend on target.h. · 08c148a8
      	* Makefile.in (final.o): Depend on target.h.
      	* final.c: Include target.h.
      	(default_function_pro_epilogue): New.
      	(final_start_function): Use target structure for function prologues.
      	(final_end_function): Use target structure for function epilogues.
      	* fold-const.c (real_hex_to_f): Constify s and p.
      	* output.h (default_function_pro_epilogue): New.
      	* real.h (real_hex_to_f): Update prototype.
      	* target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
      	TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
      	(TARGET_INITIALIZER): Update.
      	* target.h (gcc_target): Add struct asm_out.
      	* doc/tm.texi: Update.
      
      config:
      	Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
      	TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
      	in cpu/cpu.c, or rename old functions consistently.  Take
      	a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
      	redundant macros and prototypes.  Make new functions static.
      
      	* 1750a/1750a.c: Similarly.
      	* 1750a/1750a.h: Similarly.
      	* a29k/a29k-protos.h: Similarly.
      	* a29k/a29k.c: Similarly.
      	* a29k/a29k.h: Similarly.
      	* arc/arc-protos.h: Similarly.
      	* arc/arc.c: Similarly.
      	* arc/arc.h: Similarly.
      	* arm/arm-protos.h: Similarly.
      	* arm/arm.c: Similarly.
      	* arm/arm.h: Similarly.
      	* avr/avr-protos.h: Similarly.
      	* avr/avr.c: Similarly.
      	* avr/avr.h: Similarly.
      	* clipper/clipper-protos.h: Similarly.
      	* clipper/clipper.c: Similarly.
      	* clipper/clipper.h: Similarly.
      	* convex/convex.c: Similarly.
      	* convex/convex.h: Similarly.
      	* d30v/d30v-protos.h: Similarly.
      	* d30v/d30v.c: Similarly.
      	* d30v/d30v.h: Similarly.
      	* d30v/d30v.md: Similarly.
      	* dsp16xx/dsp16xx-protos.h: Similarly.
      	* dsp16xx/dsp16xx.c: Similarly.
      	* dsp16xx/dsp16xx.h: Similarly.
      	* elxsi/elxsi.c: Similarly.
      	* elxsi/elxsi.h: Similarly.
      	* fr30/fr30.c: Similarly.
      	* fr30/fr30.md: Similarly.
      	* h8300/h8300-protos.h: Similarly.
      	* h8300/h8300.c: Similarly.
      	* h8300/h8300.h: Similarly.
      	* i370/i370-protos.h: Similarly.
      	* i370/i370.c: Similarly.
      	* i370/i370.h: Similarly.
      	* i386/i386.c: Similarly.
      	* i386/osf1elf.h: Similarly.
      	* i386/osfrose.h: Similarly.
      	* i860/i860-protos.h: Similarly.
      	* i860/i860.c: Similarly.
      	* i860/i860.h: Similarly.
      	* i960/i960-protos.h: Similarly.
      	* i960/i960.c: Similarly.
      	* i960/i960.h: Similarly.
      	* ia64/ia64-protos.h: Similarly.
      	* ia64/ia64.c: Similarly.
      	* ia64/ia64.h: Similarly.
      	* m32r/m32r-protos.h: Similarly.
      	* m32r/m32r.c: Similarly.
      	* m32r/m32r.h: Similarly.
      	* m68hc11/m68hc11-protos.h: Similarly.
      	* m68hc11/m68hc11.c: Similarly.
      	* m68hc11/m68hc11.h: Similarly.
      	* m68k/crds.h: Similarly.
      	* m68k/dpx2.h: Similarly.
      	* m68k/m68k-protos.h: Similarly.
      	* m68k/m68k.c: Similarly.
      	* m68k/m68k.h: Similarly.
      	* m68k/news.h: Similarly.
      	* m88k/m88k-protos.h: Similarly.
      	* m88k/m88k.c: Similarly.
      	* m88k/m88k.h: Similarly.
      	* mips/mips-protos.h: Similarly.
      	* mips/mips.c: Similarly.
      	* mips/mips.h: Similarly.
      	* ns32k/merlin.h: Similarly.
      	* ns32k/ns32k.c: Similarly.
      	* ns32k/ns32k.h: Similarly.
      	* ns32k/tek6000.h: Similarly.
      	* pa/pa-protos.h: Similarly.
      	* pa/pa.c: Similarly.
      	* pa/pa.h: Similarly.
      	* pdp11/2bsd.h: Similarly.
      	* pdp11/pdp11-protos.h: Similarly.
      	* pdp11/pdp11.c: Similarly.
      	* pdp11/pdp11.h: Similarly.
      	* romp/romp-protos.h: Similarly.
      	* romp/romp.c: Similarly.
      	* romp/romp.h: Similarly.
      	* rs6000/rs6000-protos.h: Similarly.
      	* rs6000/rs6000.c: Similarly.
      	* rs6000/rs6000.h: Similarly.
      	* rs6000/sysv4.h: Similarly.
      	* sh/sh-protos.h: Similarly.
      	* sh/sh.c: Similarly.
      	* sh/sh.h: Similarly.
      	* sparc/sparc-protos.h: Similarly.
      	* sparc/sparc.c: Similarly.
      	* sparc/sparc.h: Similarly.
      	* vax/vax.c: Similarly.
      	* vax/vax.h: Similarly.
      	* vax/vms.h: Similarly.
      	* we32k/we32k.c: Similarly.
      	* we32k/we32k.h: Similarly.
      
      From-SVN: r43817
      Neil Booth committed
  27. 26 Jun, 2001 1 commit
  28. 26 May, 2001 1 commit
  29. 11 Apr, 2001 1 commit
  30. 10 Nov, 2000 1 commit
    • alpha.c (check_float_value): Use memcpy, not bcopy. · 4e135bdd
      	* alpha.c (check_float_value): Use memcpy, not bcopy.
      	* arm.c (output_move_double): Likewise.
      	* arm.md: Likewise.
      	* m88k.c (legitimize_operand): Likewise.
      	* m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
      	* m88k.md: Likewise.
      	* mips.c (override_options): Likewise.
      	* mips.md: Likewise.
      	* romp.c (output_fpops): Likewise.
      	* rs6000.c (rs6000_override_options): Likewise.
      	* sh.md: Likewise.
      	* vax.c (check_float_value): Likewise.
      
      	* emit-rtl.c (copy_rtx_if_shared, init_emit_once): Likewise.
      	* expmed.c (synth_mult): Likewise.
      	* final.c (add_bb_string): Likewise.
      	* genattr.c (main): Likewise.
      	* genattrtab.c (attr_string, simplify_cond, copy_rtx_unchanging):
      	Likewise.
      	* jump.c (thread_jumps): Likewise.
      	* prefix.c (save_string): Likewise.
      	* real.h (REAL_VALUE_FROM_CONST_DOUBLE): Likewise.
      	* regclass.c (init_reg_sets, init_reg_sets_1): Likewise.
      	* reload1.c (reload, eliminate_regs): Likewise.
      
      cp:
      	* decl.c (grokdeclarator, save_function_data): Use memcpy, not bcopy.
      	* lex.c (copy_lang_decl): Likewise.
      
      java:
      	* decl.c (copy_lang_decl): Use memcpy, not bcopy.
      	* jcf-parse.c (jcf_figure_file_type): Likewise.
      
      From-SVN: r37367
      Kaveh R. Ghazi committed
  31. 09 Nov, 2000 1 commit
    • calls.c (expand_call, [...]): Use memcpy () instead of bcopy (). · 2e09e75a
      	* calls.c (expand_call, emit_library_call_value_1), collect2.c
      	(scan_prog_file), config/a29k/a29k.c (print_operand),
      	config/sparc/sparc.c (order_regs_for_local_alloc): Use memcpy ()
      	instead of bcopy ().
      	* real.h: Use memcmp () instead of bcmp ().
      	* config/m88k/m88k.c (m88k_layout_frame), config/sh/sh.c
      	(split_branches), config/sparc/sparc.c (ultra_flush_pipeline,
      	ultrasparc_sched_init, ultrasparc_sched_reorder),
      	config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Use memset ()
      	instead of bzero ().
      	* config/vax/xm-xms.h (FILE_NAME_NONDIRECTORY): Use strrchr ()
      	instead of rindex ().
      	* configure.in: Don't check for bzero, bcmp, index or rindex.
      	* configure, config.in: Regenerate.
      	* system.h: Don't include declarations for bzero, bcmp, index or
      	rindex.
      	* config/i386/xm-beos.h, config/rs6000/xm-beos.h: Don't define
      	bzero, bcmp, index or rindex.
      
      java:
      	* parse.y (create_new_parser_context): Use memset () instead of
      	bzero ().
      
      From-SVN: r37334
      Joseph Myers committed
  32. 14 Aug, 2000 1 commit
    • configure.in (ia64-*): Set float_format for i386 long double. · 3f622353
      	* configure.in (ia64-*): Set float_format for i386 long double.
      
      	* real.c (GET_REAL): Treat 128-bit INTEL_EXTENDED_IEEE_FORMAT
      	as we would for i386 XFmode.
      	(PUT_REAL): Likewise.
      	(endian, ereal_atof, real_value_truncate): Likewise.
      	(ereal_isneg, toe64, etens, make_nan): Likewise.
      	* real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Likewise.
      
      	* config/ia64/ia64-protos.h: Update.
      	* config/ia64/ia64.c (general_tfmode_operand): New.
      	(destination_tfmode_operand): New.
      	(tfreg_or_fp01_operand): New.
      	(ia64_split_timode): New.
      	(spill_tfmode_operand): New.
      	(ia64_expand_prologue): Use TFmode not XFmode.
      	(ia64_expand_epilogue): Likewise.
      	(ia64_function_arg): Likewise.
      	(ia64_function_arg_advance): Likewise.
      	(ia64_return_in_memory): Likewise.
      	(ia64_function_value): Likewise.
      	(ia64_print_operand): Likewise.
      	(ia64_register_move_cost): Set GR<->FR to 5.
      	(ia64_secondary_reload_class): Get GR for TImode memory op.
      	* config/ia64/ia64.h (ROUND_TYPE_SIZE): Remove.
      	(ROUND_TYPE_ALIGN): Remove.
      	(LONG_DOUBLE_TYPE_SIZE): Set to 128.
      	(INTEL_EXTENDED_IEEE_FORMAT): Define.
      	(HARD_REGNO_NREGS): Use TFmode, not XFmode.
      	(HARD_REGNO_MODE_OK): Likewise.  Disallow TImode in FRs.
      	(MODES_TIEABLE_P): Use TFmode, not XFmode.
      	(CLASS_MAX_NREGS): Likewise.
      	(ASM_OUTPUT_LONG_DOUBLE): Output by 4 byte hunks.
      	(PREDICATE_CODES): Update.
      	* config/ia64/ia64.md (movti): New.
      	(movti_internal): Use a clobber for memory alternatives.
      	(reload_inti, reload_outti): New.
      	(movsfcc_astep): Predicate properly.
      	(movdfcc_astep): Likewise.
      	(movxf): Remove.
      	(movtf): New.
      	(extendsftf2, extenddftf2): New.
      	(trunctfsf2, trunctfdf2): New.
      	(floatditf2, fix_trunctfdi2): New.
      	(floatunsditf2, fixuns_trunctfdi2): New.
      	(addtf3, subtf3, multf3, abstf2): New.
      	(negtf2, nabstf2, mintf3, maxtf3): New.
      	(maddtf3, msubtf3, nmultf3, nmaddtf3): New.
      	(cmptf): New.
      	(fr_spill): Use TFmode, not XFmode.
      	(fr_restore): Likewise.
      	* config/ia64/lib1funcs.asm (__divtf3): New.
      	* config/ia64/t-ia64 (LIB1ASMFUNCS): Add it.
      
      From-SVN: r35689
      Richard Henderson committed
  33. 05 Aug, 2000 1 commit
    • [multiple changes] · a36556a8
      2000-08-04  Andreas Schwab  <schwab@suse.de>
      
      	* cppmain.c (cb_def_pragma): Skip the first two tokens from the
      	token list, which are always `#' and `pragma'.
      
      2000-08-04  Zack Weinberg  <zack@wolery.cumb.org>
      
      	* tree.c (tree_expr_nonnegative_p): Move to...
      	* fold-const.c: ... here.  Also handle BIND_EXPR and RTL_EXPR.
      	(rtl_expr_nonnegative_p): New.
      	* tree.h: Add prototype for rtl_expr_nonnegative_p.
      
      	* real.h (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH, CONST_DOUBLE_MEM,
      	CONST_DOUBLE_CHAIN: Move to...
      	* rtl.h: ...here.  Use XCINT/XCEXP.
      
      	* Makefile.in: Remove toplev.o from OBJS.  Add rule to make
      	libbackend.a; add libbackend.a to STAGESTUFF.  Add BACKEND
      	variable.  Use BACKEND when linking cc1, not OBJS.  Add BACKEND
      	to VOL_FILES.
      
      	* objc/Make-lang.in (cc1obj): Link with $(BACKEND).
      
      ch:
      	* Make-lang.in (cc1chill): Depend on $(BACKEND), not stamp-objlist.
      	* Makefile.in (cc1chill): Link with $(BACKEND).  Define BACKEND,
      	eliminate C_OBJS (was commented out), OBJS, OBJDEPS.
      cp:
              * Make-lang.in (cc1plus): Depend on $(BACKEND), not stamp-objlist.
              * Makefile.in: Add C_OBJS, BACKEND; delete OBJS, OBJDEPS.
              (cc1plus): Link with $(BACKEND) and $(C_OBJS).
      f:
      	* Make-lang.in (f771): Depend on $(BACKEND), not stamp-objlist.
      	* Makefile.in: Add BACKEND; delete OBJS, OBJDEPS.
      	(f771): Link with $(BACKEND).
      java:
      	* Make-lang.in (jc1, jv-scan): Depend on $(BACKEND), not stamp-objlist.
      	* Makefile.in: Add BACKEND; delete OBJS, OBJDEPS.
      	(jc1): Link with $(BACKEND).
      	(jv-scan): Depend on version.o, not all of $(OBJS) or $(BACKEND).
      
      From-SVN: r35501
      Zack Weinberg committed
  34. 17 Jul, 2000 1 commit
  35. 11 Jun, 2000 1 commit
    • [multiple changes] · cbd3488b
      2000-06-09  Rodney Brown  <RodneyBrown@mynd.com>
      
              * mcore-protos.h: discards const warning removal.
              * mcore.c: discards const warning removal.
      
      2000-06-09  Kazu Hirata  <kazu@hxi.com>
      
              * config/h8300/lib1funcs.asm: Declare the machine architecture at
              the beginning of the file.
      
      2000-06-09  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
      
              * real.h:  Add prototype for ldexp.
      
      From-SVN: r34496
      Jeff Law committed