Per Bothner [Thu, 26 Feb 2004 05:30:01 +0000 (21:30 -0800)]
parse.y (build_assertion): If we're in an inner class, create the class$ helper routine in the outer class.
* parse.y (build_assertion): If we're in an inner class, create the
class$ helper routine in the outer class.
From-SVN: r78489
Per Bothner [Thu, 26 Feb 2004 04:58:07 +0000 (20:58 -0800)]
Improve some comments.
From-SVN: r78486
Alan Modra [Thu, 26 Feb 2004 03:21:15 +0000 (03:21 +0000)]
gcse.c (delete_null_pointer_checks_1): Do not delete CC setter unless HAVE_cc0.
* gcse.c (delete_null_pointer_checks_1): Do not delete CC setter
unless HAVE_cc0.
From-SVN: r78484
Richard Henderson [Thu, 26 Feb 2004 02:59:57 +0000 (18:59 -0800)]
20040208-2.c: Move ...
* gcc.c-torture/execute/
20040208-2.c: Move ...
* gcc.c-torture/execute/ieee/
20040208-2.c: ... here.
From-SVN: r78483
Giovanni Bajo [Thu, 26 Feb 2004 02:19:24 +0000 (02:19 +0000)]
re PR c++/14246 (Problems with templates, ice in write_template_arg_literal)
PR c++/14246
* g++.dg/other/crash-3.C: New test.
From-SVN: r78479
Giovanni Bajo [Thu, 26 Feb 2004 02:17:26 +0000 (02:17 +0000)]
re PR c++/14246 (Problems with templates, ice in write_template_arg_literal)
PR c++/14246
* mangle.c (write_template_arg_literal): Don't rely on identity for
boolean constants.
From-SVN: r78478
Matt Kraai [Thu, 26 Feb 2004 02:09:35 +0000 (02:09 +0000)]
ffi.c (ffi_prep_args_SYSV): Change ecif->cif->bytes to bytes.
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
ecif->cif->bytes to bytes.
(ffi_prep_cif_machdep): Add braces around nested if statement.
From-SVN: r78477
Richard Henderson [Thu, 26 Feb 2004 01:45:32 +0000 (17:45 -0800)]
explow.c (force_reg): Call mark_reg_pointer as appropriate.
* explow.c (force_reg): Call mark_reg_pointer as appropriate.
* config/alpha/alpha.c (alpha_emit_conditional_branch): Don't
use (op0-op1) == 0 if op0 is a pointer.
* config/alpha/alpha.md (cmpdi): Use some_operand.
(three comparison combine splits): Remove.
From-SVN: r78475
Richard Henderson [Thu, 26 Feb 2004 01:25:31 +0000 (17:25 -0800)]
Set pr tag.
From-SVN: r78473
Richard Henderson [Thu, 26 Feb 2004 01:24:37 +0000 (17:24 -0800)]
c-common.c (handle_alias_attribute): Reject the attribute if current_function_decl is set.
* c-common.c (handle_alias_attribute): Reject the attribute if
current_function_decl is set.
From-SVN: r78472
GCC Administrator [Thu, 26 Feb 2004 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r78468
Kelley Cook [Wed, 25 Feb 2004 21:43:26 +0000 (21:43 +0000)]
config.gcc: Add comment describing extra_gcc_objs.
2004-02-25 Kelley Cook <kcook@gcc.gnu.org>
* config.gcc: Add comment describing extra_gcc_objs.
i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs.
* configure.ac (extra_gcc_objs): New substitution variable.
(host_extra_gcc_objs): Don't substitute.
* configure: Regenerate.
* Makefile.in: Use extra_gcc_objs.
From-SVN: r78459
Carlo Wood [Wed, 25 Feb 2004 21:31:01 +0000 (21:31 +0000)]
* bits/demangle.h
namespace __gnu_cxx::demangler
(session<Allocator>::qualifier_list_Allocator): Add
(session<Allocator>::M_qualifier_list_alloc): Add
(session<Allocator>::decode_type_with_postfix):
Use M_qualifier_list_alloc instead of calling operator new/delete.
From-SVN: r78457
Nathanael Nerode [Wed, 25 Feb 2004 21:26:22 +0000 (21:26 +0000)]
acinclude.m4: De-precious CC and CXX so that the right flags are passed down to multilibs.
* acinclude.m4: De-precious CC and CXX so that the right flags
are passed down to multilibs.
* aclocal.m4: Regenerate.
* configure: Regenerate.
From-SVN: r78456
Kelley Cook [Wed, 25 Feb 2004 21:26:12 +0000 (21:26 +0000)]
* doc/contrib.texi: Add an entry for myself.
From-SVN: r78455
Kelley Cook [Wed, 25 Feb 2004 21:16:01 +0000 (21:16 +0000)]
Add myself to write-after-approval.
From-SVN: r78453
John David Anglin [Wed, 25 Feb 2004 20:03:41 +0000 (20:03 +0000)]
inline4.C (dg-final): Robustify regexp.
* g++.dg/opt/inline4.C (dg-final): Robustify regexp.
* g++.dg/opt/inline6.C (dg-final): Robustify regexp.
From-SVN: r78449
Jan Hubicka [Wed, 25 Feb 2004 20:00:00 +0000 (21:00 +0100)]
basic-block.h (make_eh_edge, [...]): Declare.
* basic-block.h (make_eh_edge, break_superblocks): Declare.
* cfgbuild.c (make_eh_edge): Make global.
* cfglayout.c (break_superblocks): Likewise; fix memory leak.
* except.c (build_post_landing_pads, connect_post_landing_pads,
dw2_build_landing_pads, sjlj_emit_function_enter,
sjlj_emit_function_exit, sjlj_emit_dispatch_table,
sjlj_build_landing_pads): Update CFG.
(emit_to_new_bb_before): New function.
(finish_eh_generation): Do not rebuild the CFG.
From-SVN: r78448
Anthony Green [Wed, 25 Feb 2004 19:52:58 +0000 (19:52 +0000)]
de-pessimization
From-SVN: r78447
John David Anglin [Wed, 25 Feb 2004 19:45:13 +0000 (19:45 +0000)]
config.gcc (hppa*-*-*, [...]): Add MASK_BIG_SWITCH to all target_cpu_default defines.
* config.gcc (hppa*-*-*, parisc*-*-*): Add MASK_BIG_SWITCH to all
target_cpu_default defines.
* pa-hpux.h (TARGET_DEFAULT): Add MASK_BIG_SWITCH to define.
* pa.h (TARGET_DEFAULT): Likewise.
From-SVN: r78446
John David Anglin [Wed, 25 Feb 2004 18:25:08 +0000 (18:25 +0000)]
builtins-config.h (HAVE_C99_RUNTIME): Don't define for PA HP-UX.
* gcc.dg/builtins-config.h (HAVE_C99_RUNTIME): Don't define for PA
HP-UX.
From-SVN: r78443
Eric Botcazou [Wed, 25 Feb 2004 18:15:52 +0000 (19:15 +0100)]
fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like comparisons with regard to signedness.
* fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like
comparisons with regard to signedness.
From-SVN: r78441
Joseph Myers [Wed, 25 Feb 2004 17:26:04 +0000 (17:26 +0000)]
* fr.po: Update.
From-SVN: r78439
Richard Earnshaw [Wed, 25 Feb 2004 17:03:27 +0000 (17:03 +0000)]
arm.c (thumb_legitimize_address): New function.
* arm.c (thumb_legitimize_address): New function.
* arm-protos.h: Prototype it.
* arm.h (THUMB_LEGITIMIZE_ADDRESS): Define.
(LEGITIMIZE_ADDRESS): Use it.
From-SVN: r78437
Arnaud Charlet [Wed, 25 Feb 2004 15:59:05 +0000 (16:59 +0100)]
[multiple changes]
2004-02-25 Robert Dewar <dewar@gnat.com>
* 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
the defining instance of the type to avoid aliasing problems.
Fix copyright header. Fix bad comments in package header.
* exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
2004-02-25 Ed Schonberg <schonberg@gnat.com>
* exp_ch2.adb (Param_Entity): Handle properly formals that have been
rewritten as references when aliased through an address clause.
* sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
whether call can be interpreted as an indirect call to the result of a
parameterless function call returning an access subprogram.
2004-02-25 Arnaud Charlet <charlet@act-europe.fr>
Code clean up:
* exp_ch7.adb (Make_Clean): Remove generation of calls to
Unlock[_Entries], since this is now done by Service_Entries directly.
* exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
* s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
Requeue_Call for better code readability. Change spec and update calls:
PO_Service_Entries now unlock the PO on exit.
(Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
PO_Service_Entries.
* s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
* s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
2004-02-25 Sergey Rybin <rybin@act-europe.fr>
* exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
protected subprogram call and analyzing the result of such expanding
in case when the called protected subprogram is eliminated.
* sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
names.
2004-02-25 Jerome Guitton <guitton@act-europe.fr>
* Makefile.in: Clean ups.
From-SVN: r78436
J"orn Rennecke [Wed, 25 Feb 2004 12:42:26 +0000 (12:42 +0000)]
reload1.c (reload): Only spill eliminable register with multiple adjacent elimination alternatives...
* reload1.c (reload): Only spill eliminable register with multiple
adjacent elimination alternatives if all alternatives fail.
From-SVN: r78430
Richard Earnshaw [Wed, 25 Feb 2004 12:30:13 +0000 (12:30 +0000)]
arm.c (arm_legitimate_index_p): For QImode the range of an offset is -4095...+4095 inclusive.
* arm.c (arm_legitimate_index_p): For QImode the range of an offset
is -4095...+4095 inclusive.
From-SVN: r78429
Eric Botcazou [Wed, 25 Feb 2004 10:42:05 +0000 (11:42 +0100)]
install.texi (sparc-sun-solaris2* specific notes): Document the bootstrap failure with Sun CC 5.4 and 5.5.
* doc/install.texi (sparc-sun-solaris2* specific notes): Document
the bootstrap failure with Sun CC 5.4 and 5.5.
From-SVN: r78426
Ian Lance Taylor [Wed, 25 Feb 2004 04:51:39 +0000 (04:51 +0000)]
cp-demangle.h (enum d_builtin_type_print): Add D_PRINT_UNSIGNED...
* cp-demangle.h (enum d_builtin_type_print): Add D_PRINT_UNSIGNED,
D_PRINT_UNSIGNED_LONG, D_PRINT_LONG_LONG,
D_PRINT_UNSIGNED_LONG_LONG, D_PRINT_FLOAT.
* cp-demangle.c (cplus_demangle_builtin_types): Change char and
short types to D_PRINT_DEFAULT. Change other integer types to use
new D_PRINT_* values where appropriate. Change float types to
D_PRINT_FLOAT.
(d_print_comp) [LITERAL, LITERAL_NEG]: Handle new D_PRINT_*
values.
* testsuite/demangle-expected: Adjust two test cases.
* cp-demangle.c (d_print_function_type): Print a space before the
parenthesis around the function type in more cases.
* testsuite/demangle-expected: Adjust one test case.
From-SVN: r78421
Ian Lance Taylor [Wed, 25 Feb 2004 01:45:49 +0000 (01:45 +0000)]
cp-demangle.c (d_print_comp): Don't emit extra parentheses around a cast.
* cp-demangle.c (d_print_comp) [UNARY]: Don't emit extra
parentheses around a cast.
* testsuite/demangle-expected: Adjust two test cases to match new
output.
From-SVN: r78416
Ian Lance Taylor [Wed, 25 Feb 2004 01:42:20 +0000 (01:42 +0000)]
* dyn-string.h: Update copyright date.
From-SVN: r78415
Kazu Hirata [Wed, 25 Feb 2004 00:54:30 +0000 (00:54 +0000)]
cse.c (cse_change_cc_mode_insns): Stop at any instruction which modifies NEWREG.
* cse.c (cse_change_cc_mode_insns): Stop at any instruction
which modifies NEWREG.
(cse_condition_code_reg): Update the mode of CC_REG in
CC_SRC_INSN on our own.
From-SVN: r78413
Michael Matz [Wed, 25 Feb 2004 00:48:23 +0000 (00:48 +0000)]
* gcc.dg/i386-regparm.c: New.
From-SVN: r78412
Michael Matz [Wed, 25 Feb 2004 00:46:01 +0000 (00:46 +0000)]
i386.c (ix86_comp_type_attributes): Check for regparm attributes.
* config/i386/i386.c (ix86_comp_type_attributes): Check for
regparm attributes.
From-SVN: r78411
Michael Matz [Wed, 25 Feb 2004 00:45:43 +0000 (00:45 +0000)]
i386.c (ix86_comp_type_attributes): Check for regparm attributes.
* config/i386/i386.c (ix86_comp_type_attributes): Check for
regparm attributes.
From-SVN: r78410
GCC Administrator [Wed, 25 Feb 2004 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r78405
Richard Henderson [Tue, 24 Feb 2004 23:40:03 +0000 (15:40 -0800)]
toplev.c (dump_file_tbl): Rename from dump_file.
* toplev.c (dump_file_tbl): Rename from dump_file.
* bb-reorder.c, bt-load.c, cfgcleanup.c, cfglayout.c, cfgloopanal.c,
cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c,
config/i386/i386.c, config/ia64/ia64.c, config/mips/mips.c,
config/sh/sh.c, cse.c, flow.c, ifcvt.c, loop-iv.c, loop-unroll.c,
loop-unswitch.c, output.h, predict.c, profile.c, ra-build.c,
ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, regrename.c, reload1.c,
toplev.c, tracer.c, value-prof.c, var-tracking.c, web.c:
s/rtl_dump_file/dump_file/g.
From-SVN: r78399
Aldy Hernandez [Tue, 24 Feb 2004 22:59:03 +0000 (22:59 +0000)]
spe.md (spe_fix_truncsfsi2): Delete.
2004-02-24 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
(spe_fixuns_truncsfsi2): Delete.
* config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
(fixuns_truncsfsi2): Delete.
From-SVN: r78396
Josef Zlomek [Tue, 24 Feb 2004 21:45:20 +0000 (22:45 +0100)]
rtlanal.c (replace_label): Fix replacing labels in constant pool.
PR/14240
* rtlanal.c (replace_label): Fix replacing labels in constant pool.
From-SVN: r78392
Paolo Carlini [Tue, 24 Feb 2004 21:20:33 +0000 (21:20 +0000)]
re PR libstdc++/14252 (Problems with count and iterator_traits<istreambuf_iterator<char> >::difference_type)
2004-02-24 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/14252
* include/bits/postypes.h (class streamoff): Add operator++(),
operator++(int), operator--() and operator--(int).
* testsuite/27_io/fpos/14252.cc: New.
From-SVN: r78388
Richard Sandiford [Tue, 24 Feb 2004 20:49:40 +0000 (20:49 +0000)]
locale_facets.tcc (num_get::_M_extract_int): Fix bounds error in handling of hex constants.
* include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
error in handling of hex constants.
From-SVN: r78385
Matt Austern [Tue, 24 Feb 2004 20:09:16 +0000 (20:09 +0000)]
Reverted patch to add the -mmacosx= feature. (Darwin only)
From-SVN: r78383
Geoffrey Keating [Tue, 24 Feb 2004 19:53:33 +0000 (19:53 +0000)]
* config/darwin.h (TARGET_HAS_F_SETLKW): Define.
From-SVN: r78382
Jason Merrill [Tue, 24 Feb 2004 18:37:29 +0000 (13:37 -0500)]
* tree.c (build_exception_variant): Use check_qualified_type.
From-SVN: r78380
Jason Merrill [Tue, 24 Feb 2004 18:31:38 +0000 (13:31 -0500)]
xfail
From-SVN: r78379
Jason Merrill [Tue, 24 Feb 2004 18:30:47 +0000 (13:30 -0500)]
re PR c++/13944 (exception in constructor of a class to be thrown is not caught)
PR c++/13944
* except.c (do_free_exception): Remove #if 0 wrapper.
(build_throw): Use it if we elide a copy into the exception object.
From-SVN: r78378
Jason Merrill [Tue, 24 Feb 2004 18:23:25 +0000 (13:23 -0500)]
tree.c (check_qualified_type): New fn.
* tree.c (check_qualified_type): New fn.
(get_qualified_type): Use it. If type already has the desired
quals, just return it.
* tree.h: Declare it.
* cp/tree.c (build_exception_variant): Use it.
From-SVN: r78376
Sanjiv Kumar Gupta [Tue, 24 Feb 2004 17:28:33 +0000 (17:28 +0000)]
target-def.h (TARGET_SCHED_INIT_GLOBAL, [...]): New macros.
2003-02-24 Sanjiv Kumar Gupta <sanjivg@noida.hcltech.com>
* target-def.h (TARGET_SCHED_INIT_GLOBAL,
TARGET_SCHED_FINISH_GLOBAL): New macros.
* target.h (md_init_global, md_finish_global): Function
declarations corresponding to new target macros.
* haifa-sched.c (sched_init, sched_finish): Allow target to
call the new schedular hooks.
* flow.c (recompute_reg_usage): Add PROP_DEATH_NOTES flag in
call to update_life_info.
* config/sh/sh.h (OVERRIDE_OPTIONS): Re-enable
flag_schedule_insns for SH4.
* config/sh/sh.c (sh_md_init_global, sh_md_finish_global,
find_set_regmode_weight, find_insn_regmode_weight,
find_regmode_weight), sh_md_init, sh_dfa_new_cycle,
sh_variable_issue, high_pressure, ready_reorder,
rank_for_reorder, swap_reorder, sh_reorder, sh_reorder2): New
functions used to throttle the insn movement in first
scheduling pass for SH.
* gcc/doc/tm.texi: Document TARGET_SCHED_INIT_GLOBAL and
TARGET_SCHED_FINISH_GLOBAL.
From-SVN: r78374
Alexandre Oliva [Tue, 24 Feb 2004 16:58:39 +0000 (16:58 +0000)]
Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
2004-02-05 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
symbols in sections named by the user.
2004-01-30 Alexandre Oliva <aoliva@redhat.com>
* config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
2004-01-27 Alexandre Oliva <aoliva@redhat.com>
* config.gcc (frv-*-*linux*): Handle like *-*-linux*.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
the above.
2004-01-20 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
one more pseudo to further improve code generation.
2004-01-19 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.md (movdi_ldd): Introduce explicit indirection
inside UNSPEC.
2004-01-16 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_legitimate_address_p): Added
allow_double_reg_p argument. Adjust all callers. Use it to
decide whether to enable double-register indirect addressing.
(frv_funcdesc_alias_set): Remove.
(frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
register. Emit movdi_ldd.
(ldd_address_operand): New.
* config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
* config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
(PREDICATE_CODES): Add ldd_address_operand.
* config/frv/frv.md (movdi_ldd): New.
(symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
intermediate computations if possible.
(symGOTOFF2reg_i): Fix harmless typo.
2003-12-18 Alexandre Oliva <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
relocated p_vaddr to vaddr type.
* config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
* config/frv/frv.c (frv_get_funcdesc_alias_set): New.
(frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
MEM, or use a funcdesc alias set. Use regular move instead of
ldd.
(dbl_memory_one_insn_operand): Recognize function descriptors by
type or by alias set, and don't split them.
* config/frv/frv.md (call, call_value): Never use call_internal
for fdpic.
(call_internal, call_value_internal): Never match for FDPIC.
(call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
call_value_fdpicsi): Require FDPIC.
(ldd): Removed.
2003-12-17 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
* unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
(_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
FDPIC. Compute data base address.
* config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
before the other self-specs are processed.
* config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
Build with -fPIC.
2003-12-15 Alexandre Oliva <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
inhibit_libc is defined.
2003-12-12 Alexandre Oliva <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
__FRV_FDPIC__.
(__RELOC_POINTER): Define.
(_Unwind_IteratePhdrCallback): Use it.
* config/frv/frv.h (Twrite): Define.
(TRANSFER_FROM_TRAMPOLINE): Use it.
* config/frv/linux.h (INVOKE__main): Undefine.
(Twrite): Override.
2003-12-05 Richard Sandiford <rsandifo@redhat.com>
* doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
(-mlibrary-pic): Emphasize that this option generates EABI code.
(-mcpu): Add fr550.
(-mpack): Remove.
2003-11-30 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
and CONSTs in FDPIC mode.
* gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
2003-11-29 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv.c (move_source_operand): Don't accept symbolic
constants.
* config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
rather than 'i' constraint for the 2-instruction alternative.
(*movsi_2word): New, incorporating existing int_2word_operand splitter.
2003-11-29 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
EXTRA_CONSTRAINT_FOR_Y.
(EXTRA_CONSTRAINT): Remove handling of 'Y'.
* config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
(addsi3): Change 'Y' constraint to 'Q'.
2003-11-27 Richard Sandiford <rsandifo@redhat.com>
* reload.c (CONST_POOL_OK_P): New macro.
(find_reloads): Use it to decide whether a constant can be forced
into memory.
* config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
constant satisfies got12_operand.
(frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
(frv_legitimate_address_p): Check for valid unspec offsets using
got12_operand rather than frv_legitimate_fdpic_operand_p.
(frv_legitimate_fdpic_operand_p): Delete.
(frv_emit_movsi): Abort if we try to use the FDPIC register during
or after reload.
(frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
TARGET_FDPIC.
* config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
2003-11-19 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
(frv_fdpic_fptr_operand): Don't declare here.
* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
rather than fdpic_got12_operand.
(PREDICATE_CODES): Remove symbolic_operand entry. Add entries for
got12_operand and const_unspec_operand.
* config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
(gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
(symbolic_operand): Remove.
(const_unspec_operand): New predicate.
* config/frv/frv.md (*movsi_got): Use got12_operand.
(*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
2003-11-18 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
* config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
* config/frv/frv.c (frv_unspec): New structure.
(frv_small_data_reloc_p, frv_const_unspec_p): New functions.
(frv_print_operand_memory_reference): Use frv_const_unspec_p to
validate CONST indices. Use frv_output_const_unspec to print them.
(frv_print_operand): Update call to unspec_got_name. Use
frv_output_const_unspec to print constant unspecs.
(frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
Reject UNSPECs otherwise.
(unspec_got_name): Take the relocation number as argument, not an
rtx containing it.
(frv_output_addr_const_extra): Remove, replacing with...
(frv_output_const_unspec): ...this new function.
(frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
(gpr_or_int12_operand): Use fdpic_got12_operand.
(dbl_memory_one_insn_operand): Likewise.
(fdpic_got12_operand): Use frv_const_unspec_p.
(frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
are already legitimate. Use frv_small_data_reloc_p when deciding
whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
2003-11-18 Alexandre Oliva <aoliva@redhat.com>
* config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
* config/frv/libgcc-frv.ver: ... frv-specific symbols. New file.
* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
label, for real this time.
* config/frv/frv.c (frv_local_funcdesc_p): Update to new
representation of visibility.
(fdpic_got12_operand, symbolic_operand): Mark unused arguments as
such.
2003-11-17 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
(TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
* config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
it was explicitly disabled.
(frv_stack_info): There is no need to save the link register in every
frame unless TARGET_LINKED_FP is true.
(frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
frame pointer if the stack pointer might change value.
(frv_return_addr_rtx): Check and process "count" argument.
2003-11-14 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv-protos.h (frv_legitimize_address): Remove.
(frv_find_base_term): Declare.
* config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
(FIND_BASE_TERM): Define.
(PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
small_data_register_operand, small_data_symbolic_operand. Add
symbolic_operand.
* config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
(frv_print_operand_memory_reference, output_move_single): Remove
special handling for unlegitimized sdata addresses.
(frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
and symbolic addresses.
(frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
(frv_find_base_term): New function.
(int_2word_operand): Check specifically for symbolic address constants.
(pic_register_operand, pic_symbolic_operand): Delete.
(small_data_register_operand, small_data_symbolic_operand): Delete.
(dbl_memory_one_insn_operand): Don't call plus_small_data_p.
Allow UNSPEC_GOT constants if !TARGET_FDPIC.
(move_source_operand): Only accept CONSTs if they're a two-insn
symbolic constant.
(fdpic_got12_operand): Don't require TARGET_FDPIC.
(frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
using gen_symGOTOFF2reg*.
(frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
(frv_rtx_costs): Give all MEM addresses a cost of 0. Give MEMs
themselves a cost of 3 insns.
* config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
Change predicate to symbolic_operand.
(*movsi_high_got, *movsi_lo_sum_got): Likewise.
(*movsi_lda_sdata): Delete.
(*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
2003-11-05 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
frv-*-*linux*.
* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
label.
* config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
-multilib-library-pic.
(LINK_SPEC): Add -z text for -mfdpic.
* config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
* config/frv/frvend.c (__ROFIXUP_END__): Likewise.
* config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
Override.
(OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
crtstuff-generated files.
2003-10-31 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Add frv-*-*linux*.
* config/frv/linux.h, config/frv/t-linux: New.
2003-10-06 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
when -mfdpic even if a linker script is explicitly listed.
2003-10-02 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_override_options): Clear asm_out
unaligned_op for SImode on FDPIC.
(frv_emit_movsi): Use compute_reloc_for_constant to compute the
argument passed to decl_readonly_section.
(frv_assemble_integer): Revert 2003-09-30's change, but make the
whole block run with FDPIC even with -fno-PIC.
2003-10-02 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_cannot_force_const_mem): Don't force
symbol or label plus offset to memory.
(frv_emit_movsi): Emit GPREL only if -mgprel-ro. Emit 32-bit
GOTOFF and GPREL for LABEL_REF.
* config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
-mfdpic unless -mno-gprel-ro, -fpic or -fpie.
(MASK_GPREL_RO, TARGET_GPREL_RO): New.
(TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
* doc/invoke.texi: Document them.
2003-09-30 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
(frv_splittable_got_operand): Removed.
* config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
LO_SUM. Add comments.
(frv_override_options): Moved enabling of FDPIC to
DRIVER_SELF_SPECS. Don't enable MASK_DWORD.
(frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
(frv_legitimize_fdpic_address): Don't duplicate logic in
frv_emit_movsi.
(frv_gen_GPsym2reg): New.
(unspec_got_name): Added gprel.
(frv_expand_fdpic_call): Add support for inlining PLTs.
(fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
(gpr_or_int12_operand): Added GPREL12.
(pic_symbolic_operand): Match even if !flag_pic for FDPIC.
(small_data_symbolic_operand): Fail if FDPIC.
(fdpic_splittable_got_operand): Removed.
(fdpic_got12_operand): Added GPREL12.
(frv_emit_movsi): Reorganize to avoid duplication. Emit GPREL
when appropriate. Fix sdata GOTOFF.
(frv_legitimate_constant_p): Require legitimate PIC operand for
FDPIC with pic, but only a legitimate fdpic operand for non-pic.
(frv_assemble_integer): Move FDPIC funcdesc handling out of
flag_pic case.
(frv_asm_out_constructor, frv_asm_out_destructor): Abort if
frv_assemble_integer fails.
* config/frv/frv.h (DRIVER_SELF_SPECS): New.
(SUBTARGET_DRIVER_SELF_SPECS): New.
(ASM_SPEC): Don't pass -mno-fdpic.
(LINK_SPEC): Pass -melf32frvfd for FDPIC.
(MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
(TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
-multilib-library-pic.
(PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
condexec_si_media_operator, condexec_sf_add_operator and
condexec_sf_conv_operator. Removed condexec_sf_binary_operator
and condexec_sf_unary_operator.
* config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
New.
(movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
movsi_internal. Give them internal names. movsi_got has type
int.
(fdpic got splitters): Remove.
(symGPREL2reg, symGPREL2reg_hilo): New.
* config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
to -mlibrary-pic. Map -multilib-library-pic to it.
* doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
Document.
2003-09-28 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
(TARGET_CANNOT_FORCE_CONST_MEM): Define to...
(frv_cannot_force_const_mem): New function.
(const_small_data_p, plus_small_data_p): Update comments on sdata
on FDPIC.
(frv_override_options): Set flag_pie for FDPIC too.
(frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
call-saved registers on FDPIC.
(frv_stack_info): Don't preserve the PIC register on FDPIC, and
don't force LR to be preserved.
(frv_expand_prologue): Likewise.
(frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
(frv_frame_pointer_required): Don't force it just because the
FDPIC register is used.
(frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
operand only if !condexec_p.
(frv_legitimize_address): Return the FDPIC-legitimized address.
Don't match small data here on FDPIC.
(frv_legitimate_fdpic_operand_p): Don't accept unadorned function
symbols. Use TRUE/FALSE instead of 1/0.
(frv_local_funcdesc_p): New.
(frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
immediates when possible.
(pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
(dbl_memory_one_insn_operand): Accept addresses that add a REG and
an UNSPEC_GOT.
(frv_emit_movsi): Handle FDPIC before small data. Use GOTOFF and
12-bit immediates when possible.
(frv_legitimate_constant_p): In FDPIC, reject SImode operands that
are not legitimate pic operands.
(frv_in_small_data_p): Re-enable for FDPIC.
* config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
(FRV_GLOBAL_P): Removed.
* config/frv/frv.md: Add modes to CONSTs.
(movsi_got): New.
(movsi_lo_sum_got): Use separate matches instead of match_dup.
(movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
(fdpic splittable operations): Match on flag_pic != 1.
2003-09-22 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_asm_out_constructor,
frv_asm_out_destructor): Pass to frv_assemble_integer the size in
bytes, not bits.
2003-09-19 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_assemble_integer): Reject complex
expressions referencing function SYMBOL_REFs.
* config/frv/frv.c (frv_function_symbol_referenced_p): New.
(move_source_operand): Reject CONSTs that reference function
SYMBOL_REFs on FDPIC.
(frv_emit_movsi): If we get such a CONST, break it up.
* config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
(TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
* config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
MEM.
(frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
(frv_trampoline_size): Increase for FDPIC.
* config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
(TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
* config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
Disable use of GOTOFF for now.
(const_small_data_p, plus_small_data_p, frv_in_small_data_p):
Disable use of small data in FDPIC for now.
(frv_asm_output_mi_thunk): Implement for FDPIC.
* config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
* config/frv/frv.c (frv_asm_out_constructor): Use
frv_assemble_integer for FDPIC pointers.
(frv_asm_out_destructor): Likewise.
* config/frv/frv.md (ldd): Fix order of operands. Use
address_operand for input.
2003-09-18 DJ Delorie <dj@redhat.com>
* config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
(unspec_got_name): Correct typo.
(frv_emit_movsi): Pre-expand splittable GOTs.
(frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
* config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
(symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
* config/frv/t-frv: Add -mfdpic multilibs.
* config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
(TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
* config/frv/frv.c (frv_override_options): -mfdpic assumes
flag_pic, default to 32-bit pics, require DWORD ops.
(frv_override_options): Add W and Z constraints.
(frv_expand_prologue): No pic prologue for -mfdpic.
(frv_asm_output_mi_thunk): Support -mfdpic (soon).
(frv_print_operand_memory_reference): Handle GOT constants.
(frv_legitimate_address_p): Allow GOT constants.
(frv_legitimize_address): Handle GOT addresses too.
(frv_legitimate_fdpic_operand_p): New.
(frv_legitimize_fdpic_address): New.
(unspec_got_name): New.
(frv_output_addr_const_extra): New.
(frv_expand_fdpic_call): New.
(frv_fdpic_fptr_operand): New.
(gpr_or_int12_operand): Handle GOT operands.
(int_2word_operand): Handle GOT operands.
(fdpic_operand): New.
(fdpic_splittable_got_operand): New.
(fdpic_got12_operand): New.
(frv_emit_movsi): Handle GOT operands.
(frv_assemble_integer): -mfdpic doesn't use rofixups.
(frv_print_operand): Support 'g' code for GOT operands.
* config/frv/frv-protos.h: Add prototypes as needed.
* config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
R_FRV_GOTOFFLO): New.
(movsi_high_got, movsi_lo_sum_got): New.
(*movsi_pic): Don't use this splitter for -mfdpic.
(addsi3): Allow GOT references also.
(call, call_value): Handle -mfdpic separately.
(call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
call_value_fdpicsi): New.
(symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
symGOTOFF2reg_i): New.
* config/frv/frv.h (MASK_FDPIC): New.
(TARGET_FDPIC): New.
(TARGET_SWITCHES): Add -mfdpic.
(FDPIC_FPTR_REGNO): New.
(FDPIC_REGNO): New.
(OUR_FDPIC_REG): New.
(enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
FDPIC_CALL_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
(EXTRA_CONSTRAINT): Add it here.
(FRV_GLOBAL_P): New.
(OUTPUT_ADDR_CONST_EXTRA): New.
From-SVN: r78373
Michael Matz [Tue, 24 Feb 2004 16:07:29 +0000 (16:07 +0000)]
Make-lang.in (sta.o-warn): Delete.
* Make-lang.in (sta.o-warn): Delete.
* sta.c (ffesta_save_): Don't break aliasing rules.
From-SVN: r78368
Kazu Hirata [Tue, 24 Feb 2004 15:50:46 +0000 (15:50 +0000)]
sparc.h: Remove commented-out definitions of TARGET_EDOM and GEN_ERRNO_RTX.
* config/sparc/sparc.h: Remove commented-out definitions of
TARGET_EDOM and GEN_ERRNO_RTX.
From-SVN: r78366
Kazu Hirata [Tue, 24 Feb 2004 13:55:06 +0000 (13:55 +0000)]
df.c, [...]: Replace df_analyse with df_analyze.
* df.c, df.h, ra-build.c, ra-rewrite.c, ra.c, web.c: Replace
df_analyse with df_analyze.
From-SVN: r78363
Alan Modra [Tue, 24 Feb 2004 10:34:22 +0000 (10:34 +0000)]
gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not beginning of block.
* gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not
beginning of block.
From-SVN: r78361
Paolo Carlini [Tue, 24 Feb 2004 09:37:52 +0000 (09:37 +0000)]
locale_facets.tcc (money_put<>::_M_insert): Prefer basic_string::append to operator+= and a temporary.
2004-02-24 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_put<>::_M_insert):
Prefer basic_string::append to operator+= and a temporary.
From-SVN: r78360
Jim Wilson [Tue, 24 Feb 2004 07:36:08 +0000 (23:36 -0800)]
Fix typo.
From-SVN: r78358
James E Wilson [Tue, 24 Feb 2004 07:35:42 +0000 (07:35 +0000)]
Out-of-date comments noticed while looking at PR 169.
* calls.c (preompute_arguments): Update comment.
From-SVN: r78357
James E Wilson [Tue, 24 Feb 2004 07:34:30 +0000 (07:34 +0000)]
Testcase for PR 169.
* gcc.c-torture/execute/
20040223-1.c: New.
From-SVN: r78356
Ian Lance Taylor [Tue, 24 Feb 2004 06:42:26 +0000 (06:42 +0000)]
* cp-demangle.c (__cxa_demangle): Pass DMGL_PARAMS to d_demangle.
From-SVN: r78355
Ian Lance Taylor [Tue, 24 Feb 2004 06:32:16 +0000 (06:32 +0000)]
cp-demangle.c (d_print_comp): Don't push more than one of the same CV-qualifier on the top of the stack.
* cp-demangle.c (d_print_comp) [RESTRICT, VOLATILE, CONST]: Don't
push more than one of the same CV-qualifier on the top of the
stack.
(d_print_comp) [ARRAY_TYPE]: If the array itself is CV-qualified,
move the CV-qualifiers to apply to the element type instead.
(d_print_array_type): When checking the modifiers, keep looking
past ones which have been printed already.
* testsuite/demangle-expected: Add three test cases.
From-SVN: r78354
Ian Lance Taylor [Tue, 24 Feb 2004 04:02:22 +0000 (04:02 +0000)]
cp-demangle.c (__cxa_demangle): Adjust last patch to handle empty string correctly.
* cp-demangle.c (__cxa_demangle): Adjust last patch to handle
empty string correctly.
From-SVN: r78353
Kazu Hirata [Tue, 24 Feb 2004 03:46:42 +0000 (03:46 +0000)]
* et-forest.c: Replace et_occurences with et_occurrences.
From-SVN: r78351
Kazu Hirata [Tue, 24 Feb 2004 03:43:59 +0000 (03:43 +0000)]
cfgloop.h, [...]: Replace iv_analyse with iv_analyze.
* cfgloop.h, loop-iv.c, loop-unswitch.c: Replace iv_analyse
with iv_analyze.
From-SVN: r78350
Kelley Cook [Tue, 24 Feb 2004 03:27:11 +0000 (03:27 +0000)]
i386.c: Rename pni to sse3.
2004-02-23 Kelley Cook <kcook@gcc.gnu.org>
* config/i386/i386.c: Rename pni to sse3.
* config/i386/i386.h: Likewise.
* config/i386/i386.md: Likewise.
* config/i386/pmmintrin.h: Likewise.
* doc/extend.texi: Likewise.
* doc/invoke.texi: Likewise.
From-SVN: r78349
Ian Lance Taylor [Tue, 24 Feb 2004 02:49:24 +0000 (02:49 +0000)]
cp-demangle.c (__cxa_demangle): It is not an error if status is not NULL.
2004-02-23 Ian Lance Taylor <ian@wasabisystems.com>
* cp-demangle.c (__cxa_demangle): It is not an error if status is
not NULL. It is an error if the mangled name is the same as a
built-in type name.
(main): If IN_GLIBCPP_V3 is defined, test __cxa_demangle rather
than cplus_demangle_v3.
From-SVN: r78348
Ian Lance Taylor [Tue, 24 Feb 2004 02:32:50 +0000 (02:32 +0000)]
dyn-string.c: Remove test of IN_LIBGCC2 and IN_GLIBCPP_V3 and the associated #define of...
* dyn-string.c: Remove test of IN_LIBGCC2 and IN_GLIBCPP_V3 and
the associated #define of RETURN_ON_ALLOCATION_FAILURE.
From-SVN: r78347
Ian Lance Taylor [Tue, 24 Feb 2004 02:32:30 +0000 (02:32 +0000)]
dyn-string.h: Remove test of IN_LIBGCC2 and IN_GLIBCPP_V3 and the associated #defines.
* dyn-string.h: Remove test of IN_LIBGCC2 and IN_GLIBCPP_V3 and
the associated #defines.
From-SVN: r78346
GCC Administrator [Tue, 24 Feb 2004 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r78340
Kazu Hirata [Mon, 23 Feb 2004 23:39:48 +0000 (23:39 +0000)]
Remove support for fwritable-strings-1.c.
From-SVN: r78337
Zack Weinberg [Mon, 23 Feb 2004 21:43:18 +0000 (21:43 +0000)]
Remove -fwritable-strings.
gcc/
Remove -fwritable-strings.
* c-common.c (fix_string_type): Don't check
flag_writable_strings.
(fix_string_type): Likewise.
* c-opts.c (set_std_c89): Don't initialize
flag_writable_strings.
(set_std_c99): Likewise.
* common.opt (fwritable-strings): Remove.
* flags.h: Remove the external declaration of
flag_writable_strings.
* opts.c (common_handle_option) <OPT_fwritable_strings>:
Remove.
* toplev.c (flag_writable_strings): Remove.
(f_options): Remove an entry for writable-strings.
* varasm.c (const_hash_1) <STRING_CST>: Don't check
flag_writable_strings.
(compare_constant) <STRING_CST>: Likewise.
(build_constant_desc): Likewise.
* config/darwin.c (machopic_select_section): Likewise.
* config/arm/arm.c (AOF_ASSEMBLER): Likewise.
* config/arm/pe.c (arm_pe_encode_section_info): Likewise.
* config/iq2000/iq2000.c (iq2000_select_section): Likewise.
* config/mips/mips.c (mips_select_section): Likewise.
(mips_encode_section_info): Likewise.
* config/pa/pa.c (pa_select_section): Likewise.
* config/pa/pa.h (TEXT_SPACE_P): Likewise.
* config/v850/v850.c (v850_select_section): Likewise.
* doc/invoke.texi (-fwritable-strings): Remove.
(-fno-const-strings): Don't mention -fwritable-strings.
* doc/trouble.texi: Don't mention -fwritable-strings.
gcc/cp/
* decl.c (cxx_init_decl_processing): Don't check
flag_writable_strings.
gcc/testsuite/
* gcc.dg/fwritable-strings-1.c: Remove.
Co-Authored-By: Kazu Hirata <kazu@cs.umass.edu>
From-SVN: r78333
Zack Weinberg [Mon, 23 Feb 2004 20:53:55 +0000 (20:53 +0000)]
config.sub, [...]: Replace with forwarding scripts which invoke the master copies in the top level.
2004-02-22 Zack Weinberg <zack@codesourcery.com>
Nathanael Nerode <neroden@twcny.rr.com>
Alexandre Oliva <aoliva@redhat.com>
boehm-gc:
libjava/libltdl:
* config.sub, config.guess: Replace with forwarding scripts
which invoke the master copies in the top level.
From-SVN: r78332
Nathanael Nerode [Mon, 23 Feb 2004 20:29:37 +0000 (20:29 +0000)]
* doc/install.texi: Update for switch of boehm-gc to autoconf 2.57.
From-SVN: r78331
Nathanael Nerode [Mon, 23 Feb 2004 20:26:09 +0000 (20:26 +0000)]
acinclude.m4: Remove old no-executables workaround; add new no-executables workaround.
* acinclude.m4: Remove old no-executables workaround;
add new no-executables workaround.
* aclocal.m4: Regenerate.
* configure.in: Change prereqs to autoconf 2.57.
* configure: Regenerate with autoconf 2.57.
From-SVN: r78330
Matt Austern [Mon, 23 Feb 2004 19:49:23 +0000 (19:49 +0000)]
darwin.h (SUBTARGET_OPTIONS): Add -mmacosx= option.
* config/darwin.h (SUBTARGET_OPTIONS): Add -mmacosx= option.
(macosx_version_min_required): Declare global variable.
* config/darwin-protos.h (darwin_parse_macosx_version_name): Declare.
* config/darwin.c (macosx_version_min_required): Define variable.
(darwin_macosx_vers_tbl): Define. Table mapping text strings of
OS versions to numerical codes.
(darwin_parse_macosx_version_name): Define. Parse -mmacosx=,
set macosx_version_min_required appropriately.
* config/i386/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
Invoke darwin_parse_macosx_version_name.
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Add
darwin_parse_macosx_version_name to Darwin option handling.
* doc/invoke.texi (-mmacosx=): Document.
From-SVN: r78329
Benjamin Kosnik [Mon, 23 Feb 2004 19:17:06 +0000 (19:17 +0000)]
vterminate.cc (__gnu_cxx::__verbose_terminate_handler): Only use fputs, not write.
2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
* libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
Only use fputs, not write.
From-SVN: r78327
Dale Johannesen [Mon, 23 Feb 2004 18:54:37 +0000 (18:54 +0000)]
rs6000.md (movsf_hardfloat): Add POWER form of nop.
2004-02-23 Dale Johannesen <dalej@apple.com>
* config/rs6000.md (movsf_hardfloat): Add POWER form of nop.
(movdf_hardfloat64): Ditto.
(movdf_softfloat64): Ditto.
From-SVN: r78325
Fariborz Jahanian [Mon, 23 Feb 2004 18:40:46 +0000 (18:40 +0000)]
config/rs6000/rs6000.c (function_arg): call to rs6000_mixed_function_arg for...
config/rs6000/rs6000.c (function_arg): call to
rs6000_mixed_function_arg for DFmode moved to allow
normal DFmode incoming register assignment.
OKed by David Edehlson.
From-SVN: r78323
Dale Johannesen [Mon, 23 Feb 2004 18:36:56 +0000 (18:36 +0000)]
rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy.
2004-02-23 Dale Johannesen <dalej@apple.com>
* config/rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy.
(movdf_hardfloat64): Ditto.
From-SVN: r78322
Kazu Hirata [Mon, 23 Feb 2004 17:02:51 +0000 (17:02 +0000)]
convert.c, [...]: Update copyright.
* convert.c, gcov-io.c, libgcov.c, sched-int.h, sibcall.c,
config/rs6000/linux.h, config/rs6000/rs6000-c.c: Update
copyright.
From-SVN: r78318
Nathanael Nerode [Mon, 23 Feb 2004 16:19:20 +0000 (16:19 +0000)]
configure.in: Use NCN_TARGET_NONCANONICAL and friends.
* configure.in: Use NCN_TARGET_NONCANONICAL and friends.
* configure: Regenerate.
* Makefile.am: Use target_noncanonical variable from configure.
* Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
From-SVN: r78317
Benjamin Kosnik [Mon, 23 Feb 2004 15:42:28 +0000 (15:42 +0000)]
malloc_allocator.h: Add operators ==, !=.
2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/malloc_allocator.h: Add operators ==, !=.
* include/ext/new_allocator.h: Add operators ==, !=.
* include/ext/mt_allocator.h (__mt_alloc::tune): New.
(__mt_alloc::_S_get_options): New.
(__mt_alloc::_S_set_options): New.
(__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
(__mt_alloc::_S_no_of_bins): To _S_bin_size.
Move functions out of line, simplify, format.
* src/allocator.cc: Simplify explicit instantiations.
* include/bits/allocator.h: Tweak.
From-SVN: r78315
Benjamin Kosnik [Mon, 23 Feb 2004 15:41:43 +0000 (15:41 +0000)]
malloc_allocator.h: Add operators ==, !=.
2004-02-20 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/malloc_allocator.h: Add operators ==, !=.
* include/ext/new_allocator.h: Add operators ==, !=.
* include/ext/mt_allocator.h (__mt_alloc::tune): New.
(__mt_alloc::_S_get_options): New.
(__mt_alloc::_S_set_options): New.
(__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
(__mt_alloc::_S_no_of_bins): To _S_bin_size.
Move functions out of line, simplify, format.
* src/allocator.cc: Simplify explicit instantiations.
* include/bits/allocator.h: Tweak.
From-SVN: r78314
Andrew Pinski [Mon, 23 Feb 2004 15:27:49 +0000 (15:27 +0000)]
re PR c++/14156 (no warning for address of parameter)
2004-02-23 Andrew Pinski <pinskia@physics.uc.edu>
PR c/14156
* gcc.dg/
20040223-1.c: New test.
From-SVN: r78313
Andrew Pinski [Mon, 23 Feb 2004 15:22:04 +0000 (15:22 +0000)]
re PR c++/14156 (no warning for address of parameter)
PR c/14156
* c-typeck.c (c_expand_return): Change check for VAR_DECL
to use DECL_P instead.
PR c++/14156
* typeck.c (maybe_warn_about_returning_address_of_location):
Change check for VAR_DECL to use DECL_P instead.
From-SVN: r78312
Andrew Pinski [Mon, 23 Feb 2004 14:54:11 +0000 (14:54 +0000)]
linux.h (OS_MISSING_POWERPC64): Define.
* config/rs6000/linux.h (OS_MISSING_POWERPC64): Define.
* config/rs6000/linux64.h (OS_MISSING_POWERPC64): Define.
From-SVN: r78309
Kriang Lerdsuwanakij [Mon, 23 Feb 2004 14:12:56 +0000 (14:12 +0000)]
re PR c++/14106 ([testcase] ICE on template func instanciation: stor-layout.c:1569)
PR c++/14106
* g++.dg/ext/typeof9.C: New test.
From-SVN: r78304
Kazu Hirata [Mon, 23 Feb 2004 14:10:58 +0000 (14:10 +0000)]
Makefile.in (opts.o): Depend on target.h.
* Makefile.in (opts.o): Depend on target.h.
* opts.c (decode_options): Use targetm.default_short_enums
instead of DEFAULT_SHORT_ENUMS.
* system.h (DEFAULT_SHORT_ENUMS): Poison.
* target-def.h (TARGET_DEFAULT_SHORT_ENUMS): New.
(TARGET_INITIALIZER): Add TARGET_DEFAULT_SHORT_ENUMS.
* target.h (gcc_target): Add default_short_enums.
* config/cris/cris.h: Remove a comment about
DEFAULT_SHORT_ENUMS.
* config/ip2k/ip2k.h: Likewise.
* doc/tm.texi (DEFAULT_SHORT_ENUMS): Change to
TARGET_DEFAULT_SHORT_ENUMS. Update the description.
From-SVN: r78303
Giovanni Bajo [Mon, 23 Feb 2004 12:44:22 +0000 (12:44 +0000)]
re PR c++/14250 (switch() does not seem to see operator int() in template class)
PR c++/14250
* g++.dg/other/switch1.C: New test.
From-SVN: r78295
Eric Botcazou [Mon, 23 Feb 2004 12:41:43 +0000 (13:41 +0100)]
re PR c/14188 (Suggestion: improve warning message for call through incompatible type)
PR c/14188
* builtins.c (expand_builtin_va_arg): Emit an informative message
if a trap is generated.
* c-typeck.c (build_function_call): Likewise.
Co-Authored-By: Falk Hueffner <falk@debian.org>
From-SVN: r78294
Giovanni Bajo [Mon, 23 Feb 2004 12:40:59 +0000 (12:40 +0000)]
re PR c++/14250 (switch() does not seem to see operator int() in template class)
PR c++/14250
* cvt.c (build_expr_type_conversion): Type must be complete before
looking up for conversions.
From-SVN: r78293
Arnaud Charlet [Mon, 23 Feb 2004 11:17:13 +0000 (12:17 +0100)]
[multiple changes]
2004-02-23 Ed Schonberg <schonberg@gnat.com>
* exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
protected operations if original subprogram is flagged as eliminated.
(Expand_N_Subprogram_Body): For a protected operation, create
discriminals for next operation before checking whether the operation
is eliminated.
* exp_ch9.adb (Expand_N_Protected_Body,
Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
for internal protected operations if the original subprogram is
eliminated.
* sem_elim.adb (Check_Eliminated): Handle properly protected operations
declared in a single protected object.
2004-02-23 Vincent Celier <celier@gnat.com>
* prj-attr.adb: Make attribute Builder'Executable an associative array,
case insensitive if file names are case insensitive, instead of a
standard associative array.
* prj-attr.adb (Initialize): For 'b' associative arrays, do not set
them as case insensitive on platforms where the file names are case
sensitive.
* prj-part.adb (Parse_Single_Project): Make sure, when checking if
project file has already been parsed that canonical path are compared.
2004-02-23 Robert Dewar <dewar@gnat.com>
* sinput-c.ads: Correct bad unit title in header
* freeze.adb: Minor reformatting
2004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* trans.c (tree_transform, case N_Procedure_Call_Statement): For
nonaddressable COMPONENT_REF that is removing padding that we are
taking the address of, take the address of the padded record instead
if item is variable size.
From-SVN: r78292
Giovanni Bajo [Mon, 23 Feb 2004 05:13:23 +0000 (05:13 +0000)]
re PR c++/14143 (Overeager ADL)
PR c++/14143
* g++.dg/template/koenig5.C: New test.
From-SVN: r78288
Giovanni Bajo [Mon, 23 Feb 2004 05:10:37 +0000 (05:10 +0000)]
re PR c++/14143 (Overeager ADL)
PR c++/14143
* name-lookup.c (arg_assoc_class): Don't look into template
arguments if it is not a primary template.
From-SVN: r78287
GCC Administrator [Mon, 23 Feb 2004 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r78284
Jakub Jelinek [Sun, 22 Feb 2004 23:18:53 +0000 (00:18 +0100)]
gcov-io.c (gcov_open): Use open + fdopen instead of fopen.
* gcov-io.c (gcov_open) [GCOV_LOCKED]: Use open + fdopen instead of
fopen.
* libgcov.c: Include sys/stat.h.
* config/rs6000/linux.h (TARGET_HAS_F_SETLKW): Define.
* config/rs6000/linux64.h (TARGET_HAS_F_SETLKW): Define.
* config/sparc/linux.h (TARGET_HAS_F_SETLKW): Define.
* config/sparc/linux64.h (TARGET_HAS_F_SETLKW): Define.
From-SVN: r78281
Kazu Hirata [Sun, 22 Feb 2004 22:33:12 +0000 (22:33 +0000)]
* reorg.c: Remove comments about dead ports.
From-SVN: r78280
Christopher Faylor [Sun, 22 Feb 2004 21:50:52 +0000 (21:50 +0000)]
config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify extra host object file when...
* config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify extra
host object file when targetting cygwin rather than generic object files.
From-SVN: r78278
Josef Zlomek [Sun, 22 Feb 2004 18:48:42 +0000 (19:48 +0100)]
backport: tree-inline.c (insert_decl_map): New.
Merge from tree-ssa:
2003-11-20 Richard Henderson <rth@redhat.com>
* tree-inline.c (insert_decl_map): New.
(remap_decl, remap_type, remap_block, copy_body_r,
initialize_inlined_parameters, declare_return_variable,
remap_save_expr): Use it.
* function.c (copy_body_r): Add mapping from id->ret_label to
id->ret_label. Revert test for ret_label.
From-SVN: r78271
Jakub Jelinek [Sun, 22 Feb 2004 18:39:06 +0000 (19:39 +0100)]
genoutput.c (process_template): Strip trailing whitespace in @ templates and issue a warning if there was any.
* genoutput.c (process_template): Strip trailing whitespace in @
templates and issue a warning if there was any.
From-SVN: r78270
Paolo Carlini [Sun, 22 Feb 2004 11:13:27 +0000 (11:13 +0000)]
locale_facets.tcc (money_put<>::_M_insert): Restructure formatting of value component...
2004-02-22 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_put<>::_M_insert):
Restructure formatting of value component, first dealing with
the non-decimal digits; use reserve.
2004-02-22 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (class money_get): Inherit
from money_base too; tweak declaration of _M_extract, now
parameterized on _Intl too.
* include/bits/locale_facets.tcc (money_get<>::_M_extract):
Update definition to use the cache; call reserve on __res to
avoid multiple reallocations; fix parsing of sign component
according to 22.2.6.1.2, p3.
(money_get<>::do_get(long double&),
money_get<>::do_get(string_type&)): Update calls of _M_extract.
* src/locale-inst.cc: Add instantiations of
money_get::_M_extract<false> and money_get::_M_extract<true>.
* testsuite/22_locale/money_get/get/char/14.cc: New.
* testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
From-SVN: r78253
GCC Administrator [Sun, 22 Feb 2004 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r78246