1. 23 Mar, 2002 16 commits
    • * real.h (N): Special case 128 bit doubles. · bbaa9790
      From-SVN: r51229
      Alan Modra committed
    • gnat_rm.texi: Sync with ACT version. · ad42149c
      2002-03-23  Florian Weimer  <fw@deneb.enyo.de>
      
      	* gnat_rm.texi: Sync with ACT version.
                (From Ben Brosgol <brosgol@gnat.com>)
      
      From-SVN: r51228
      Florian Weimer committed
    • re PR c++/6037 (ICE in enum after switch() (gcc 3.0.4)) · e756a7da
      	PR c++/6037
      	* decl.c (start_enum): Don't set TREE_ADDRESSABLE on TREE_LIST node.
      
      	* g++.dg/other/enum1.C: New test.
      
      From-SVN: r51227
      Jakub Jelinek committed
    • * gcc.dg/pragma-ep-3.c: Fix typo. · 5365c83f
      From-SVN: r51226
      Zack Weinberg committed
    • Daily bump. · 0e634696
      From-SVN: r51225
      GCC Administrator committed
    • acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_SUPP): Just test for signbit and __signbit directly. · f9ff9746
      
      2002-03-22  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_SUPP): Just test for
      	signbit and __signbit directly.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* config.h.in: Regenerate.
      	* libmath/Makefile.am: Simplify.
      	* libmath/Makefile.in: Regenerate.
      	* include/c_std/std_cmath.h: Update paths for include of cmath.tcc.
      
      	* include/Makefile.am: Clean up handling of extra "C" header files.
      	Add hooks for "C" compatibility headers.
      	* include/Makefile.in: Regenerate.
      
      	* include/c/*: Formatting tweaks, cleanups.
      	* include/c_std/*: Same.
      
      From-SVN: r51221
      Benjamin Kosnik committed
    • acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_SUPP): Just test for signbit and __signbit directly. · 34ff0b99
      
      2002-03-22  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_SUPP): Just test for
      	signbit and __signbit directly.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* config.h.in: Regenerate.
      	* libmath/Makefile.am: Simplify.
      	* libmath/Makefile.in: Regenerate.
      	* include/c_std/std_cmath.h: Update paths for include of cmath.tcc.
      
      	* include/Makefile.am: Clean up handling of extra "C" header files.
      	Add hooks for "C" compatibility headers.
      	* include/Makefile.in: Regenerate.
      
      	* include/c/*: Formatting tweaks, cleanups.
      	* include/c_std/*: Same.
      
      From-SVN: r51220
      Benjamin Kosnik committed
    • messages_members.h: Add __uselocale bits. · 1f3a2ce1
      
      2002-03-22  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* config/locale/gnu/messages_members.h: Add __uselocale bits.
      	* config/locale/gnu/messages_members.cc: Same.
      	* config/locale/gnu/time_members.cc: Same.
      
      From-SVN: r51217
      Benjamin Kosnik committed
    • combine.c (simplify_comparison): When widening modes, ignore sign extension on CONST_INTs. · d4c5ac1f
      	* combine.c (simplify_comparison): When widening modes, ignore
      	sign extension on CONST_INTs.
      
      From-SVN: r51216
      Alan Modra committed
    • xtensa.c (print_operand): Fix incorrect mode passed to adjust_address. · 84bf8c2c
              * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
              passed to adjust_address.  Fix comment formatting.
      
      From-SVN: r51215
      Bob Wilson committed
    • re PR c++/3656 (ICE when incorrectly deriving a class from a templated base in another namespace) · acb044ee
      cp/
              PR C++/3656
              * semantics.c (finish_base_specifier): Handle erronous base
              classes.
      
      testsuite/
              * g++.dg/inherit/template-as-base.C: New test.
      
      From-SVN: r51214
      Gabriel Dos Reis committed
    • Andrew Haley <aph@cambridge.redhat.com> · c58408bf
      2002-03-22  Tom Tromey  <tromey@redhat.com>
      
      	Andrew Haley  <aph@cambridge.redhat.com>
      
      	* expr.c (build_field_ref): Don't build a check if the field is a
      	member of `this'.
      
      From-SVN: r51213
      Tom Tromey 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
    • For PR java/6026: · 4e9a8e8d
      2002-03-22  Eric Blake  <ebb9@email.byu.edu>
      
      	For PR java/6026:
      	* libjava.compile/PR6026.java: New file.
      
      From-SVN: r51209
      Eric Blake committed
    • re PR java/6026 (float literals in expressions are not properly recognized) · 6c18d181
      2002-03-21  Eric Blake  <ebb9@email.byu.edu>
      
      	Fix for PR java/6026:
      	* lex.c (java_lex): Fix parsing of consecutive floats.
      
      From-SVN: r51207
      Eric Blake committed
  2. 22 Mar, 2002 24 commits
    • xtensa-protos.h (non_acc_reg_operand): Remove. · a8cacfd2
      	* config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
      	(xtensa_valid_move, xtensa_preferred_reload_class): Define.
      	* config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
      	(xtensa_valid_move, xtensa_preferred_reload_class): Define to
      	prevent use of sp as a reload register.
      	(xtensa_emit_move_sequence): Use xtensa_valid_move instead of
      	non_acc_reg_operand.
      	* config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
      	(PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
      	* config/xtensa/xtensa.md (movsi_internal, movhi_internal,
      	movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
      
      From-SVN: r51201
      Bob Wilson committed
    • c-pragma.c (maybe_apply_renaming_pragma): New. · 41c64394
              * c-pragma.c (maybe_apply_renaming_pragma): New.
              (handle_pragma_redefine_extname, pending_redefine_extname): New.
              (handle_pragma_extern_prefix, pragma_extern_prefix): New.
              (init_pragma): Register them.
              * c-pragma.h (maybe_apply_renaming_pragma): Declare.
              * c-decl.c (finish_decl): Call it.
              * cp/decl.c (cp_finish_decl): Likewise.
              * doc/extend.texi: Document the new pragmas.
      
              * config/alpha/osf.h (CPP_SUBTARGET_SPEC): Add __EXTERN_PREFIX.
              (HANDLE_PRAGMA_EXTERN_PREFIX): New.
      
              * config/i386/sol2.h (CPP_PREDEFINES): Add __PRAGMA_REDEFINE_EXTNAME.
              (HANDLE_PRAGMA_REDEFINE_EXTNAME): New.
              * config/sparc/sol2.h: Likewise.
      
              * g++.dg/other/pragma-re-1.C: New.
              * g++.dg/other/pragma-ep-1.C: New.
              * gcc.dg/pragma-re-1.c, gcc.dg/pragma-re-2.c: New.
              * gcc.dg/pragma-ep-1.c, gcc.dg/pragma-ep-2.c: New.
              * gcc.dg/pragma-ep-3.c: New.
      
      From-SVN: r51200
      Richard Henderson committed
    • dwarf2-1.C: Move... · 661fff62
      	* g++.old-deja/g++.other/dwarf2-1.C: Move...
      	* g++.dg/debug/debug5.C: ...here.  Convert for dg framework.
      
      From-SVN: r51197
      Jakub Jelinek committed
    • cpphash.h (struct cpp_reader): Remove mls_line and mls_col. · d4e6133f
              * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
              * cpplex.c (unterminated): Delete.
              (parse_string): No string literal may extend over multiple
              lines.  Suppress the error when preprocessing assembly.
      	* cppmain.c (scan_translation_unit): Strings are single-line.
      
              * doc/cpp.texi: Update to match.
              * testsuite/gcc.dg/cpp/multiline.c: Update to match.
      
      From-SVN: r51195
      Neil Booth committed
    • re PR rtl-optimization/5854 (initialize_uninitialized_subregs() breaks HC11/HC12 port) · 65e6c005
      	PR optimization/5854
      	* config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
      	Shut up warnings.
      	(CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
      	(EXTRA_CONSTRAINT): Use S for non-push memory operand.
      	* config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
      	const0 if scratch register was not allocated.
      	(m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
      	m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
      	with GEN_INT (...).
      	(m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
      	* config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
      	with GEN_INT (...) everywhere.  Remove constraints in define_split
      	patterns.
      	(movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
      	require scratch register for setting 0 into regs/non-pushable memory.
      
      From-SVN: r51194
      Jakub Jelinek committed
    • typeck.c (expand_ptrmemfunc_cst): Scale idx down to an index into the… · 9181f8db
      typeck.c (expand_ptrmemfunc_cst): Scale idx down to an index into the vtable_entry array regardless of...
      
      * typeck.c (expand_ptrmemfunc_cst): Scale idx down to an index
      into the vtable_entry array regardless of
      TARGET_PTRMEMFUNC_VBIT_LOCATION.
      
      From-SVN: r51192
      Jeff Knaggs committed
    • mips.h (MASK_RETURN_ADDR): Define. · 7f48c9e1
      * config/mips/mips.h (MASK_RETURN_ADDR): Define.
      (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
      
      From-SVN: r51191
      Alexandre Oliva committed
    • cpplib.h (struct cpp_options): New member, warn_endif_labels. · 909de5da
      2002-03-22  Phil Edwards  <pme@gcc.gnu.org>
      
      	* cpplib.h (struct cpp_options):  New member, warn_endif_labels.
      	* cppinit.c (cpp_create_reader):  On by default.
      	(cpp_handle_option):  Handle -W[no-]endif-labels.
      	(cpp_post_options):  Also enable if -pedantic.
      	* cpplib.c (do_else):  Use it.
      	(do_endif):  Likewise.
      	* doc/cppopts.texi:  Document new option.
      	* doc/invoke.texi:  Document new option.
      
      From-SVN: r51190
      Phil Edwards committed
    • extratokens2.c: New file. · 4299b4e1
      2002-03-22  Phil Edwards  <pme@gcc.gnu.org>
      
      	* gcc.dg/cpp/extratokens2.c:  New file.
      
      From-SVN: r51188
      Phil Edwards committed
    • i386.c, i386.md: Change all occurences of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...). · d8bf17f9
              * config/i386/i386.c, config/i386/i386.md: Change all occurences
              of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
      
      From-SVN: r51186
      Lars Brinkhoff committed
    • vterminate.cc: Format, -fno-exceptions cleanup. · 2ca08953
      
      2002-03-22  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* src/vterminate.cc: Format, -fno-exceptions cleanup.
      
      From-SVN: r51185
      Benjamin Kosnik committed
    • flow.c (calculate_global_regs_live): Clear aux fields of ENTRY and EXIT. · 70e0ccd0
      * flow.c (calculate_global_regs_live): Clear aux fields of
      ENTRY and EXIT.
      
      From-SVN: r51183
      Alexandre Oliva committed
    • v850.c (v850_reorg): Only call alter_subreg on REG or MEM subregs, pass rtx * instead of rtx to it. · 68882f0f
      	* config/v850/v850.c (v850_reorg): Only call alter_subreg on
      	REG or MEM subregs, pass rtx * instead of rtx to it.
      	* config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
      	rtx * instead of rtx to alter_subreg.
      	* config/m32r/m32r.c (gen_split_move_double): Likewise.
      	* config/pj/pj.c (pj_output_rval): Likewise.
      
      From-SVN: r51182
      Jakub Jelinek committed
    • re PR target/3177 (Invalid sibcall optimisation on ia64) · 648fe28b
              PR target/3177
              * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
              (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
              * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
              (ia64_expand_prologue): Look at int_regs, not words, for number
              of incomming int regs.
      
      From-SVN: r51180
      Richard Henderson committed
    • Fix. · 1813dafd
      From-SVN: r51178
      Jakub Jelinek committed
    • fix g++ testcase crash namedret1.c on sparcv9 and s390 · e8dcd824
      2002-03-22  Andrew MacLeod  <amacleod@redhat.com>
      
      	* expr.c (expand_expr): A RESULT_DECL is part of a call.
      
      From-SVN: r51177
      Andrew MacLeod committed
    • * gcc.c-torture/compile/20020319-1.c: New test. · 7614d20b
      From-SVN: r51176
      David Edelsohn committed
    • toplev.c (flag_loop_optimize, [...]): New static variables. · 96327cdc
      	* toplev.c (flag_loop_optimize, flag_crossjumping):
      	New static variables.
      	(rest_of_compilation): Conditionalize crossjumping and
      	loop optimizer.
      	(parse_options_and_default_flags): Default loop_optimize and
      	crossjumping.
      	(lang_independent_options): Add -fcrossjumping and -floop-optimize
      	* invoke.texi (crossjumping, loop-optimize): Document.
      
      From-SVN: r51175
      Jan Hubicka committed
    • * real.c (eiisneg): Move outside #ifdef NANS. · bc185257
      From-SVN: r51172
      Richard Sandiford committed
    • Fix the constant I forgot to update :( · 7225b8ec
      From-SVN: r51170
      Jan Hubicka committed
    • Thread_Interrupt.java (Looper.calibrate): New. · f42f14a9
      2002-03-21  Andrew Haley  <aph@redhat.com>
      
      	* libjava.lang/Thread_Interrupt.java (Looper.calibrate): New.
      	(yields): New.
      
      From-SVN: r51169
      Andrew Haley committed
    • cfgcleanup.c (outgoing_edges_math): Fix condition; relax frequencies match;… · 0a2ed1f1
      cfgcleanup.c (outgoing_edges_math): Fix condition; relax frequencies match; avoid match on different loop depths.
      
      	* cfgcleanup.c (outgoing_edges_math): Fix condition; relax
      	frequencies match; avoid match on different loop depths.
      	(try_crossjump_to_bb): Kill tests that no longer brings time
      	savings.
      	* cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
      	updating code.
      	(split_edge): Likewise.
      
      	* flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
      	variable.
      
      	* Makefile.in (cfgrtl): Add insn-config.h depenendency.
      	* cfgrtl.c: Include insn-config.h
      	(split_block) Dirtify block in presence of conditional execution
      
      From-SVN: r51168
      Jan Hubicka committed
    • abi64.h (SETUP_INCOMING_VARARGS): Undefine. · 4d72536e
      	* config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
      	* config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
      	(function_arg): Constify CUMULATIVE_ARGS.
      	(function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
      	* config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
      	(UNITS_PER_DOUBLE): New macro.
      	(SETUP_INCOMING_VARARGS): Define.  Use mips_setup_incoming_varargs.
      	(CUMULATIVE_ARGS): Reformat.  Remove num_adjusts workaround and
      	last_arg_fp field.  Replace arg_words and fp_arg_words with gp_regs,
      	fp_regs and stack_words.
      	(EABI_FLOAT_VARARGS_P): New macro.
      	* config/mips/mips.c (struct mips_arg_info): New.
      	(mips_arg_info): New function.
      	(function_arg_advance): Use it.  Add adjustment instructions here
      	rather than in function_arg.
      	(function_arg): Constify CUMULATIVE_ARGS.  Use mips_arg_info.  Check
      	for VOIDmode at the beginning of the function.
      	(function_partial_nregs): Constify CUMULATIVE_ARGS.  Use mips_arg_info.
      	(function_arg_pass_by_reference): Likewise.
      	(mips_setup_incoming_varags): New, largely based on old abi64.h code.
      	(mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
      	(mips_va_start): Likewise.  Use the new stack_words field of
      	CUMULATIVE_ARGS to set up overflow area.  Reformat.
      	(mips_va_arg): Test EABI_FLOAT_VARARGS_P.  Unify EABI handling of
      	doubles and other types, aligning the overflow pointer for non-doubles
      	too.  Remove some code duplication.  Replace hard-coded constants.
      
      From-SVN: r51167
      Richard Sandiford committed