Craig Rodrigues [Sun, 16 Dec 2001 07:21:17 +0000 (07:21 +0000)]
re PR other/3725 (changed to configure.in's for autoconf 2.50)
2001-12-16 Craig Rodrigues <rodrigc@gcc.gnu.org>
PR other/3725
* configure.in: Add AC_SUBST(target_alias).
* configure: Regenerated.
From-SVN: r48064
Craig Rodrigues [Sun, 16 Dec 2001 07:12:04 +0000 (07:12 +0000)]
re PR other/3725 (changed to configure.in's for autoconf 2.50)
2001-12-16 Craig Rodrigues <rodrigc@gcc.gnu.org>
PR other/3725
* configure.in: Add AC_SUBST(target_alias).
* configure: Regenerated.
From-SVN: r48063
Bryce McKinlay [Sun, 16 Dec 2001 06:09:46 +0000 (06:09 +0000)]
decl.c (java_init_decl_processing): Build otable_type correctly.
* decl.c (java_init_decl_processing): Build otable_type correctly.
otable_decl is an otable_type.
From-SVN: r48062
Richard Henderson [Sun, 16 Dec 2001 05:40:26 +0000 (21:40 -0800)]
alpha.md (sibcall_osf_1_er): New.
* config/alpha/alpha.md (sibcall_osf_1_er): New.
(sibcall_value_osf_1_er): New.
From-SVN: r48061
Richard Henderson [Sun, 16 Dec 2001 04:46:34 +0000 (20:46 -0800)]
* sem_ch7.adb: Wrap comment.
From-SVN: r48060
Dan Nicolaescu [Sun, 16 Dec 2001 02:26:58 +0000 (02:26 +0000)]
sparc.c (mems_ok_for_ldd_peep): Rename from addrs_ok_for_ldd_peep_withmem...
* config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
addrs; eliminate restriction of only using fp and sp as base
registers.
* config/sparc/sparc-protos.h: Update.
* config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
(*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
from old define_peepholes.
Convert all the ldd/std peepholes to peephole2.
From-SVN: r48059
Ulrich Weigand [Sun, 16 Dec 2001 01:48:16 +0000 (01:48 +0000)]
s390.md (prologue, [...]): New.
* s390.md (prologue, epilogue, *return_si, *return_di): New.
s390.c (find_unused_clobbered_reg, s390_frame_info,
save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
s390.c (s390_arg_frame_offset): Use s390_frame_info.
(leaf_function_flag, cur_is_leaf_function,
save_fprs, restore_fprs, force_const_mem_late): Remove.
(s390_function_prologue, s390_function_epilogue): Mostly remove.
s390.md (lit): New. Uses ...
s390.c (s390_output_constant_pool): ... this, so adapt and make global.
s390-protos.h (s390_output_constant_pool): Declare.
s390.md (load_multiple, store_multiple): Allow use after reload.
s390.c (load_multiple_operation, store_multiple_operation): Likewise.
s390.h (INCOMING_FRAME_SP_OFFSET): Define.
s390.h (CALL_REALLY_USED_REGISTERS): Define.
config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
s390.c (s390_sr_alias_set): New global variable, initialized ...
(override_options): ... here. New.
s390-protos.h (override_options): Declare.
s390.h (OVERRIDE_OPTIONS): Call it.
s390.c (s390_function_profiler): New.
s390-protos.h (s390_function_profiler): Declare.
s390.h (FUNCTION_PROFILER): Call it.
s390.c (s390_profile): Remove.
* s390.c (reg_used_in_mem_p): PC reload counts as memory access.
(addr_generation_dependency_p): Consider literal pool register loads.
(s390_adjust_priority): Do not schedule load_multiple.
s390.md (attribute "type"): Define some additional types.
(function_unit "integer"): Adapt.
(many insns): Adapt "type" attribute setting.
* s390.c (general_s_operand, s_imm_operand): New.
(s_operand): Remove old definition, call general_s_operand instead.
s390-protos.h (s_imm_operand): Declare.
s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
r_or_x_or_im16_operand, r_or_im8_operand): Remove.
s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
s390.md (many insns): Rework insn predicates.
* s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
non-symbolic constants. Reload will force them because of ...
(s390_preferred_reload_class): ... this. New.
s390-protos.h (s390_preferred_reload_class): Declare.
s390.h (PREFERRED_RELOAD_CLASS): Call it.
s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
*reload_la_31 splitters): Handle constants after reload.
(many insns): no longer force all constants immediately.
s390.c (legitimate_reload_constant_p): New helper routine.
s390-protos.h (legitimate_reload_constant_p): Declare.
s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
* s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
(CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
(ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
(REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
(DWARF_FRAME_REGISTERS): Define.
s390.c (regclass_map): Add virtual frame pointer.
(legitimate_la_operand_p): Allow use of virtual frame pointer.
s390.md (*la_ccclobber, *addaddr_ccclobber): New.
(addaddr, addsi_64): Delete.
* s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
floating point registers.
(CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
(ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
* s390.md (movti): Replace multi-insn output with splitters.
(movdi_31, movdf_31): Likewise.
(movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
(movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
(movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
(movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
(movsf_64, movsf_31): Remove, replace by ...
(movsf): ... this.
(movqi_64): Use lhi instead of llill.
(*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
* s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
extendqihi2 and associated splitters): Reworked.
(zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
*zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
*zero_extendqisi2_64, *zero_extendqisi2_mem_31,
zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
and associated splitters): Likewise.
(*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
and associated splitters): New.
(truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
*truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
(ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
s390.h (PROMOTE_PROTOTYPES): Remove.
config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
* s390.md (muldi3): Delete, use instead ...
(mulsidi3): ... this.
(*muldi3_64): Rename to muldi3.
(mulsi_6432): Fix template.
(divdi3, moddi3): Delete, replace by ...
(divmoddi4): ... this.
(divmodtidi3): Fix template.
(divmodtisi3): New.
(udivdi3, umoddi3): Delete, replace by ...
(udivmoddi4): ... this.
(udivmodtidi3): Fix template.
(divsi3, modsi3): Delete, replace by ...
(divmodsi4): ... this.
(divmoddisi3): Fix template.
(udivsi3, umodsi3): Adapt.
* s390.md (anddi3): Remove SS alternative, use instead ...
(anddi3_ss, anddi3_ss_inv): ... these.
(anddi3_ni): New.
(andsi3*, andhi3*, andqi3*): Likewise.
(iordi3): Remove SS alternative, use instead ...
(iordi3_ss, iordi3_ss_inv): ... these.
(iordi3_oi): New.
(iorsi3*, iorhi3*, iorqi3*): Likewise.
(iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
(xordi3): Remove SS alternative, use instead ...
(xordi3_ss, xordi3_ss_inv): ... these.
(xordi3_oi): New.
(xorsi3*, xorhi3*, xorqi3*): Likewise.
(xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
(one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
Expand to XOR with -1.
(*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
(cmpdi_tm): Delete, replace by ...
(cmpdi_tm_reg, cmpdi_tm_mem): ... these.
(cmpsi_cct): Delete, replace by ...
(cmpsi_tm_reg, cmpsi_tm_mem): ... these.
(cmpdi_tm2, cmpsi_tm2): Improve.
(cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
s390.c (s390_single_hi, s390_extract_hi,
s390_single_qi, s390_extract_qi): New helper routines.
s390-protos.h (s390_single_hi, s390_extract_hi,
s390_single_qi, s390_extract_qi): Declare.
s390.c (tmxx_operand, const1_operand): Remove.
s390-protos.h (tmxx_operand, const1_operand): Likewise.
s390.h (PREDICATE_CODES): Likewise.
* s390.md (sqrtdf2, sqrtsf2): New.
* s390.h (CRT_CALL_STATIC_FUNCTION): Define.
(check_and_change_labels): Remove section-change special case.
* s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
in leaf functions. Needs ...
(DYNAMIC_CHAIN_RTX): ... this. New.
* s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
* s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
input operands using a match_dup clause.
(movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
* s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
floatsisf2, floatsisf2_ieee): Add missing CC clobber.
* s390.md (floatsidf2_ibm): Use correct operand.
* s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
non-portable constants.
s390.c (s390_gen_rtx_const_DI): New helper routine.
s390-protos.h (s390_gen_rtx_const_DI): Declare.
* s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
* config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
ASM_OUTPUT_BYTE): Clean up assembly output.
(ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
(ASM_OUTPUT_ASCII): Remove.
* config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
From-SVN: r48058
Richard Kenner [Sun, 16 Dec 2001 01:38:45 +0000 (20:38 -0500)]
Add newline in copyright block.
From-SVN: r48057
Zack Weinberg [Sun, 16 Dec 2001 01:27:57 +0000 (17:27 -0800)]
unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself before including unwind-dw2-fde.c...
* unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
before including unwind-dw2-fde.c, if we are not using the
special code in this file.
From-SVN: r48056
Joseph Myers [Sun, 16 Dec 2001 01:13:56 +0000 (01:13 +0000)]
5ataprop.adb, [...]: Fix spelling errors.
* 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
spelling errors.
From-SVN: r48055
Richard Henderson [Sun, 16 Dec 2001 01:05:01 +0000 (17:05 -0800)]
alpha.h (TARGET_SWITCHES): Turn on MASK_EXPLICIT_RELOCS if the assembler supports it.
* config/alpha/alpha.h (TARGET_SWITCHES): Turn on
MASK_EXPLICIT_RELOCS if the assembler supports it.
* configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
* configure, config.in: Rebuild.
From-SVN: r48054
Paolo Carlini [Sun, 16 Dec 2001 01:02:17 +0000 (02:02 +0100)]
2001-12-15 Paolo Carlini <pcarlini@unitus.it>
Nathan Myers <ncm@cantrip.org>
* include/bits/basic_string.h
(assign(__str, __pos, __n), assign(__s, __n)): Optimize
by avoiding unnecessary temporaries.
(assign(__s)): Call assign(__s, __n).
* include/bits/basic_string.tcc (_M_replace_safe): Adjust comment.
* include/bits/std_string.h: include stl_function.h.
* testsuite/21_strings/assign.cc (test02, test03): New tests.
Co-Authored-By: Nathan Myers <ncm@cantrip.org>
From-SVN: r48053
Geert Bosch [Sun, 16 Dec 2001 00:56:17 +0000 (01:56 +0100)]
osint.adb (Create_Debug_File): When an object file is specified...
* osint.adb(Create_Debug_File): When an object file is specified,
put the .dg file in the same directory as the object file.
* osint.adb: Minor reformatting
* lib-xref.adb (Output_Instantiation): New procedure to generate
instantiation references.
* lib-xref.ads: Add documentation of handling of generic references.
* ali.adb (Read_Instantiation_Ref): New procedure to read
instantiation references
* ali.ads: Add spec for storing instantiation references
* bindusg.adb: Minor reformatting
* switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
* usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
* gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
* csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
* csets.ads:
Fix header format
Add 2001 to copyright date
Add entry for Latin-5 (Cyrillic ISO-8859-5)
* adaint.c: mktemp is a macro on Lynx and can not be used as an
expression.
* misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
if operand is CONSTRUCTOR.
* trans.c (tree_transform, case N_Assignment_Statement): Set lineno
before emiting check on right-hand side, so that exception information
is correct.
* utils.c (create_var_decl): Throw away initializing expression
if just annotating types and non-constant.
* prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
Default_Ada_...
* prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
Remove functions.
(Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
* prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
Remove functions.
(Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
From-SVN: r48052
Joseph Myers [Sun, 16 Dec 2001 00:53:08 +0000 (00:53 +0000)]
* ChangeLog: Remove piece of diff output.
From-SVN: r48051
Bryce McKinlay [Sun, 16 Dec 2001 00:14:57 +0000 (00:14 +0000)]
DataOutputStream (write (byte[], int, int)): Update "written" correctly.
* java/io/DataOutputStream (write (byte[], int, int)): Update
"written" correctly. Fix from the ORP team.
From-SVN: r48050
Richard Kenner [Sat, 15 Dec 2001 23:00:00 +0000 (23:00 +0000)]
calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted for rounded_stack_size.
* calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
for rounded_stack_size.
From-SVN: r48049
Joseph Myers [Sat, 15 Dec 2001 20:31:07 +0000 (20:31 +0000)]
c-typeck.c, [...]: Use "built-in" and "bit-field" spellings in messages.
* c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
"bit-field" spellings in messages.
* po/gcc.pot: Regenerate.
ch:
* expr.c: Use "built-in" spelling in messages.
From-SVN: r48048
Joseph Myers [Sat, 15 Dec 2001 20:06:12 +0000 (20:06 +0000)]
gcc.c, [...]: Use American spelling in messages.
* gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
American spelling in messages.
* po/gcc.pot: Regenerate.
ch:
* decl.c, parse.c, typeck.c: Use American spelling in messages.
cp:
* lang-options.h: Use American spelling in messages.
From-SVN: r48047
Benjamin Kosnik [Sat, 15 Dec 2001 18:58:49 +0000 (18:58 +0000)]
acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Enable gnu locale model on linux by default.
2001-12-15 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Enable gnu locale model
on linux by default.
* aclocal.m4: Regenerate.
* configure: Regenerate.
From-SVN: r48046
Kazu Hirata [Sat, 15 Dec 2001 18:26:26 +0000 (18:26 +0000)]
h8300.md: Adjust whitespacing.
* config/h8300/h8300.md: Adjust whitespacing. Remove
constraints from expanders. Replace \@ with @.
From-SVN: r48045
Richard Earnshaw [Sat, 15 Dec 2001 16:46:57 +0000 (16:46 +0000)]
* arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
From-SVN: r48044
Ulrich Weigand [Sat, 15 Dec 2001 15:36:14 +0000 (15:36 +0000)]
regrename.c (copyprop_hardreg_forward): Do not keep register value data live across abnormal call or eh egdes.
* regrename.c (copyprop_hardreg_forward): Do not keep register
value data live across abnormal call or eh egdes.
From-SVN: r48043
Richard Kenner [Sat, 15 Dec 2001 13:37:16 +0000 (08:37 -0500)]
expr.c (highest_pow2_factor, [...]): Return BIGGEST_ALIGNMENT for 0.
* expr.c (highest_pow2_factor, case INTEGER_CST): Return
BIGGEST_ALIGNMENT for 0.
From-SVN: r48042
Jan Hubicka [Sat, 15 Dec 2001 13:14:06 +0000 (14:14 +0100)]
predict.def (PRED_NORETURN, [...]): Make probabilities match reality.
* predict.def (PRED_NORETURN, PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
PRED_ERROR_RETURN): Make probabilities match reality.
From-SVN: r48041
Jakub Jelinek [Sat, 15 Dec 2001 11:49:18 +0000 (12:49 +0100)]
configure.in: Check for ld.
* configure.in: Check for ld.
(HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
* configure, config.in: Rebuilt.
* config.gcc: Add crtbeginT.o to extra_parts where needed.
* config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
frame unwinding on Linux.
* config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
frame unwinding.
* config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
* config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
* config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
iterate further if pc falls into current library, but fde was not
found.
* config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
if using glibc.
(LINK_EH_SPEC): Define.
* config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
* Makefile.in (crtbeginT.o): Add rule.
* gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
If neither -static-libgcc nor -shared-libgcc is passed and -shared,
use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
If none of the above switches are passed, use -lgcc -lgcc_eh.
(init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
* mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
creating libgcc_s.so, put them into separate libgcc_eh.a instead.
* unwind-dw2-fde.c: Don't include any headers if this file
is included from other .c file.
* unwind-dw2-fde-glibc.c: New file.
* crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
Use it instead of EH_FRAME_SECTION_NAME where appropriate.
From-SVN: r48039
Bryce McKinlay [Sat, 15 Dec 2001 08:31:49 +0000 (08:31 +0000)]
java-tree.h (otable_methods, [...]): New field/global tree definitions.
gcc/java:
* java-tree.h (otable_methods, otable_decl, otable_syms_decl,
otable_type, otable_ptr_type, method_symbol_type,
method_symbols_array_type, method_symbols_array_ptr_type): New
field/global tree definitions.
(flag_indirect_dispatch): New flag.
* decl.c (java_init_decl_processing): Initialize new otable and
otable_syms type nodes and decls. Add new field "index" to
method_type_node.
* class.c (build_method_symbols_entry): New function.
(make_method_value): Set "index" to to method's vtable index for
virtual methods when indirect-dispatch is not used.
(make_class_data): For indirect-dispatch, dont emit the dtable_decl,
and set vtable_method_count to -1. Set otable and otable_syms field
if indirect-dispatch is used and there was something to put in them.
(build_method_symbols_entry): New function.
(emit_offset_symbol_table): New function.
* expr.c (get_offset_table_index): New function.
(build_invokevirtual): Build array reference to otable at the index
returned by get_offset_table_index, and use the result as the vtable
offset.
(build_invokeinterface): Similar.
* jcf-parse.c (yyparse): If indirect-dispatch, call
emit_offset_symbol_table at the end of compilation, after all classes
have been generated.
* jvspec.c: Don't pass findirect-dispatch to jvgenmain.
* lang.c (flag_indirect_dispatch): Define.
(lang_f_options): Add indirect-dispatch flag.
libjava:
* include/jvm.h (_Jv_VTable::idx_to_offset): New method.
* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Call
_Jv_MakeVTable and _Jv_LinkOffsetTable if needed.
* java/lang/Class.h (_Jv_Method): Add "index" field.
(_Jv_MethodSymbol): New struct type.
(_Jv_LinkOffsetTable, _Jv_LayoutVTableMethods, _Jv_SetVTableEntries,
_Jv_MakeVTable): Friends.
(otable, otable_syms): New Class fields.
* java/lang/natClass.cc (_Jv_LinkOffsetTable): New function.
(isVirtualMethod): New static function.
(_Jv_LayoutVTableMethods): New function.
(_Jv_SetVTableEntries): New function.
(_Jv_MakeVTable): New function.
From-SVN: r48038
GCC Administrator [Sat, 15 Dec 2001 08:16:09 +0000 (08:16 +0000)]
Daily bump.
From-SVN: r48036
Bryce McKinlay [Sat, 15 Dec 2001 07:47:03 +0000 (07:47 +0000)]
Collections drop from Classpath:
2001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* java/util/BitSet.java (and): Fix off-by-one bug, don't skip part of
the bitset.
(andNot): Likewise.
(xor): Likewise.
2001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* java/util/LinkedList.java (LinkedListItr.add): Don't skip the next
entry.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/TreeMap.java (removeNode): Fix bug in node removal.
2001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* java/util/AbstractCollection.java (containsAll): Use size of the
correct collection for loop bound.
* java/util/AbstractList.java (iterator.next): Increment pos after
calling get on backing list.
(listIterator.next): Likewise.
* java/util/LinkedList.java (addLastEntry): Don't increment size before
checking for size == 0.
(addFirstEntry): Rearrange to match addLastEntry.
(add): Do not increment size before inserting the new entry.
* java/util/AbstractCollection.java (addAll): Use size of the
correct collection for loop bound.
2001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* java/util/AbstractSet.java (removeAll): Fix scoping thinko.
* java/util/HashMap.java (putAllInternal): Set size here.
* java/util/Hashtable.java (putAllInternal): New method. Copy contents
of a map efficiently without calling put() or putAll().
(Hashtable (map)): Use putAllInternal.
(clone): Likewise.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/Collections.java:
* java/util/Vector.java:
* java/util/WeakHashMap.java: Fix spelling errors.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/AbstractCollection.java (removeAllInternal),
(retainAllInternal): Add hooks for use by ArrayList.
* java/util/AbstractList.java: Minor code updates. Fix some
scoping.
* java/util/AbstractMap.java: ditto
* java/util/ArrayList.java (readObject, writeObject): ditto
(removeAllInternal, retainAllInternal): Optimize.
* java/util/Arrays.java: ditto
* java/util/Collections.java: ditto. Change order of parameters
to equals(Object, Object) to match specs.
* java/util/Dictionary.java: Improve javadoc.
(Dictionary): Add explicit constructor.
* java/util/HashMap.java: Improve javadoc. Rearrange methods to
follow order in JDK. Cleanups related to recent code migration to
AbstractMap. Fix some scoping.
(entrySet): Cache the result.
(modCount): Ensure that this is updated correctly.
* java/util/HashSet.java: Improve javadoc. Fix some scoping.
(init): Add hooks for LinkedHashSet.
(map): Use "" instead of Boolean.TRUE in backing map. Use
package-private API where possible for less overhead.
(readObject, writeObject): Fix serialization.
* java/util/Hashtable.java: Improve javadoc. Fix some scoping.
(entrySet, keySet, values): Cache the result.
(modCount): Ensure that this is updated correctly.
(contains, remove): Fix NullPointer checking to match specs.
(class Enumeration): Make more like HashIterator.
* java/util/IdentityHashMap.java: Minor code updates.
(modCount): Ensure that this is updated correctly.
(readObject, writeObject): Fix serialization.
* java/util/LinkedHashMap.java: Minor code updates. Cleanups
related to recent code migration to AbstractMap.
* java/util/LinkedHashSet.java: New file.
* java/util/LinkedList.java:
(readObject, writeObject): Fix serialization.
* java/util/Makefile.am: List recently added files.
* java/util/Stack.java: Minor code updates.
* java/util/TreeMap.java: Improve javadoc. Overhaul the class to
be more efficient. Fix some scoping. Rearrange the methods.
(nil): Ensure that this can be thread-safe, and make it a static
final. Initialize it to be more useful as a sentinal node.
(Node): Specify color in constructor.
(deleteFixup, insertFixup): Improve comments and algorithm.
(fabricateTree): Redesign with less overhead.
(lowestGreaterThan): Add parameter first to make SubMap easier.
(removeNode): Patch hole where nil was being modified. Choose
predecessor instead of successor so in-place swap works.
(class VerifyResult, verifyTree, verifySub, verifyError): Remove
this dead code after verifying the class works.
(class SubMap): Rewrite several algorithms to avoid problems with
comparing nil.
* java/util/TreeSet.java: Improve javadoc. Fix some scoping.
(clone): Fix ClassCastException when cloning subSet().
(readObject, writeObject): Fix serialization.
* java/util/WeakHashMap.java: Improve javadoc. Fix some scoping.
(NULL_KEY): Make it compare as null, for ease elsewhere.
(Class WeakEntry): Rename from Entry, to avoid shadowing
Map.Entry. Add missing toString.
(modCount): Ensure that this is updated correctly.
(clear, containsValue, keySet, putAll, values, WeakHashMap(Map)):
Add missing methods and constructor.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/ArrayList.java (checkBoundExclusive),
(checkBoundInclusive): Rename from range??clusive, to match
AbstractList.
* java/util/LinkedList.java (checkBoundsExclusive),
(checkBoundsInclusive): ditto
* java/util/Vector.java (checkBoundExclusive),
(checkBoundInclusive): Move bounds checking into common methods.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/AbstractList.java:
(modCount): Make sure it is updated in all needed places.
* java/util/ArrayList.java: Improve javadoc. Implements
RandomAccess. Add serialVersionUID. Reorder methods.
(modCount): Make sure it is updated in all needed places.
(rangeExclusive, rangeInclusive): Add common methods for bounds
check.
(isEmpty): Add missing method.
* java/util/Collections.java: (class SynchronizedList): Make
package visible.
* java/util/ConcurrentModificationException.java: Improve
javadoc.
* java/util/EmptyStackException.java: Improve javadoc.
* java/util/LinkedList.java: Improve javadoc.
(modCount): Make sure it is updated in all needed places.
(rangeExclusive, rangeInclusive): Add common methods for bounds
check.
* java/util/NoSuchElementException.java: Improve javadoc.
* java/util/Stack.java: Improve javadoc. Fix synchronization
issues.
(modCount): Make sure it is updated in all needed places.
* java/util/Vector.java: Improve javadoc. Fix synchronization
issues. Implements RandomAccess. Reorder methods.
(modCount): Make sure it is updated in all needed places.
(setSize): Fix according to specifications: this does not dictate
the backing array size.
(removeAll, retainAll): Faster implementations.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/BitSet.java: Improve javadoc.
(cardinality(), clear(), clear(int, int), flip(int)),
(flip(int, int), get(int, int), intersects(BitSet), isEmpty()),
(nextClearBit(int), nextSetBit(int), set(int, boolean)),
(set(int, int), set(int, int, boolean)): Add new JDK 1.4 methods.
(clone): Fix so subclasses clone correctly.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/AbstractCollection.java: Improve javadoc.
(AbstractCollection()): Make constructor protected.
(equals(Object, Object), hashCode(Object)): Add utility methods.
* java/util/AbstractList.java: Improve javadoc.
(AbstractList()): Make constructor protected.
(indexOf(Object)): Call listIterator(), not listIterator(int).
(iterator()): Follow Sun's requirement to not use listIterator(0).
(listIterator(int)): Make AbstractListItr anonymous.
(subList(int, int)): Add support for RandomAccess.
(SubList.add(int, Object), SubList.remove(Object)): Fix bug with
modCount tracking.
(SubList.addAll(Collection)): Add missing method.
(SubList.listIterator(int)): Fix bugs in indexing, modCount
tracking.
(class RandomAccessSubList): Add new class.
* java/util/AbstractMap.java: Improve javadoc.
(keys, values, KEYS, VALUES, ENTRIES): Consolidate common map
fields.
(AbstractMap()): Make constructor protected.
(equals(Object, Object), hashCode(Object)): Add utility methods.
(equals(Object)): Change algorithm to
entrySet().equals(m.entrySet()), as documented by Sun.
(keySet(), values()): Cache the collections.
* java/util/AbstractSequentialList.java: Improve javadoc.
(AbstractSequentialList()): Make constructor protected.
* java/util/AbstractSet.java: Improve javadoc.
(AbstractSet()): Make constructor protected.
(removeAll(Collection)): Add missing method.
* java/util/Arrays.java: Improve javadoc, rearrange method orders.
(defaultComparator): Remove, in favor of
Collections.compare(Object, Object, Comparator).
(binarySearch, equals, sort): Fix natural order comparison of
floats and doubles. Also improve Object comparison - when
comparator is null, use natural order.
(fill, sort): Add missing checks for IllegalArgumentException.
(sort, qsort): Fix sorting bugs, rework the code for more
legibility.
(mergeSort): Inline into sort(Object[], int, int, Comparator).
(class ArrayList): Rename from ListImpl, and make compatible with
JDK serialization. Add methods which more efficiently override
those of AbstractList.
* java/util/Collections: Improve javadoc.
(isSequential(List)): Add and use a method for deciding between
RandomAccess and sequential algorithms on lists.
(class Empty*, class Synchronized*, class Unmodifiable*): Make
compliant with JDK serializability.
(class Singleton*, class CopiesList, class RevereseComparator),
(class UnmodifiableMap.UnmodifiableEntrySet),
(class *RandomAccessList): New classes for serial compatibility.
(class Empty*, class Singleton*, class CopiesList): Add methods
which more efficiently override those of Abstract*.
(search): Inline into binarySearch(List, Object, Comparator).
(binarySearch): Make sequential search only do log(n) comparisons,
instead of n.
(copy(List, List)): Do bounds checking before starting.
(indexOfSubList, lastIndexOfSubList, list, replaceAll, rotate),
(swap): Add new JDK 1.4 methods.
(binarySearch, max, min, sort): Allow null comparator to represent
natural ordering.
(reverse(List)): Avoid unnecessary swap.
(shuffle(List, Random)): Do shuffle in-place for RandomAccess
lists.
(SingletonList.get): Fix logic bug.
(SingletonMap.entrySet): Make the entry immutable, and cache the
returned set.
(SynchronizedCollection, SynchronizedMap, UnmodifiableCollection),
(UnmodifiableMap): Detect null pointer in construction.
(SynchronizedMap, UnmodifiableMap): Cache collection views.
* java/util/BasicMapEntry: Improve javadoc.
From-SVN: r48035
Benjamin Kosnik [Sat, 15 Dec 2001 07:05:04 +0000 (07:05 +0000)]
Clean up initialization and simplfy caching of underlying "C" locale objects.
2001-12-14 Benjamin Kosnik <bkoz@redhat.com>
Clean up initialization and simplfy caching of underlying "C"
locale objects.
* src/localename.cc (locale::_Impl::_Impl(string, size_t):
Unconditionally create __clocale object for all named locales,
including "C" and "POSIX".
* config/locale/c_locale_generic.cc
(locale::facet::_S_create_c_locale): Always set __cloc to zero.
* config/locale/c_locale_gnu.cc: Always delete.
* include/bits/localefwd.h (locale::facet::_S_c_locale): New.
* src/locale.cc (locale::classic()): Initialize
locale::facet::_S_c_locale.
(locale::facet::_S_c_locale): Define.
* include/bits/locale_facets.h: Add ctype_byname<wchar_t> ctor
specialization.
* src/locale.cc: Add definition here.
* config/os/gnu-linux/bits/ctype_inline.h: Tweak.
* config/os/gnu-linux/bits/ctype_noninline.h: Adjust initializations.
* include/bits/locale_facets.h (ctype<char>::_M_c_locale_ctype): Add.
Adjust ctors, dtors.
(ctype<char>::_M_toupper): Remove const&.
(ctype<char>::_M_tolower): Remove const&.
(ctype<char>::_M_ctable): Remove const&.
* include/bits/locale_facets.h (collate): Clean up initialization
of _M_c_locale_collate in ctors and dtors.
* config/locale/collate_members_gnu.cc: Always use extended
functions.
* include/bits/locale_facets.h (messages): Clean up inits in ctor/dtor.
(messages_byname): Same.
* config/locale/messages_members_generic.h (messages::~messages):
Remove.
* config/locale/messages_members_gnu.h: Same.
* include/bits/localefwd.h: Clean. Move dtor definitions to
* src/locale.cc: Here.
* testsuite/22_locale/facet.cc: Fix spelling.
Named locale support for ctype<wchar_t>.
* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add variable
ctype_members_* bits.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* src/Makefile.am (sources): Add ctype.cc.
* src/Makefile.in: Regenerate.
* config/locale/ctype_members_generic.cc: New file.
* config/locale/ctype_members_gnu.cc: New file.
* src/locale.cc: Remove ctype<wchart_t> definitions.
From-SVN: r48034
Kaveh R. Ghazi [Sat, 15 Dec 2001 04:12:42 +0000 (04:12 +0000)]
builtins.c (expand_builtin_memcmp): Mark parameter with ATTRIBUTE_UNUSED.
* builtins.c (expand_builtin_memcmp): Mark parameter with
ATTRIBUTE_UNUSED.
* cfgcleanup.c (insns_match_p): Likewise.
* regrename.c (mode_change_ok): Likewise.
* gcc.c (execute): Const-ify.
From-SVN: r48033
Aldy Hernandez [Sat, 15 Dec 2001 04:06:05 +0000 (04:06 +0000)]
c-parse.in (typename): Do not split attributes.
* c-parse.in (typename): Do not split attributes.
Remove unsupported attributes warning.
* c-decl.c (groktypename): Apply attributes.
From-SVN: r48032
Aldy Hernandez [Sat, 15 Dec 2001 04:04:28 +0000 (04:04 +0000)]
* testsuite/gcc.dg/
20011214-1.c: New.
From-SVN: r48031
Richard Henderson [Sat, 15 Dec 2001 02:28:33 +0000 (18:28 -0800)]
ia64.c (spill_restore_mem): Mark iterator initialization as possibly dead.
* config/ia64/ia64.c (spill_restore_mem): Mark iterator
initialization as possibly dead.
From-SVN: r48030
Richard Henderson [Sat, 15 Dec 2001 02:25:41 +0000 (18:25 -0800)]
regrename.c (mode_change_ok): New.
* regrename.c (mode_change_ok): New.
(find_oldest_value_reg): Use it.
From-SVN: r48029
Richard Henderson [Sat, 15 Dec 2001 02:24:21 +0000 (18:24 -0800)]
regrename.c (struct value_data): Add max_value_regs.
* regrename.c (struct value_data): Add max_value_regs.
(init_value_data): Initialize it.
(kill_value): Kill values that overlap the dying register.
(set_value_regno): New.
(kill_set_value, kill_autoinc_value, copy_value): Use it.
(copyprop_hardreg_forward_1): Kill earlyclobber operands
before looking at inputs.
From-SVN: r48028
David Edelsohn [Sat, 15 Dec 2001 02:16:37 +0000 (02:16 +0000)]
rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle DECL_WEAK for function descriptors.
* config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
DECL_WEAK for function descriptors.
* config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
weak support present.
(ASM_WEAKEN_LABEL): Same.
From-SVN: r48027
Kazu Hirata [Sat, 15 Dec 2001 01:33:51 +0000 (01:33 +0000)]
h8300.md (anonymous pattern): Add a missing mode.
* config/h8300/h8300.md (anonymous pattern): Add a missing
mode.
From-SVN: r48026
Kazu Hirata [Sat, 15 Dec 2001 01:31:00 +0000 (01:31 +0000)]
h8300.c (h8300_adjust_insn_length): Fix a comment typo.
* config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
comment typo.
From-SVN: r48025
Kazu Hirata [Sat, 15 Dec 2001 01:26:57 +0000 (01:26 +0000)]
h8300.c (h8300_handle_eightbit_data_attribute): Remove the initialization requierment.
* config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
Remove the initialization requierment.
(h8300_handle_tiny_data_attribute): Likewise.
From-SVN: r48024
Kazu Hirata [Sat, 15 Dec 2001 01:16:28 +0000 (01:16 +0000)]
h8300.md (udivqi3): Remove.
* config/h8300/h8300.md (udivqi3): Remove.
(divqi3): Likewise.
(udivhi3): Likewise.
(divhi3): Likewise.
(umodqi3): Likewise.
(modqi3): Likewise.
(umodhi3): Likewise.
(modhi3): Likewise.
(udivmodqi3): New.
(divmodqi3): Likewise.
(udivmodhi3): Likewise.
(divmodhi3): Likewise.
From-SVN: r48023
Jan Hubicka [Sat, 15 Dec 2001 00:53:44 +0000 (01:53 +0100)]
cfgcleanup.c (flow_find_cross_jump): Replace tests for note by active_insn_p; count conditional jump as instruction.
* cfgcleanup.c (flow_find_cross_jump): Replace tests for note
by active_insn_p; count conditional jump as instruction.
From-SVN: r48022
DJ Delorie [Fri, 14 Dec 2001 23:38:18 +0000 (18:38 -0500)]
cygwin.h (I386_PE_STRIP_ENCODING): Handle '*' at SYM_NAME[0] or SYM_NAME[3].
* config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
at SYM_NAME[0] or SYM_NAME[3].
(STRIP_NAME_ENCODING): Don't check for leading '*'.
Co-Authored-By: Danny Smith <dannysmith@users.sourceforge.net>
From-SVN: r48020
Ira Ruben [Fri, 14 Dec 2001 23:17:18 +0000 (23:17 +0000)]
Added changes to support -### (previously ok'ed by R. Henderson).
Added changes to prevent -save-temps from clobbering the
input file (previously ok'ed by R. Henderson).
2001-12-14 Ira Ruben <ira@apple.com>
Add -### option (displays driver-generated commands without
executing and quotes all arguments).
* doc/invoke.texi: Add -###.
* gcc.c (verbose_only_flag) - New flag.
* (execute): If -### write quoted arguments and return.
* (display_help): Print meaning of -###.
* (process_command): Handle -###.
2001-12-14 Ira Ruben <ira@apple.com>
Fix to no allow -save-temps to clobber user's source file.
* gcc.c: Add static globals input_stat and input_stat_set.
(do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
set, check that user's input file is not overwritten.
(set_input): Reset input_stat_set for each new file.
From-SVN: r48019
Matthias Klose [Fri, 14 Dec 2001 22:52:17 +0000 (22:52 +0000)]
gcj.texi: Markup for man page generation.
* gcj.texi: Markup for man page generation. Document missing
options printed by <tool> --help.
Terminate description of gij's -ms option with a dot.
* Make-lang.in ($(srcdir)/java/*.1): New targets.
(java.generated-manpages java.install-man, java.uninstall,
java-maintainer-clean) Updated.
From-SVN: r48016
Matthias Klose [Fri, 14 Dec 2001 22:46:31 +0000 (22:46 +0000)]
texi2pod.pl: Merge changes from binutils' texi2pod.pl.
2001-12-12 Matthias Klose <doko@debian.org>
* texi2pod.pl: Merge changes from binutils' texi2pod.pl. Allows
generation of more than one man page from one source.
Add '-' to set of valid chars for an identifier.
Let -D option accept flags of the form <flag>=<value>.
Use \s+ for whitespace detection in '@c man' lines.
Handle @set and @clear independent of $output.
Substitute all @value{}'s in a line.
From-SVN: r48015
Geert Bosch [Fri, 14 Dec 2001 22:31:14 +0000 (23:31 +0100)]
config-lang.in: Update copyright notice
* config-lang.in: Update copyright notice
* layout.adb: Remove commented out code.
* mdllfile.ads: Update copyright notice. Fix header format.
* sem_case.ads: Likewise.
* sem_ch3.adb: Minor reformatting.
From-SVN: r48014
Tom Tromey [Fri, 14 Dec 2001 21:56:29 +0000 (21:56 +0000)]
For PR libgcj/5103:
* libjava.jni/cxxtest.out: New file.
* libjava.jni/cxxtest.cc: New file.
* libjava.jni/cxxtest.java: New file.
* libjava.jni/jni.exp (gcj_jni_test_one): If there is no .c file,
assume there is a .cc file.
From-SVN: r48012
Jan Hubicka [Fri, 14 Dec 2001 21:28:49 +0000 (22:28 +0100)]
* predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
From-SVN: r48010
Zack Weinberg [Fri, 14 Dec 2001 21:20:03 +0000 (21:20 +0000)]
combine.c (record_dead_and_set_regs): Use regs_invalidated_by_call.
* combine.c (record_dead_and_set_regs): Use
regs_invalidated_by_call. Don't note stores for CALL_INSNs.
From-SVN: r48009
Andreas Jaeger [Fri, 14 Dec 2001 21:06:35 +0000 (22:06 +0100)]
builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and __builtin_fsqrt to __builtin_sqrt.
2001-12-14 Roger Sayle <roger@eyesopen.com>
* builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
__builtin_fsqrt to __builtin_sqrt.
* builtins.c (expand_builtin_mathfn,expand_builtin): Same.
* doc/extend.texi: Simplify documentation to match patch.
f:
* com-rt.def: Use __builtin_sqrt instead of __builtin_fsqrt.
* com.c (ffecom_init_0): Same, and fixed enumeration usage.
libstdc++-v3:
* acconfig.h: Test for __builtin_sqrt instead of
__builtin_fsqrt.
* acinclude.m4: Same.
* include/c_shadow/bits/std_cmath.h: Same.
* aclocal.m4: Regenerated.
* config.h.in: Regenerated.
* configure: Regenerated.
From-SVN: r48008
Jan Hubicka [Fri, 14 Dec 2001 20:43:41 +0000 (20:43 +0000)]
config.gcc: Revamp target_cpu_default2 to strings; support new x86 variants.
* config.gcc: Revamp target_cpu_default2 to strings;
support new x86 variants.
From-SVN: r48007
Jan Hubicka [Fri, 14 Dec 2001 20:27:05 +0000 (20:27 +0000)]
config.gcc: Revamp target_cpu_default2 to strings; support new x86 variants.
* config.gcc: Revamp target_cpu_default2 to strings;
support new x86 variants.
* i386.c (override_options): Default x86_cpu_string and x86_arch_string
properly; set prefetch_sse.
* i386.h (x86_prefetch_sse): Declare.
(TARGET_PREFETCH_SSE): New.
(CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
(TARGET_CPU_DEFAULT_*): New.
* config/i386/i386.h (struct processor_costs): Add new members
prefetch_block and simultaneous_prefetches.
(PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
* config/i386/i386.c (processor_costs structs): Add values for
prefetch_block and simultaneous_prefetches.
* config/i386/i386.md (unspec values): Remove values for prefetch
operations, which now use the PREFETCH rtx code.
(prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
unified prefetch support.
From-SVN: r48006
Jason Merrill [Fri, 14 Dec 2001 20:13:55 +0000 (15:13 -0500)]
diagnostic.c (sorry): Increment sorrycount before saving the buffer state.
* diagnostic.c (sorry): Increment sorrycount before saving the
buffer state.
From-SVN: r48005
Hans Boehm [Fri, 14 Dec 2001 19:01:02 +0000 (19:01 +0000)]
class.c (get_dispatch_table): Fix java vtable layout for TARGET_VTABLE_USES_DESCRIPTORS.
* class.c (get_dispatch_table): Fix java vtable layout
for TARGET_VTABLE_USES_DESCRIPTORS.
* decl.c (java_init_decl_processing): Initialize
alloc_no_finalizer_node, finalize_identifier_node.
* expr.c (class_has_finalize_method): New function.
(expand_java_NEW): Generate calls for finalizer-free allocation.
(build_invokevirtual): Fix java vtable layout for
TARGET_VTABLE_USES_DESCRIPTORS.
* java-tree.h (enum java_tree_index): New entries:
JTI_ALLOC_NO_FINALIZER_NODE, JTI_FINALIZE_IDENTIFIER_NODE.
(alloc_no_finalizer_node, finalize_deintifier_node): New macros.
(class_has_finalize_method): declare.
(HAS_FINALIZER_P): New macro.
* parse.y (patch_invoke): Generate calls for finalizer-free
allocation.
From-SVN: r48004
Jan Hubicka [Fri, 14 Dec 2001 18:54:46 +0000 (19:54 +0100)]
* i386.md (sqrt?f): Fix conditionals.
From-SVN: r48003
Hans Boehm [Fri, 14 Dec 2001 18:43:55 +0000 (18:43 +0000)]
prims.cc: Some old cleanups.
* libjava/prims.cc: Some old cleanups. The collector now
handles test for out of memory.
* libjava/prims.cc, libjava/gcj/javaprims.h:
(_Jv_AllocObjectNoInitNoFinalizer, _Jv_AllocObjectNoFinalizer):
New functions for finalizer-free allocation.
(jvmpi_notify_alloc): Became separate function.
* libjava/java/lang/Object.h, libjava/include/jvm.h: Adjust for
revised vtable layout on IA64. With TARGET_VTABLE_USES_DESCRIPTORS,
there is only one extra descriptor.
From-SVN: r48002
Douglas B Rupp [Fri, 14 Dec 2001 12:55:07 +0000 (07:55 -0500)]
config.gcc (alpha64-dec-*vms*): New case.
* config.gcc (alpha64-dec-*vms*): New case.
* config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
* config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
* config/alpha/xm-vms64.h: Likewise.
From-SVN: r48001
Douglas B Rupp [Fri, 14 Dec 2001 12:39:08 +0000 (07:39 -0500)]
alpha.c (vms_attribute_table): Add new attributes.
* config/alpha/alpha.c (vms_attribute_table): Add new attributes.
(alpha_write_linkage): Test for null alpha_links.
(SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
(vms_section_type_flags, vms_asm_named_section): Handle them.
From-SVN: r48000
Jan Hubicka [Fri, 14 Dec 2001 11:20:27 +0000 (12:20 +0100)]
i386.c (ix86_fpmath, [...]): New.
Fri Dec 14 12:05:14 CET 2001 Jan Hubicka <jh@suse.cz>
* i386.c (ix86_fpmath, ix86_fpmath_string): New.
(override_option): Set ix86_fpmath.
* i386.h (MASK_MIX_SSE_I387): Remove.
(TARGET_SSE_MATH): New.
(TARGET_MIX_SSE_I387): Use ix86_fpmath.
(TARGET_SWITCHES): Remove "mix-sse-i387".
(fpmath_unit): New enum.
(ix86_fpmath, ix86_fpmath_string): Declare.
* i386.md (swapsf): Fix condition.
(add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
(fp_?f_*_nosse): New.
(fp_*): Use TARGET_SSE_MATH.
* invoke.texi (-mfpmath): Document.
(-msse2): Add.
From-SVN: r47999
Jason Merrill [Fri, 14 Dec 2001 11:19:28 +0000 (06:19 -0500)]
tweak comment
From-SVN: r47998
Jason Merrill [Fri, 14 Dec 2001 11:15:36 +0000 (06:15 -0500)]
dwarf2out.c (output_die): Print the string in the comment for a DW_FORM_strp.
* dwarf2out.c (output_die): Print the string in the comment for
a DW_FORM_strp.
From-SVN: r47997
Richard Earnshaw [Fri, 14 Dec 2001 11:03:49 +0000 (11:03 +0000)]
* netbsd.h (COLLECT_SHARED_INIT_FUNC)
(COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
* doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
(COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
From-SVN: r47996
GCC Administrator [Fri, 14 Dec 2001 08:16:45 +0000 (08:16 +0000)]
Daily bump.
From-SVN: r47995
Richard Henderson [Fri, 14 Dec 2001 06:47:56 +0000 (22:47 -0800)]
regrename.c (kill_value_regno): Simplify chain removal.
* regrename.c (kill_value_regno): Simplify chain removal.
(kill_value): Kill all of HARD_REGNO_NREGS.
(kill_set_value): Use kill_value not kill_value_regno.
(kill_autoinc_value): Likewise.
(copyprop_hardreg_forward): Don't collect refresh_blocks.
Call delete_noop_moves.
From-SVN: r47992
Aldy Hernandez [Fri, 14 Dec 2001 06:37:02 +0000 (06:37 +0000)]
altivec-4.c: New.
2001-12-13 Aldy Hernandez <aldyh@redhat.com>
* gcc.dg/altivec-4.c: New.
From-SVN: r47991
Aldy Hernandez [Fri, 14 Dec 2001 06:36:14 +0000 (06:36 +0000)]
attribs.c (c_common_attribute_table): Swap decl_req and type_req for the mode attribute.
* attribs.c (c_common_attribute_table): Swap decl_req and type_req
for the mode attribute.
(handle_mode_attribute): Handle types, not decls.
From-SVN: r47990
Aldy Hernandez [Fri, 14 Dec 2001 06:27:51 +0000 (06:27 +0000)]
attribs.c (c_common_attribute_table): Swap decl_req and type_req for the mode attribute.
2001-12-09 Aldy Hernandez <aldyh@redhat.com>
* attribs.c (c_common_attribute_table): Swap decl_req and type_req
for the mode attribute.
(handle_mode_attribute): Handle types, not decls.
From-SVN: r47989
Jason Merrill [Fri, 14 Dec 2001 03:08:50 +0000 (22:08 -0500)]
c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
* c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
Use cleanups to run base and member destructors.
* init.c (push_base_cleanups): New function, split out from...
(build_delete): ...here. Lose !TYPE_HAS_DESTRUCTOR code.
* decl.c (finish_destructor_body): Move vbase destruction code to
push_base_cleanups.
(begin_function_body, finish_function_body): New fns.
(finish_function): Move [cd]tor handling and call_poplevel to
finish_function_body.
(pushdecl): Skip the new level.
* semantics.c (genrtl_try_block): Don't call end_protect_partials.
(setup_vtbl_ptr): Call push_base_cleanups.
* method.c (synthesize_method): Call {begin,end}_function_body.
* pt.c (tsubst_expr): Handle COMPOUND_STMT_BODY_BLOCK.
* cp-tree.h: Declare new fns.
* parse.y (function_body, .begin_function_body): New nonterminals.
(fndef, pending_inline, function_try_block): Use function_body.
(ctor_initializer_opt, function_try_block): No longer has a value.
(base_init): Remove .set_base_init token.
(.set_base_init, compstmt_or_error): Remove.
* Make-lang.in (parse.c): Expect two fewer s/r conflicts.
From-SVN: r47988
Jason Merrill [Fri, 14 Dec 2001 03:01:59 +0000 (22:01 -0500)]
c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
* c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
* Make-lang.in (parse.h): Separate rule, just depend on parse.c.
Use cleanups to run base and member destructors.
* init.c (push_base_cleanups): New function, split out from...
(build_delete): ...here. Lose !TYPE_HAS_DESTRUCTOR code.
* decl.c (finish_destructor_body): Move vbase destruction code to
push_base_cleanups.
(begin_function_body, finish_function_body): New fns.
(finish_function): Move [cd]tor handling and call_poplevel to
finish_function_body.
(pushdecl): Skip the new level.
* semantics.c (genrtl_try_block): Don't call end_protect_partials.
(setup_vtbl_ptr): Call push_base_cleanups.
* method.c (synthesize_method): Call {begin,end}_function_body.
* pt.c (tsubst_expr): Handle COMPOUND_STMT_BODY_BLOCK.
* cp-tree.h: Declare new fns.
* parse.y (function_body, .begin_function_body): New nonterminals.
(fndef, pending_inline, function_try_block): Use function_body.
(ctor_initializer_opt, function_try_block): No longer has a value.
(base_init): Remove .set_base_init token.
(.set_base_init, compstmt_or_error): Remove.
* Make-lang.in (parse.c): Expect two fewer s/r conflicts.
From-SVN: r47987
Aldy Hernandez [Fri, 14 Dec 2001 02:43:26 +0000 (02:43 +0000)]
rs6000.md (eh_set_lr_di): Change scratch constraint to base register.
2001-12-13 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
constraint to base register.
(eh_set_lr_si): Same.
From-SVN: r47986
Jason Merrill [Fri, 14 Dec 2001 02:30:48 +0000 (21:30 -0500)]
restore # lines
From-SVN: r47985
Hans-Peter Nilsson [Fri, 14 Dec 2001 02:16:33 +0000 (02:16 +0000)]
expr.c (expand_expr, [...]): Don't honor flag_force_addr for modifier != EXPAND_CONST_ADDRESS...
* expr.c (expand_expr, case ADDR_EXPR): Don't honor
flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
* gcc.dg/
20011113-1.c: New test.
From-SVN: r47984
Richard Kenner [Fri, 14 Dec 2001 01:37:46 +0000 (01:37 +0000)]
expr.c (copy_blkmode_from_reg): Add missing braces to eliminate warning and reformat comments.
* expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
warning and reformat comments.
(expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
(highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
if overflow.
From-SVN: r47983
Aldy Hernandez [Thu, 13 Dec 2001 23:14:45 +0000 (23:14 +0000)]
rs6000.c (rs6000_override_options): Add SUBSUBTARGET_OVERRIDE_OPTIONS.
* config/rs6000/rs6000.c (rs6000_override_options): Add
SUBSUBTARGET_OVERRIDE_OPTIONS.
* config/rs6000/eabialtivec.h: New file.
* config/rs6000/linuxaltivec.h: New file.
* config.gcc: Add powerpc-*-eabialtivec and
powerpc-*-linux-gnualtivec.
From-SVN: r47981
Phil Edwards [Thu, 13 Dec 2001 23:11:49 +0000 (23:11 +0000)]
howto.html: Fix typos.
2001-12-13 Phil Edwards <pme@gcc.gnu.org>
* docs/html/ext/howto.html: Fix typos.
From-SVN: r47980
Neil Booth [Thu, 13 Dec 2001 21:37:27 +0000 (21:37 +0000)]
toplev.c (process_options, [...]): Set flag_no_inline before the post_options hook.
* toplev.c (process_options, parse_options_and_default_flags):
Set flag_no_inline before the post_options hook.
From-SVN: r47979
Richard Henderson [Thu, 13 Dec 2001 17:50:02 +0000 (09:50 -0800)]
emit-rtl.c (adjust_address_1): Don't adjust address if adjust is false.
* emit-rtl.c (adjust_address_1): Don't adjust address if adjust
is false.
From-SVN: r47978
John David Anglin [Thu, 13 Dec 2001 17:20:20 +0000 (17:20 +0000)]
template31.C: Remove templates for classes std::__malloc_alloc_template<0> and...
* g++.old-deja/g++.jason/template31.C: Remove templates for classes
std::__malloc_alloc_template<0> and
std::__default_alloc_template<false, 0>.
From-SVN: r47977
Jason Merrill [Thu, 13 Dec 2001 15:06:42 +0000 (10:06 -0500)]
* optimize.c (maybe_clone_body): Fix parameter updating.
From-SVN: r47976
Richard Earnshaw [Thu, 13 Dec 2001 14:24:03 +0000 (14:24 +0000)]
* collect2.c (COLLECT_SHARED_INIT_FUNC)
(COLLECT_SHARD_FINI_FUNC): Define default values.
(write_c_file_stat): Use them to call construtor and destructor
functions in shared libraries.
* doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
(COLLECT_SHARD_FINI_FUNC): Document them.
* config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
(COLLECT_SHARD_FINI_FUNC): Define.
* config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
shared library. Pass -shared through to the linker.
* config/arm/netbsd.h (LINK_SPEC): Likewise.
* config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
(SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
(SHLIB_INSTALL): Define.
From-SVN: r47975
Richard Kenner [Thu, 13 Dec 2001 14:23:21 +0000 (09:23 -0500)]
Update whitespace.
From-SVN: r47974
Richard Earnshaw [Thu, 13 Dec 2001 13:58:47 +0000 (13:58 +0000)]
arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially the same way as we handle SYMBOL_REFS.
* arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
the same way as we handle SYMBOL_REFS.
From-SVN: r47973
Richard Kenner [Thu, 13 Dec 2001 12:56:49 +0000 (12:56 +0000)]
loop.c (remove_constant_addition): Fix prototype and whitespace.
* loop.c (remove_constant_addition): Fix prototype and whitespace.
(emit_prefetch_instructions): Remove warnings and whitespace
changes.
From-SVN: r47972
Nicola Pero [Thu, 13 Dec 2001 12:41:07 +0000 (13:41 +0100)]
New objc tests for bitfield enumeration ivars
From-SVN: r47971
Douglas B Rupp [Thu, 13 Dec 2001 11:55:26 +0000 (06:55 -0500)]
vms-cc.c (preprocess_args): Fix forward declaration.
* config/alpha/vms-cc.c (preprocess_args): Fix forward
declaration.
From-SVN: r47970
Jan Hubicka [Thu, 13 Dec 2001 11:34:11 +0000 (12:34 +0100)]
predict.c (estimate_probability): Reorganize opcode heuristics.
* predict.c (estimate_probability): Reorganize opcode heuristics.
* predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
PRED_FPOPCODE): New.
* i386.c (override_options): Recognize various CPU variants and set
SSE/MMX/3dNOW flags accordingly.
* i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
MASK_3DNOW_A_SET): New.
(MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
(MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
(MASK_*): Renumber.
(TARGET_FLAGS): Use new masks.
(CPP_CPU_SPECS): Recognize new CPU variants.
* invoke.texi (-mcpu): Update documentation.
* flags.h (flag_prefetch_loop_arrays): Declare.
* loop.h (LOOP_PREFETCH): Define new constant.
* loop.c (strength_reduce): Call emit_prefetch_instructions.
(MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
constants.
(check_store_data): New structure.
(check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
New functions.
* toplev.c: Include insn-flags.h.
(flag_prefetch_loop_arrays): New global variable.
(lang_independent_option): Add -fprefetch-loop-arrays.
(rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
is set.
* Makefile.in (toplev.c): Depend on insn-flags.h.
* invoke.texi (-fprefetch-loop-arrays): Document.
* predict.c (estimate_probability): Distribute the loop exit
probability according to number of exit edges.
* cfgcleanup.c (insns_match_p): Break out from ...;
(flow_find_cross_jump): ... here;
(outgoing_edges_match): Add parameter MODE; attempt to match everything
except for tablejumps.
(try_crossjump_to_edge): Accept complex edges.
(try_crossjump_bb): Likewise.
From-SVN: r47969
Benjamin Kosnik [Thu, 13 Dec 2001 11:12:56 +0000 (11:12 +0000)]
locale.cc (locale::locale(const char*)): Deal with locales named "".
2001-12-13 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/3679
* src/locale.cc (locale::locale(const char*)): Deal with locales
named "".
* testsuite/22_locale/ctor_copy_dtor.cc (test01): Modify.
From-SVN: r47968
GCC Administrator [Thu, 13 Dec 2001 08:16:52 +0000 (08:16 +0000)]
Daily bump.
From-SVN: r47966
Tom Tromey [Thu, 13 Dec 2001 04:19:36 +0000 (04:19 +0000)]
prims.cc (_Jv_RunMain): Use `using' to simplify code.
* prims.cc (_Jv_RunMain): Use `using' to simplify code. Set
_Jv_Jar_Class_Path early.
From-SVN: r47965
Jason Merrill [Thu, 13 Dec 2001 01:37:52 +0000 (20:37 -0500)]
decl.c (store_parm_decls): Remove parms_have_cleanups cruft.
* decl.c (store_parm_decls): Remove parms_have_cleanups cruft.
* semantics.c (genrtl_start_function): Don't pass
parms_have_cleanups or push an extra binding level.
(genrtl_finish_function): Lose cleanup_label cruft.
* cp-tree.h (struct cp_language_function): Remove x_ctor_label.
(ctor_label): Remove.
* semantics.c (finish_return_stmt): Lose ctor_label support.
* decl.c (finish_constructor_body, mark_lang_function): Likewise.
* typeck.c (check_return_expr): Check DECL_DESTRUCTOR_P, not
dtor_label.
* call.c (build_new_method_call): Let resolves_to_fixed_type_p
check for [cd]tors.
* class.c (fixed_type_or_null, case INDIRECT_REF): Fix.
* decl.c (finish_function): Check VMS_TARGET, not VMS.
* decl.c (start_cleanup_fn): Remove redundant pushlevel.
(end_cleanup_fn): And poplevel.
* semantics.c (setup_vtbl_ptr): Always build a CTOR_INITIALIZER
if we're in a template.
From-SVN: r47962
Corey Minyard [Thu, 13 Dec 2001 01:21:52 +0000 (01:21 +0000)]
recog.c (validate_replace_rtx_1): Use simplify_gen_binary instead of plus_constant.
* recog.c (validate_replace_rtx_1): Use simplify_gen_binary
instead of plus_constant.
* simplify-rtx.c (neg_const_int): New.
(simplify_gen_binary, simplify_plus_minus): Use it.
From-SVN: r47961
Roger Sayle [Thu, 13 Dec 2001 00:43:51 +0000 (00:43 +0000)]
builtins.c (expand_builtin_memset, [...]): Additional arguments TARGET and MODE.
* builtins.c (expand_builtin_memset, expand_builtin_memcpy,
expand_builtin_strcpy): Additional arguments TARGET and MODE.
(expand_builtin_bzero, expand_builtin_strcpy,
expand_builtin_strncpy, expand_builtin_bzero): Pass additional
TARGET and MODE parameters to the above functions.
(expand_builtin_memset, expand_builtin_memcpy): Optimize the
case where the LEN parameter is constant zero.
(expand_builtin_memcmp): No longer conditional on
HAVE_cmpstrsi. Take an additional mode parameter. Optimize
the cases where len is either constant zero or one.
Optimize to call to memcpy, even if the memcpy isn't inlined.
(expand_builtin_strncpy): Optimize to call memcpy, even if the
memcpy isn't inlined.
(expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
to optimize to a call to memcmp.
(expand_builtin): expand_builtin_memcmp can always be called,
and pass the required parameters to expand_builtin_memcmp,
expand_builtin_memset, expand_builtin_memcpy and
expand_builtin_strcpy.
* gcc.c-torture/execute/string-opt-14.c: New test case.
* gcc.c-torture/execute/string-opt-15.c: New test case.
From-SVN: r47960
Paolo Carlini [Thu, 13 Dec 2001 00:41:03 +0000 (01:41 +0100)]
ropeimpl.h (rope::_S_leaf_concat_char_iter, [...]): Adjust implicit typename.
2001-12-12 Paolo Carlini <pcarlini@unitus.it>
* include/ext/ropeimpl.h (rope::_S_leaf_concat_char_iter,
_S_destr_leaf_concat_char_iter, _S_tree_concat, _S_concat_char_iter,
_S_destr_concat_char_iter, _S_concat, _S_substring, _S_balance)
: Adjust implicit typename.
* include/ext/stl_rope.h (_Rope_iterator::operator=, rope::npos):
Adjust implicit typename.
* testsuite/27_io/streambuf.cc: Adjust implicit typename.
From-SVN: r47958
David O'Brien [Thu, 13 Dec 2001 00:27:30 +0000 (00:27 +0000)]
config.gcc (arm-*-freebsd*): Add target.
2001-12-12 David O'Brien <obrien@FreeBSD.org>
* config.gcc (arm-*-freebsd*): Add target.
* config/arm/freebsd.h: New file.
* config/arm/arm.h (CPP_PREDEFINES): Do not define.
(CPP_SPEC): #undef before defining.
(CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
* config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
-Amachine=arm.
* config/arm/linux-elf.h: Likewise.
* config/arm/netbsd.h: Likewise.
* config/arm/riscix.h: Likewise.
* config/arm/riscix1-1.h: Likewise.
* config/arm/semiaof.h: Likewise.
Approved by: Richard Earnshaw <rearnsha@arm.com> (in private email)
Message-Id: <
200112121046.KAA09097@cam-mail2.cambridge.arm.com>
From-SVN: r47957
Geert Bosch [Thu, 13 Dec 2001 00:03:51 +0000 (01:03 +0100)]
freeze.ads: Update copyright date.
* freeze.ads: Update copyright date.
* g-comlin.ads: Minor reformatting.
* gnat-style.texi: Fix typo.
From-SVN: r47956
Geert Bosch [Wed, 12 Dec 2001 23:56:56 +0000 (00:56 +0100)]
* einfo.h: Regenerate.
From-SVN: r47955
Geert Bosch [Wed, 12 Dec 2001 23:51:11 +0000 (00:51 +0100)]
sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names on known node types, rather than untyped fields.
* sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
on known node types, rather than untyped fields. Further cleanups.
* sem_ch12.adb:
(Save_Entity_Descendant): Minor comment update.
(Copy_Generic_Node): Deal with incorrect reference to Associated_Node
of an N_Attribute_Reference node. As per note below, this does not
eliminate need for Associated_Node in attribute ref nodes.
(Associated_Node): Documentation explicitly mentions attribute
reference nodes, since this field is used in such nodes.
* sem_ch12.adb (Associated_Node): Minor documentation cleanup.
From-SVN: r47954
Benjamin Kosnik [Wed, 12 Dec 2001 23:16:35 +0000 (23:16 +0000)]
Named locale support for ctype<char>.
2001-12-12 Benjamin Kosnik <bkoz@redhat.com>
Named locale support for ctype<char>.
* config/locale/c_locale_gnu.h (_GLIBCPP_C_LOCALE_GNU): New.
* config/os/gnu-linux/bits/ctype_noninline.h (ctype<char>): Add
definitions for alternate constructor.
* config/os/solaris/solaris2.7/bits/ctype_noninline.h (ctype): Same.
* config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
* config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
* config/os/newlib/bits/ctype_noninline.h (ctype): Same.
* config/os/irix/irix6.5/bits/ctype_noninline.h (ctype): Same.
* config/os/irix/irix5.2/bits/ctype_noninline.h (ctype): Same.
* config/os/hpux/bits/ctype_noninline.h (ctype): Same.
* config/os/generic/bits/ctype_noninline.h (ctype): Same.
* config/os/djgpp/bits/ctype_noninline.h (ctype): Same.
* config/os/bsd/netbsd/bits/ctype_noninline.h (ctype): Same.
* config/os/bsd/freebsd/bits/ctype_noninline.h (ctype): Same.
* config/os/aix/bits/ctype_noninline.h (ctype): Same.
* include/bits/locale_facets.h (ctype<_CharT>): Remove dummy
definitions for all virtual functions. These are now explicitly
undefined for non-required factets, ie any non-char, non-wchar_t
instantiations.
* src/localename.cc (locale::_Impl::_Impl(string, size_t): Named
locales use alternate constructor for ctype facet.
* include/bits/locale_facets.h (ctype<char>::ctype(__c_locale, const
mask*, bool, size_t): Add.
(ctype<wchar_t>::ctype(__c_locale, size_t): Add.
* src/locale.cc (ctype<wchar_t>::ctype(__c_locale, size_t)): Add
definition.
* testsuite/22_locale/ctype_members_char.cc (test02): Add, mark
XFAIL for non-gnu locale models.
From-SVN: r47953
Craig Rodrigues [Wed, 12 Dec 2001 23:08:07 +0000 (23:08 +0000)]
re PR other/2719 (demangler crash)
2001-12-12 Craig Rodrigues <rodrigc@gcc.gnu.org>
PR other/2719
* cplus-dem.c (consume_count): Treat negative count as an error.
* testsuite/demangle-expected: Added testcase.
From-SVN: r47952
Richard Henderson [Wed, 12 Dec 2001 22:50:05 +0000 (14:50 -0800)]
regrename.c (copyprop_hardreg_forward): New optimization.
* regrename.c (copyprop_hardreg_forward): New optimization.
(kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
replace_oldest_value_reg, replace_oldest_value_addr,
replace_oldest_value_mem, copyprop_hardreg_forward_1,
debug_value_data, validate_value_data): New.
* rtl.h (copyprop_hardreg_forward): Declare.
* toplev.c (flag_cprop_registers): New.
(f_options): Add -fcprop-registers
(rest_of_compilation): Invoke it.
(parse_options_and_default_flags): Set it at -O1.
* doc/invoke.texi: Document it.
From-SVN: r47951