Jan Hubicka [Wed, 31 Mar 2004 08:41:26 +0000 (10:41 +0200)]
tree.h (optimize_function): Kill prototype.
* tree.h (optimize_function): Kill prototype.
* optimize.c (dump_function, optimize_function, dump_finction): Kill.
* semantics.c (expand_body): Kill.
From-SVN: r80246
David Edelsohn [Wed, 31 Mar 2004 04:29:13 +0000 (23:29 -0500)]
[multiple changes]
2004-03-30 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.md (tls_gd_32, tls_gd_64,
tls_ld_32, tls_ld_64, tls_dtprel_32, tls_dtprel_64,
tls_dtprel_ha_32, tls_dtprel_ha_64,
tls_dtprel_lo_32, tls_dtprel_lo_64,
tls_got_dtprel_64, tls_tprel_32, tls_tprel_64,
tls_tprel_ha_32, tls_tprel_ha_64,
tls_tprel_lo_32, tls_tprel_lo_64,
tls_got_tprel_32, tls_got_tprel_64,
tls_tls_32, tls_tls_64): Replace register_operand with
gpc_reg_operand.
2004-03-30 Mostafa Hagog <mustafa@il.ibm.com>
* config/rs6000/rs6000.md (*ctrsi_internal1, *ctrsi_internal2,
*ctrdi_internal1, *ctrdi_internal2, *ctrsi_internal3,
*ctrsi_internal4, *ctrdi_internal3, *ctrdi_internal4,
*ctrsi_internal5, *ctrsi_internal6, *ctrdi_internal5,
*ctrdi_internal6): Replace register_operand with
nonimmediate_operand.
From-SVN: r80114
GCC Administrator [Wed, 31 Mar 2004 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r80104
Mark Mitchell [Tue, 30 Mar 2004 23:45:00 +0000 (23:45 +0000)]
re PR c++/14724 (Destructor not called on backwards goto past initialization)
PR c++/14724
* decl.c (start_decl_1): Do not decide whether or not to create a
new cleanup level until after the type has been completed.
PR c++/14763
* pt.c (tsubst_default_argument): Clear current_function_decl.
PR c++/14724
* g++.dg/init/goto1.C: New test.
PR c++/14763
* g++.dg/template/defarg4.C: New test.
From-SVN: r80101
Benjamin Kosnik [Tue, 30 Mar 2004 21:04:19 +0000 (21:04 +0000)]
re PR libstdc++/14783 (Warning in std::set constructor at bits/stl_tree.h:403)
2004-03-30 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/14783
* include/bits/stl_tree.h: Adjust initialization list order.
From-SVN: r80095
Fariborz Jahanian [Tue, 30 Mar 2004 20:00:23 +0000 (20:00 +0000)]
Reassociate multiply expression with an adjacent non-multiply expression.
Reviewed by Roger Sayle.
From-SVN: r80093
Zack Weinberg [Tue, 30 Mar 2004 19:23:16 +0000 (19:23 +0000)]
* hashtab.h, splay-tree.h: Use new shorter form of GTY markers.
From-SVN: r80092
Zack Weinberg [Tue, 30 Mar 2004 19:19:06 +0000 (19:19 +0000)]
gengtype.c (create_option): New function.
* gengtype.c (create_option): New function.
* gengtype.h: Prototype it.
* gengtype-yacc.y (stringseq): New rule.
(option): Use create_option. Add new bare ID production. Use
stringseq, not STRING directly.
* alias.c, bitmap.c, c-decl.c, cgraph.h, cpplib.h, cselib.h
* dwarf2out.c, emit-rtl.c, function.h, lists.c, tree.h
* varray.h, config/alpha/alpha.c, cp/name-lookup.c, cp/parser.c
* f/com.c, java/builtins.c, java/expr.c, java/jcf.h, java/parse.h:
Use new shorter form of GTY markers.
* doc/gty.texi: Rewrite.
From-SVN: r80091
Andrew Pinski [Tue, 30 Mar 2004 13:37:04 +0000 (13:37 +0000)]
darwin.c (machopic_function_base_name): Remove current_name and getting the name of the current function.
* config/darwin.c (machopic_function_base_name):
Remove current_name and getting the name of the
current function.
From-SVN: r80085
Nick Clifton [Tue, 30 Mar 2004 10:31:31 +0000 (10:31 +0000)]
(thumb_jump): Reduce the backward branch range...
(thumb_jump): Reduce the backward branch range, and increase the forward branch
range, to allow for the fact that the PC will be off by 4.
From-SVN: r80083
Alan Modra [Tue, 30 Mar 2004 08:48:59 +0000 (08:48 +0000)]
* .cvsignore: Add GPATH, GRTAGS, GSYMS and GTAGS (GNU GLOBAL)
From-SVN: r80079
Hartmut Penner [Tue, 30 Mar 2004 08:27:55 +0000 (08:27 +0000)]
* gcc.dg/altivec-11.c: Extend test for more valid cases.
From-SVN: r80078
Hartmut Penner [Tue, 30 Mar 2004 08:25:30 +0000 (08:25 +0000)]
rs6000.c (output_vec_const_move): Find all cases of EASY_VECTOR_15_ADD_SELF.
* config/rs6000/rs6000.c (output_vec_const_move):
Find all cases of EASY_VECTOR_15_ADD_SELF.
(easy_vector_constant_add_self): Accept
all vector constant loadable by vsplt* and vadd*.
(easy_vector_same): Use easy_vector_splat_const.
(easy_vector_const): Use easy_vector_splat_const.
(easy_vector_splat_const): New function.
(gen_easy_vector_constant_add_self): New function.
* config/rs6000/rs6000-protos.c (gen_easy_vector_constant_add_self):
New prototype.
* config/rs6000/altivec.md (movv4si splitter): Change to
emit move insn with halfed vector constant.
(*movv8hi splitter): Likewise.
(*movv16qi splitter): Likewise.
From-SVN: r80077
Hartmut Penner [Tue, 30 Mar 2004 06:43:51 +0000 (06:43 +0000)]
re PR target/11591 ([3.4 only] ICE in gcc.dg/altivec-5.c)
PR 11591
* config/rs6000/rs6000.c (rs6000_legitimate_address):
Allow any offset to argument pointer in no-strict case.
From-SVN: r80075
GCC Administrator [Tue, 30 Mar 2004 00:16:50 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r80070
Loren J. Rittle [Mon, 29 Mar 2004 23:42:05 +0000 (23:42 +0000)]
Update comment to reflect test.
From-SVN: r80067
Jan Hubicka [Mon, 29 Mar 2004 23:00:28 +0000 (01:00 +0200)]
toplev.c (backend_init): Add missing call to inint_optimization_passes.
* toplev.c (backend_init): Add missing call to inint_optimization_passes.
* passes.c (init_optimization_passes, finish_optimization_passes): Output cgraph
dump file in non-unit-at-a-time mode.
From-SVN: r80066
Hans-Peter Nilsson [Mon, 29 Mar 2004 20:40:29 +0000 (20:40 +0000)]
cris.h: Correct #ifdef to test for HAVE_AS_NO_MUL_BUG_ABORT_OPTION...
* config/cris/cris.h: Correct #ifdef to test for
HAVE_AS_NO_MUL_BUG_ABORT_OPTION, not
HAVE_AS_MUL_BUG_ABORT_OPTION.
From-SVN: r80065
Zack Weinberg [Mon, 29 Mar 2004 17:01:59 +0000 (17:01 +0000)]
error.c (dump_function_name): If T's DECL_LANG_SPECIFIC is null, just print the literal name and return.
* error.c (dump_function_name): If T's DECL_LANG_SPECIFIC
is null, just print the literal name and return.
From-SVN: r80058
Richard Kenner [Mon, 29 Mar 2004 14:48:45 +0000 (14:48 +0000)]
function.c (put_var_into_stack): If old RTL was ADDRESSOF, update the address inside the old RTL.
* function.c (put_var_into_stack): If old RTL was ADDRESSOF, update
the address inside the old RTL.
From-SVN: r80057
Arnaud Charlet [Mon, 29 Mar 2004 12:03:27 +0000 (14:03 +0200)]
[multiple changes]
2004-03-29 Javier Miranda <miranda@gnat.com>
* checks.adb (Null_Exclusion_Static_Checks): New subprogram
(Install_Null_Excluding_Check): Local subprogram that determines whether
an access node requires a runtime access check and if so inserts the
appropriate run-time check.
(Apply_Access_Check): Call Install_Null_Excluding check if required
(Apply_Constraint_Check): Call Install_Null_Excluding check if required
* checks.ads: (Null_Exclusion_Static_Checks): New subprogram
* einfo.ads: Fix typo in comment
* exp_ch3.adb (Build_Assignment): Generate conversion to the
null-excluding type to force the corresponding run-time check.
(Expand_N_Object_Declaration): Generate conversion to the null-excluding
type to force the corresponding run-time check.
* exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
the null-excluding type to force the corresponding run-time check.
* exp_ch6.adb (Expand_Call): Do not generate the run-time check in
case of access types unless they have the null-excluding attribute.
* sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
part.
* exp_util.ads: Fix typo in comment
* par.adb (P_Null_Exclusion): New subprogram
(P_Subtype_Indication): New formal that indicates if the null-excluding
part has been scanned-out and it was present
* par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
* sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
(Aggregate_Constraint_Checks): Generate conversion to the null-excluding
type to force the corresponding run-time check
(Resolve_Aggregate): Propagate the null-excluding attribute to the array
components
(Resolve_Array_Aggregate): Carry out some static checks
(Resolve_Record_Aggregate.Get_Value): Carry out some static check
* sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
attribute must be set only if specified by means of the null-excluding
part. In addition, we must also propagate the access-constant attribute
if present.
(Access_Subprogram_Declaration, Access_Type_Declaration,
Analyze_Component_Declaration, Analyze_Object_Declaration,
Array_Type_Declaration, Process_Discriminants,
Analyze_Subtype_Declaration): Propagate the null-excluding attribute
and carry out some static checks.
(Build_Derived_Access_Type): Set the null-excluding attribute
(Derived_Type_Declaration, Process_Subtype): Carry out some static
checks.
* sem_ch4.adb (Analyze_Allocator): Carry out some static checks
* sem_ch5.adb (Analyze_Assignment): Carry out some static checks
* sem_ch6.adb (Process_Formals): Carry out some static checks.
(Set_Actual_Subtypes): Generate null-excluding subtype if the
null-excluding part was present; it is not required to be done here in
case of anonymous access types.
(Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
value.
* sem_res.adb (Resolve_Actuals): Carry out some static check
(Resolve_Null): Allow null in anonymous access
* sinfo.adb: New subprogram Null_Exclusion_Present
All_Present and Constant_Present available on access_definition nodes
* sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
object_declaration, derived_type_definition, component_definition,
discriminant_specification, access_to_object_definition,
access_function_definition, allocator, access_procedure_definition,
access_definition, parameter_specification, All_Present and
Constant_Present flags available on access_definition nodes.
2004-03-29 Robert Dewar <dewar@gnat.com>
* fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
sem_prag.adb: Updates to handle multiple units/file
* par.adb: Change test for s-rpc to s-rp for detecting rpc and children
* par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
sem_util.adb: Minor reformatting
* sem_ch12.adb: Add comment for previous change
2004-03-29 Laurent Pautet <pautet@act-europe.fr>
* osint.adb (Executable_Prefix): Set Exec_Name to the current
executable name when not initialized. Otherwise, use its current value.
* osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
initialize it to another executable name than the current one. This
allows to configure paths for an executable name (gnatmake) different
from the current one (gnatdist).
2004-03-29 Ed Schonberg <schonberg@gnat.com>
* exp_ch6.adb (Expand_Call): A call to a function declared in the
current unit cannot be inlined if it appears in the body of a withed
unit, to avoid order of elaboration problems in gigi.
* exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
information for protected (wrapper) operation as well, to simplify gdb
use.
* sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
protected body, indicate that the entity for the generated spec comes
from source, to ensure that references are properly generated for it.
(Build_Body_To_Inline): Do not inline a function that returns a
controlled type.
* sem_prag.adb (Process_Convention): If subprogram is overloaded, only
apply convention to homonyms that are declared explicitly.
* sem_res.adb (Make_Call_Into_Operator): If the operation is a function
that renames an equality operator and the operands are overloaded,
resolve them with the declared formal types, before rewriting as an
operator.
2004-03-29 GNAT Script <nobody@gnat.com>
* Make-lang.in: Makefile automatically updated
From-SVN: r80055
Paolo Carlini [Mon, 29 Mar 2004 09:54:15 +0000 (09:54 +0000)]
pthread7-rope.cc: Fix...
2004-03-29 Paolo Carlini <pcarlini@suse.de>
* testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
on allocator behavior, the memory pointed by data2 may well be not
trashed.
From-SVN: r80051
GCC Administrator [Mon, 29 Mar 2004 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r80047
David Edelsohn [Sun, 28 Mar 2004 20:33:45 +0000 (20:33 +0000)]
* gcc.dg/doloop-1.c: Do not check for lack of "blt".
From-SVN: r80044
Zack Weinberg [Sun, 28 Mar 2004 17:45:57 +0000 (17:45 +0000)]
re PR c/14734 (Error recovery problem with undeclared array bounds)
* c-decl.c: Verify that C_SIZEOF_STRUCT_LANG_IDENTIFIER is correct.
(struct c_binding, struct c_scope): Add chain_next
attributes to GTY markers.
(struct lang_identifier, struct lang_tree_node): Define
here...
* c-tree.h: ... not here. No longer need to declare struct
c_binding either. Do define C_SIZEOF_STRUCT_LANG_IDENTIFIER.
* c-lang.c, objc/objc-lang.c: Set LANG_HOOKS_IDENTIFIER_SIZE
to C_SIZEOF_STRUCT_LANG_IDENTIFIER.
PR 14734, 11944
* c-decl.c (get_parm_info): If error_mark_node is encountered
in the bindings chain, unbind and discard it; don't abort.
* testsuite/gcc.dg/noncompile/undeclared-2.c: New test.
From-SVN: r80042
Chavdar Botev [Sun, 28 Mar 2004 16:27:27 +0000 (16:27 +0000)]
re PR libstdc++/14245 ([3.4 only] problem with user-defined allocators in std::basic_string)
2004-03-28 Chavdar Botev <cbotev@yahoo.com>
PR libstdc++/14245
* include/bits/basic_string.tcc
(basic_string::basic_string(const basic_string&)): Pass to
_Rep::_M_grab the actual allocator of the string being constructed
not the default constructed one.
From-SVN: r80041
Olga Golovanevsky [Sun, 28 Mar 2004 15:07:21 +0000 (15:07 +0000)]
altivec.md: (andvv16qi3...
* config/rs6000/altivec.md: (andvv16qi3, andv8hi3, one_cmplv16qi2,
one_cmplv8hi2, one_cmplv4si2, iorv16qi3, iorv8hi3,): New modelling.
Co-Authored-By: Dorit Naishlos <dorit@il.ibm.com>
From-SVN: r80039
Stephane Carrez [Sun, 28 Mar 2004 12:00:26 +0000 (14:00 +0200)]
m68hc11-protos.h (m68hc11_page0_symbol_p): Declare.
* config/m68hc11/m68hc11-protos.h (m68hc11_page0_symbol_p): Declare.
* config/m68hc11/m68hc11.c (m68hc11_handle_page0_attribute): New.
(m68hc11_attribute_table): New attribute "page0" to mark a global
variable as being allocated from within page0 section.
(m68hc11_encode_label): New function.
(m68hc11_strip_name_encoding): New function.
(m68hc11_page0_symbol_p): New function.
(m68hc11_indirect_p): Accept global variables marked in page0.
(m68hc11_encode_section_info): Lookup "page0" attribute.
* config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): 'R' constraint also
represents access to page0 variables.
* config/m68hc11/m68hc11.md ("*logicalsi3_zexthi"): Use gen_rtx_REG.
("*logicalsi3_silshl16_zext"): Likewise.
("*ashldi3_const32"): Likewise.
(peephole2 ashift): Likewise.
From-SVN: r80038
Joseph Myers [Sun, 28 Mar 2004 00:31:41 +0000 (00:31 +0000)]
c-tree.h (C_DECL_REGISTER): New.
* c-tree.h (C_DECL_REGISTER): New.
* c-aux-info.c (gen_decl), c-decl.c (objc_mark_locals_volatile,
finish_decl, grokdeclarator, get_parm_info), c-typeck.c
(build_array_ref, c_mark_addressable): Set and use it.
* c-decl.c (grokdeclarator), c-typeck.c (c_mark_addressable):
Allow structures with volatile fields to be declared register.
Don't check TREE_ADDRESSABLE before warning about taking address
of register.
* c-decl.c (finish_decl): Don't allow structures with volatile
fields to be placed in named register.
* doc/trouble.texi: Remove reference to structures with volatile
fields in registers.
testsuite:
* gcc.dg/940409-1.c: Remove XFAIL.
* gcc.dg/reg-vol-struct-1.c: New test.
From-SVN: r80037
GCC Administrator [Sun, 28 Mar 2004 00:16:10 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r80034
Benjamin Kosnik [Sat, 27 Mar 2004 16:21:21 +0000 (16:21 +0000)]
[multiple changes]
2004-03-27 Benjamin Kosnik <bkoz@redhat.com>
libstdc++ PR/13598
* config/locale/ieee_1003.1-2001/codecvt_specializations.h
(__enc_traits::_M_destroy): New.
(__enc_traits::~__enc_traits): Use it.
(__enc_traits::operator=): Use _M_destroy, _M_init.
(__enc_traits::__enc_traits): Same.
2004-03-27 Petur Runolfsson <peturr02@ru.is>
* testsuite/ext/enc_filebuf/char/13598.cc: New.
From-SVN: r80027
Ulrich Weigand [Sat, 27 Mar 2004 16:18:56 +0000 (16:18 +0000)]
function.c (thread_prologue_and_epilogue): Move NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes before the epilogue.
* function.c (thread_prologue_and_epilogue): Move
NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes
before the epilogue.
From-SVN: r80025
Ulrich Weigand [Sat, 27 Mar 2004 16:15:59 +0000 (16:15 +0000)]
expr.c (store_constructor): Use gen_int_mode to correctly sign-extend CONST_INT value.
* expr.c (store_constructor): Use gen_int_mode to correctly
sign-extend CONST_INT value.
From-SVN: r80022
Paolo Carlini [Sat, 27 Mar 2004 10:15:49 +0000 (10:15 +0000)]
[multiple changes]
2004-03-27 Paolo Carlini <pcarlini@suse.de>
* include/ext/mt_allocator.h: Uglify consistently names of
variables, members and classes; tidy.
2004-03-27 Dhruv Matani <dhruvbird@gmx.net>
* include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
Deallocation loop rewrote.
From-SVN: r80012
Kaveh R. Ghazi [Sat, 27 Mar 2004 05:29:40 +0000 (05:29 +0000)]
builtin-types.def (BT_WINT, [...]): New.
* builtin-types.def (BT_WINT, BT_FN_INT_WINT, BT_FN_WINT_WINT): New.
* builtins.def (DEF_C94_BUILTIN): New. Add wctype builtins.
* doc/extend.texi: Likewise.
testsuite:
* gcc.dg/torture/builtin-wctype-1.c: New test.
From-SVN: r80011
Gerald Pfeifer [Sat, 27 Mar 2004 01:20:45 +0000 (01:20 +0000)]
gcc_release: Fix sanity check for argument of -p command-line options.
* gcc_release: Fix sanity check for argument of -p command-line
options. In snapshot mode, only generate diffs against the previous
snapshot if the user did not specify any old tarball explictly.
From-SVN: r80009
GCC Administrator [Sat, 27 Mar 2004 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r80006
Peter Moon [Fri, 26 Mar 2004 20:25:00 +0000 (20:25 +0000)]
NumberFormat.java: Fix spelling of setCurrency method.
2004-03-26 Peter Moon <peterm@miraculum.com>
* java/text/NumberFormat.java: Fix spelling of setCurrency
method.
From-SVN: r79994
Jason Merrill [Fri, 26 Mar 2004 19:20:50 +0000 (14:20 -0500)]
re PR c++/13294 (namespace associations vs. specializations)
PR c++/13294
* pt.c (maybe_process_partial_specialization): Remember the
context of a specialization.
From-SVN: r79992
Diego Novillo [Fri, 26 Mar 2004 19:02:55 +0000 (19:02 +0000)]
c-typeck.c (comptypes): Replace calls to TYPE_DOMAIN with TYPE_ORIG_SIZE_TYPE.
* c-typeck.c (comptypes): Replace calls to TYPE_DOMAIN
with TYPE_ORIG_SIZE_TYPE.
From-SVN: r79991
Paolo Carlini [Fri, 26 Mar 2004 16:56:09 +0000 (16:56 +0000)]
mt_allocator.h (__mt_alloc<>::allocate, [...]): Protect two instances of block->thread_id with __GTHREADS.
2004-03-26 Paolo Carlini <pcarlini@suse.de>
* include/ext/mt_allocator.h (__mt_alloc<>::allocate,
__mt_alloc<>::deallocate): Protect two instances of
block->thread_id with __GTHREADS.
From-SVN: r79986
Aldy Hernandez [Fri, 26 Mar 2004 11:45:19 +0000 (11:45 +0000)]
re PR c/14219 (ICE with vector comparison)
PR 14219
* c-typeck.c (build_binary_op): Do not allow comparisons of
vectors.
From-SVN: r79982
James A. Morrison [Fri, 26 Mar 2004 11:16:15 +0000 (11:16 +0000)]
20001013-1.c: Run on 32-bit and 64-bit SPARC.
* gcc.dg/
20001013-1.c: Run on 32-bit and 64-bit SPARC.
* gcc.dg/
20001101-1.c: Likewise.
* gcc.dg/
20001102-1.c: Likewise.
From-SVN: r79981
James A. Morrison [Fri, 26 Mar 2004 11:13:48 +0000 (11:13 +0000)]
config.gcc: Remove sparc-tti-*.
* config.gcc: Remove sparc-tti-*.
* config/sparc/pbd.h: Delete.
* config/sparc/sol2.h: Remove note about Sun OS 4.x.
* config/sparc/aout.h: Likewise.
* config/sparc/sparc.h: Remove if 0'd code.
* config/sparc/sparc.md (call): Remove if 0'd code.
(call_value): Likewise.
(nonlocal_goto): Likewise.
(unimp_insn): Delete.
From-SVN: r79980
Roger Sayle [Fri, 26 Mar 2004 01:20:46 +0000 (01:20 +0000)]
fold-const.c (tree_expr_nonnegative_p): Handle BIT_XOR_EXPR like BIT_IOR_EXPR...
* fold-const.c (tree_expr_nonnegative_p): Handle BIT_XOR_EXPR like
BIT_IOR_EXPR; A^B is nonnegative when A and B are nonnegative.
* gcc.dg/compare8.c: Add an additional test for XOR.
From-SVN: r79979
Richard Henderson [Fri, 26 Mar 2004 00:46:53 +0000 (16:46 -0800)]
re PR c/11527 (If an array "designated intializer" in a struct causes a segv.)
PR 11527
* c-typeck.c (pop_init_level): Emit pending init elements earlier
rather than later.
* gcc.dg/gnu89-init-3.c: New.
From-SVN: r79978
Benjamin Kosnik [Fri, 26 Mar 2004 00:38:57 +0000 (00:38 +0000)]
[multiple changes]
2004-03-25 Gawain Bolton <gp.bolton@computer.org>
* include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
default argument in constructors.
(_Rb_tree::_M_empty_initialize): Remove.
2004-03-25 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
* testsuite/23_containers/set/operators/1_neg.cc: Same.
2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
* include/bits/cpp_type_traits.h: Changed __is_pod
completely. Now, it does not use any of the previous type_traits
to detect the pod types, and it also detects function pointers as
POD types.
* include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
which encapsulates the internal implementation of an rb_tree. Made
the allocator a base class of this class instead of the rb_tree,
which was not conforming. This _Rb_tree_impl class is also
specialized on whether the _Compare parameter is a POD type or
not. If so, then it maintains the comparison function as a data
member, otherwise it makes the _Compare parameter a base class of
itself. Also, _M_key_compare is now a function instead of a data
member, so that the above trick can work properly. Delegated the
initialization of the other data members to this newly created
class. Also, now other member functions of rb_tree must refer to
_M_key_compare as _M_impl._M_key_compare(). The other data members
(*) can be referenced to as _M_impl.(*), where
(*) includes _M_header, and _M_node_count.
From-SVN: r79977
Kaveh Ghazi [Fri, 26 Mar 2004 00:30:07 +0000 (00:30 +0000)]
Fix typo.
From-SVN: r79976
Kaveh R. Ghazi [Fri, 26 Mar 2004 00:29:25 +0000 (00:29 +0000)]
* builtins.c (fold_builtin): Fix error in last change.
From-SVN: r79975
GCC Administrator [Fri, 26 Mar 2004 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r79972
Paolo Carlini [Thu, 25 Mar 2004 18:23:40 +0000 (18:23 +0000)]
mt_allocator.h (__mt_alloc<>::tune): Add _M_min_bin, the size in bytes of the smallest bin.
2004-03-25 Paolo Carlini <pcarlini@suse.de>
* include/ext/mt_allocator.h (__mt_alloc<>::tune):
Add _M_min_bin, the size in bytes of the smallest bin.
(__mt_alloc<>::tune()): Tweak accordingly.
(__mt_alloc<>::tune(size_t, ...)): Likewise.
(__mt_alloc<>::block_record): Change to a union: members next
and thread_id are never used at the same time.
(__mt_alloc<>::allocate): Update consistently.
(__mt_alloc<>::deallocate): Likewise.
(__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
_S_bin_size for the configurable _M_min_size.
From-SVN: r79962
Richard Sandiford [Thu, 25 Mar 2004 18:13:01 +0000 (18:13 +0000)]
* config/mips/mips.h: Formatting fix.
From-SVN: r79961
Kaveh R. Ghazi [Thu, 25 Mar 2004 17:55:13 +0000 (17:55 +0000)]
builtins.def: Add ctype builtins.
* builtins.def: Add ctype builtins.
* doc/extend.texi: Likewise.
testsuite:
* gcc.dg/torture/builtin-ctype-1.c: New test.
From-SVN: r79960
Kaveh R. Ghazi [Thu, 25 Mar 2004 17:51:17 +0000 (17:51 +0000)]
builtins.c (fold_builtin): Add new builtin optimizations for sqrt and/or cbrt.
* builtins.c (fold_builtin): Add new builtin optimizations for
sqrt and/or cbrt.
* fold-const.c (fold): Likewise.
testsuite:
* gcc.dg/torture/builtin-explog-1.c: Add new cases.
* gcc.dg/torture/builtin-math-1.c: Likewise.
* builtin-power-1.c: New test.
From-SVN: r79959
David Edelsohn [Thu, 25 Mar 2004 17:43:24 +0000 (17:43 +0000)]
rs6000.c (rs6000_always_hint): New variable.
* config/rs6000/rs6000.c (rs6000_always_hint): New variable.
(rs6000_sched_groups): New variable.
(processor_target_table): Add power5.
(rs6000_override_options): Set rs6000_sched_insert_nops,
rs6000_sched_costly_dep and rs6000_sched_restricted_insns_priority
from rs6000_sched_groups.
(output_cbranch): Use rs6000_always_hint.
(rs6000_variable_issue): Use rs6000_sched_groups.
(rs6000_adjust_cost): Add CPU_POWER5.
(is_microcoded_insn): Use rs6000_sched_groups.
(is_dispatch_slot_restricted): Use rs6000_sched_groups.
Return 2 for POWER5 cracked instructions.
(is_cracked_insn): Use rs6000_sched_groups.
(is_branch_slot_insn): Use rs6000_sched_groups.
(rs6000_issue_rate): Add CPU_POWER5.
(rs6000_sched_finish): Use rs6000_sched_groups.
(rs6000_rtx_costs): Add PROCESSOR_POWER5.
* config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER5.
(DEFAULT_SCHED_COSTLY_DEP): Delete.
(DEFAULT_RESTRICTED_INSNS_PRIORITY): Delete.
(DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Delete.
* config/rs6000/rs6000.md (define_attr "cpu"): Add power5.
* config/rs6000/power5.md: New file.
* doc/invoke.texi: Add power5 option.
From-SVN: r79958
Dhruv Matani [Thu, 25 Mar 2004 17:12:16 +0000 (17:12 +0000)]
stl_list.h: Created a _List_impl class and made it derive from the allocator...
2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
* include/bits/stl_list.h: Created a _List_impl class and made it
derive from the allocator, instead of the list deriving from the
allocator class, which was not conformant. Changed all references
from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
as above (changed all references to the concerned variables).
2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
* include/bits/stl_deque.h: Created a _Deque_impl class and made
it derive from the allocator, instead of the deque deriving from
the allocator class, which was not conformant. Changed all
references to the _M_start, _M_finish, _M_map, and _M_map_size to
_M_impl.*.
(_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
qualification in 2 places where it was missing.
(_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
above.
* include/bits/deque.tcc: Same as above (changed all references to
the concerned variables).
2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
* include/bits/stl_vector.h: Created a _Vector_impl class and made
it derive from the allocator, instead of the _Vector_base class,
deriving from the allocator which was not conformant. Changed all
references to the _M_start, _M_finish, and _M_end_of_storage to
_M_impl.*.
* include/bits/vector.tcc: Same as above (changed all references
to the concerned variables).
2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
* testsuite/23_containers/deque/cons/clear_allocator.cc: New.
* testsuite/23_containers/list/cons/clear_allocator.cc: New.
* testsuite/23_containers/vector/cons/clear_allocator.cc: New.
From-SVN: r79957
Kazu Hirata [Thu, 25 Mar 2004 17:04:45 +0000 (17:04 +0000)]
cfgrtl.c, [...]: Fix comment typos.
gcc/
* cfgrtl.c, dbxout.c, tree.def, config/darwin.h,
config/arm/arm.c, objc/objc-act.c: Fix comment typos.
* doc/invoke.texi: Fix a typo.
cp/
* cxx-pretty-print.c: Fix comment typos.
From-SVN: r79956
Kazu Hirata [Thu, 25 Mar 2004 16:16:41 +0000 (16:16 +0000)]
re PR middle-end/9707 (Unnecessary range test in switches with less than 4 cases)
PR optimization/9707.
* stmt.c (emit_case_nodes): Emit equality comparisons instead
of recursing if both children are single-valued cases with no
children.
From-SVN: r79954
Arnaud Charlet [Thu, 25 Mar 2004 15:59:29 +0000 (16:59 +0100)]
[multiple changes]
2004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr>
* memtrack.adb: Log realloc calls, which are treated as free followed
by alloc.
2004-03-25 Vincent Celier <celier@gnat.com>
* prj-makr.adb (Process_Directories): Detect when a file contains
several units. Do not include such files in the config pragmas or
in the naming scheme.
* prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
Resolve links only when not in Trusted_Mode.
(Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
Do not resolve links for the display names.
* prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
resolve links when computing the display names.
2004-03-25 Thomas Quinot <quinot@act-europe.fr>
* sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
attribute reference does not denote a subtype, it can be any
expression that has a classwide type, potentially after an implicit
dereference. In particular, the prefix can be a view conversion for
a classwide type (for which Is_Object_Reference holds), but it can
also be a value conversion for an access-to-classwide type. In the
latter case, there is an implicit dereference, and the original node
for the prefix does not verify Is_Object_Reference.
* sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
conversion of a discriminant-dependent component of a mutable object
is one itself.
2004-03-25 Ed Schonberg <schonberg@gnat.com>
* freeze.adb (Freeze_Entity): When an inherited subprogram is
inherited, has convention C, and has unconstrained array parameters,
place the corresponding warning on the derived type declaration rather
than the original subprogram.
* sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
indication on renaming declaration, if formal has a box and actual
is absent.
* sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
determine whether to generate an implicit or explicit reference to
the renamed entity.
* sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
subprogram renaming comes from a defaulted formal subprogram in an
instance.
2004-03-25 Gary Dismukes <dismukes@gnat.com>
* sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
value expressions to ensure that calls within a component definition
will be checked (since those are evaluated during the record type's
elaboration).
2004-03-25 Arnaud Charlet <charlet@act-europe.fr>
* s-tpobop.adb: Code clean up:
(Requeue_Call): Extract from PO_Service_Entries to remove duplicated
code.
(PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
2004-03-25 Jose Ruiz <ruiz@act-europe.fr>
* Makefile.in: Clean up in the ravenscar run time.
From-SVN: r79953
Paul Brook [Thu, 25 Mar 2004 11:36:57 +0000 (11:36 +0000)]
arm.c (vfp_print_multi): Remove.
* config/arm/arm.c (vfp_print_multi): Remove.
(arm_output_fldmx): New function.
(vfp_emit_fstmx): Return block size, not insn. Add ARM10 VFPr1 bugfix.
(arm_expand_prologue): Update to match.
(arm_get_vfp_saved_size): New Function.
(arm_get_frame_offsets): Use it.
(arm_output_epilogue): Use new functions.
From-SVN: r79950
Gerald Pfeifer [Thu, 25 Mar 2004 10:57:50 +0000 (10:57 +0000)]
gcc_release (FTP_PATH): Use /var/ftp instead of ~ftp, and only set at a single place.
* gcc_release (FTP_PATH): Use /var/ftp instead of ~ftp, and
only set at a single place.
From-SVN: r79949
Marcus Meissner [Thu, 25 Mar 2004 09:14:45 +0000 (09:14 +0000)]
re PR java/14689 (jcf-path.c missing closedir)
PR java/14689:
* jcf-path.c (jcf_path_extdirs_arg): Add missing closedir.
From-SVN: r79948
Nathanael Nerode [Thu, 25 Mar 2004 01:37:39 +0000 (01:37 +0000)]
Makefile.tpl (top level bootstrap support): Remove now-unneeded STRICT_WARN, WARN_CFLAGS flags passed down to make.
* Makefile.tpl (top level bootstrap support): Remove now-unneeded
STRICT_WARN, WARN_CFLAGS flags passed down to make.
* Makefile.in: Regenerate.
From-SVN: r79946
Richard Henderson [Thu, 25 Mar 2004 00:58:57 +0000 (16:58 -0800)]
alias.c (alias_invariant, [...]): Mark GTY.
* alias.c (alias_invariant, alias_invariant_size): Mark GTY.
(reg_known_value, reg_known_value_size): Likewise; make static.
(reg_known_equiv_p): Make static.
(clear_reg_alias_info): Update for new indexing.
(get_reg_known_value, set_reg_known_value): New.
(get_reg_known_equiv_p, set_reg_known_equiv_p): New.
(canon_rtx): Use them.
(init_alias_analysis): Likewise. Allocate reg_known_value with gc.
Don't play queer offsetting games with reg_known_value and
reg_known_equiv_p.
(end_alias_analysis): Free reg_known_value with gc.
* rtl.h (get_reg_known_value, get_reg_known_equiv_p): Declare.
* sched-deps.c (reg_known_equiv_p, reg_known_value): Remove.
(deps_may_trap_p, sched_analyze_1, sched_analyze_2): Use the new
functions instead.
From-SVN: r79945
GCC Administrator [Thu, 25 Mar 2004 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r79941
Kazu Hirata [Wed, 24 Mar 2004 23:45:50 +0000 (23:45 +0000)]
dwarf2asm.c, [...]: Update copyright.
gcc/
* dwarf2asm.c, loop.h, pretty-print.c, pretty-print.h,
config/i386/mmintrin.h: Update copyright.
cp/
* cxx-pretty-print.c, cxx-pretty-print.h, decl.h, friend.c:
Update copyright.
From-SVN: r79938
Nathanael Nerode [Wed, 24 Mar 2004 22:08:39 +0000 (22:08 +0000)]
configure.ac: Add --enable-werror-always (for top level bootstrap support).
(gcc)
* configure.ac: Add --enable-werror-always (for top level bootstrap
support).
* configure: Regenerate.
(top level)
* configure.in (top level bootstrap support): Rework --enable-werror
to set @stage2_werror_flag@.
* configure: Regenerate.
* Makefile.tpl (top level bootstrap support): Pass
@stage2_werror_flag@ down to configure in stages 2 and 3.
* Makefile.in: Regenerate.
From-SVN: r79935
Dhruv Matani [Wed, 24 Mar 2004 21:40:01 +0000 (21:40 +0000)]
malloc_allocator.h: Fixed the construct function to call global placement new instead of assignment.
2004-03-24 Dhruv Matani <dhruvbird@gmx.net>
* ext/malloc_allocator.h: Fixed the construct function to call
global placement new instead of assignment. Added a check after
the return from malloc to check whether returned pointer is NULL,
and if so, throw std::bad_alloc().
* ext/debug_allocator.h: Added a check in the deallocate function
to check whether the user has passed a NULL pointer or not.
From-SVN: r79934
Benjamin Kosnik [Wed, 24 Mar 2004 21:30:26 +0000 (21:30 +0000)]
allocator.html: Add bitmap_allocator links.
2004-03-24 Benjamin Kosnik <bkoz@redhat.com>
* docs/html/20_util/allocator.html: Add bitmap_allocator links.
From-SVN: r79933
Andreas Schwab [Wed, 24 Mar 2004 19:54:26 +0000 (19:54 +0000)]
prune.exp (prune_gcc_output): Ignore errata warning from IA64 assembler.
gcc/testsuite/:
* lib/prune.exp (prune_gcc_output): Ignore errata warning from
IA64 assembler.
libstdc++-v3/:
* testsuite/lib/prune.exp (prune_g++_output): Ignore errata
warning from IA64 assembler.
From-SVN: r79929
Ziemowit Laski [Wed, 24 Mar 2004 19:53:04 +0000 (19:53 +0000)]
objc-act.c (objc_comptypes): Treat comparisons between 'Class' and '<class> *' as explicitly invalid.
[gcc/ChangeLog]
2004-03-24 Ziemowit Laski <zlaski@apple.com>
* objc/objc-act.c (objc_comptypes): Treat comparisons
between 'Class' and '<class> *' as explicitly invalid.
From-SVN: r79928
David Edelsohn [Wed, 24 Mar 2004 18:27:49 +0000 (18:27 +0000)]
invoke.texi (-frename-registers): Add enabled at -O3.
* doc/invoke.texi (-frename-registers: Add enabled at -O3.
(-fprofile-values): Add enabled with profile-{generate,use}.
(-fvpt): Same.
(-ftracer): Add enabled with profile-use.
(-funit-at-a-time): Add enabled at -O2,-O3.
(-funroll-loops): Add enabled with profile-use.
(-funswitch-loops): Add enabled with profile-use. Remove duplicates.
(max-gcse-passes): Mention default.
(max-cse-path-length): Mention default.
From-SVN: r79925
Dhruv Matani [Wed, 24 Mar 2004 18:27:43 +0000 (18:27 +0000)]
bitmap_allocator.h: (_Bit_scan_forward) -> Made this function call __builtin_ctz instead of the...
2004-03-24 Dhruv Matani <dhruvbird@gmx.net>
* include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
function call __builtin_ctz instead of the while loop.
(allocate) -> If condition has __builtin_expect.
(deallocate) -> Ditto.
Renamed a few left-over variables and typedefs according to the
C++STYLE mentioned in the documentation.
Protected calls to __gthread* by __gthread_active_p(), whose value
is cached in the local variable __threads_active.
From-SVN: r79924
Nathanael Nerode [Wed, 24 Mar 2004 18:03:46 +0000 (18:03 +0000)]
Makefile.in (STRICT2_WARN): Reorder.
2004-03-24 Nathanael Nerode <neroden@gcc.gnu.org>
* Makefile.in (STRICT2_WARN): Reorder.
* configure.ac: Check for -Wold-style-definition, and use it
in strict1_warn if it's available.
* configure: Regnerate.
From-SVN: r79922
Paul Brook [Wed, 24 Mar 2004 17:20:16 +0000 (17:20 +0000)]
config.gcc: Add --with-abi=
* config.gcc <arm>: Add --with-abi=
* config/arm/arm-protos.h (arm_get_frame_size, thumb_get_frame_size,
thumb_far_jump_used): Remove prototypes.
(arm_needs_doubleword_align): Add prototype.
(thumb_compute_initial_elimination_offset): Ditto.
* config/arm/arm.c (arm_get_frame_offsets): New function.
(use_return_insn, output_return_instruction, arm_output_epilogue,
arm_output_function_epilogue, arm_compute_initial_elimination_offset,
arm_expand_prologue, thumb_expand_epilogue): Use it.
(arm_abi, target_abi_name, all_arm_abis): New variables.
(arm_override_options): Set them. Set structure padding for AAPCS.
(arm_return_in_memory): Update ABI check.
(arm_init_cumulative_args): Initialize can_split.
(arm_needs_doubleword_align): New function.
(arm_function_arg): Don't split args after pushing to stack. Handle
doubleword/even reg alignment.
(arm_va_arg): Handle all doubleword aligned args.
(add_minpoolforward ref, dump_minpool, push_minpool_fix): Align based
on ABI, not CPU.
(arm_compute_save_reg0_reg12_mask): Fix comment.
(thumb_get_frame_size, thumb_get_frame_size): Remove.
(thumb_jump_far_used_p): Remove superfluous argument. Return save
value for alignment.
(thumb_unexpanded_epilogue, thumb_output_function_prologue): Change
to match.
(thumb_compute_initial_elimination_offset): New function.
(thumb_expand_prologue): Use arm_get_frame_offsets. Remove
unneccessary rounding.
* config/arm/arm.h (target_abi_name): Declare.
(ARM_DOUBLEWORD_ALIGN, DOUBLEWORD_ALIGNMENT, TARGET_IWMMXT_ABI,
arm_abi_type, ARM_DEFAULT_ABI): Define.
(ARM_FLAG_ATPCS): Remove.
(TARGET_OPTIONS, OPTION_DEFAULT_SPECS): Add -mabi=.
(BIGGEST_ALIGNMENT, PREFERRED_STACK_BOUNDARY, STACK_BOUNDARY): Use it.
(ADJUST_FIELD_ALIGN, DATA_ALIGNMENT, LOCAL_ALIGNMENT,
TYPE_NEEDS_IWMMXT_ALIGNMENT): Remove.
(LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P):
Contitionalize on ABI, not CPU.
(struct arm_stack_offsets): Define.
(struct machine_function): Add stack_offsets. Remove frame_size.
(FUNCTION_ARG_PARTIAL_NREGS): Don't split if previous args have been
pushed.
(FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY): Handle general
doubleword alignment.
(THUMB_INITIAL_ELIMINATION_OFFSET,
ARM_INITIAL_ELIMINATION_OFFSET): Remove.
(INITIAL_ELIMINATION_OFFSET): Call functions directly.
* config/arm/arm.md (align_8): Enable for all targets.
* config/arm/netbsd-elf.h (TARGET_DEFAULT): Remove TARGET_ATPCS.
(ARM_DEFAULT_ABI): Define.
* doc/invoke.texi <ARM>: Document -mabi=. Update documentation for
-mstructure-size-boundary.
From-SVN: r79921
Felix Yen [Wed, 24 Mar 2004 17:16:07 +0000 (17:16 +0000)]
producer_consumer.cc: Use linear algorithm for producer.
2004-03-24 Felix Yen <fwy@alumni.brown.edu>
* testsuite/performance/20_util/allocator/producer_consumer.cc:
Use linear algorithm for producer.
From-SVN: r79920
Nathanael Nerode [Wed, 24 Mar 2004 16:26:00 +0000 (16:26 +0000)]
configure.ac: Check for -Wno-variadic-macros...
* configure.ac: Check for -Wno-variadic-macros; don't use
-pedantic (in stage 1 or a simple 'make all') unless it's available,
and if it's available, use it. Also, clean up check for
-Wno-long-long.
* configure: Regenerate.
From-SVN: r79918
Paolo Carlini [Wed, 24 Mar 2004 15:25:37 +0000 (15:25 +0000)]
mt_allocator.h (__mt_alloc<>::allocate, [...]): Avoid redundant conditionals.
2004-03-24 Paolo Carlini <pcarlini@suse.de>
* include/ext/mt_allocator.h (__mt_alloc<>::allocate,
__mt_alloc<>::deallocate): Avoid redundant conditionals.
From-SVN: r79917
Richard Sandiford [Wed, 24 Mar 2004 13:55:37 +0000 (13:55 +0000)]
Fix changelog entry for:
* config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines.
* config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130.
(MULTILIB_DEFAULTS): Use it.
(MIPS_CPU_STRING_DEFAULT): Remove.
(MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define.
(DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120. Make
EABI64 -mlong32 the default ABI. Enforce the default architecture.
* config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs,
march=vr4130, march=vr4300, march=vr5000 and march=vr5500.
(MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120.
(MULTILIB_EXCEPTIONS): Change choice of multilibs. Update comments
accordingly.
and commit config.gcc hunk.
From-SVN: r79916
Richard Sandiford [Wed, 24 Mar 2004 13:44:56 +0000 (13:44 +0000)]
config.gcc (mips64vr-*-elf*, [...]): Remove tm_defines.
* config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines.
* config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130.
(MULTILIB_DEFAULTS): Use it.
(MIPS_CPU_STRING_DEFAULT): Remove.
(MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define.
(DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120. Make
EABI64 -mlong32 the default ABI. Enforce the default architecture.
* config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs,
march=vr4130, march=vr4300 and march=vr5000.
(MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120.
(MULTILIB_EXCEPTIONS): Change choice of multilibs. Update comments
accordingly.
From-SVN: r79915
DJ Delorie [Wed, 24 Mar 2004 13:05:40 +0000 (08:05 -0500)]
mips.h (MASK_FIX_VR4122, [...]): New macros.
* config/mips/mips.h (MASK_FIX_VR4122, TARGET_FIX_VR4122): New macros.
(TARGET_SWITCHES): Add -mfix-vr4122-bugs and -mno-fix-vr4122-bugs.
(ASM_SPEC): Pass down -mfix-vr4122-bugs.
* config/mips/mips.c (mips_avoid_hazards): Don't emit whole functions
in .set noreorder and .set nomacro if TARGET_FIX_VR4122.
(mips_init_libfuncs): Use special functions for divsi3 and modsi3
if TARGET_FIX_VR4122.
* config/mips/mips.md (define_attr length): Account for nops inserted
after macc and dmult when using -mfix-vr4122-bugs.
(umuldi3_highpart, divmodsi4, divmoddi4): Disable if TARGET_FIX_VR4122.
* config/mips/t-vr (LIB2FUNCS_STATIC_EXTRA): Define instead of
LIB2FUNCS_EXTRA. Add config/mips/vr4122-div.S.
* config/mips/vr4122-div.S: New file.
* doc/invoke.texi: Document -mfix-vr4122-bugs.
Co-Authored-By: Richard Sandiford <rsandifo@redhat.com>
From-SVN: r79912
Richard Sandiford [Wed, 24 Mar 2004 10:05:50 +0000 (10:05 +0000)]
mips.h (PROCESSOR_R4130): New processor_type.
* config/mips/mips.h (PROCESSOR_R4130): New processor_type.
(TARGET_MIPS4130): New macro.
(ISA_HAS_MACC): Return true if TARGET_MIPS4130 && !TARGET_MIPS16.
* config/mips/mips.c (mips_cpu_info_table): Add a vr4130 entry.
(override_options): Extend MIPS_MARCH_CONTROLS_SOFT_FLOAT to deal
with PROCESSOR_R4130.
* config/mips/mips.md (define_attr cpu): Add r4130.
* doc/invoke.texi: Document vr4130 as a supported MIPS architecture.
From-SVN: r79904
Maciej W. Rozycki [Wed, 24 Mar 2004 09:36:44 +0000 (10:36 +0100)]
invoke.texi: Apply missed hunk from 2004-03-03 change.
* doc/invoke.texi: Apply missed hunk from 2004-03-03 change.
Co-Authored-By: Richard Sandiford <rsandifo@redhat.com>
From-SVN: r79903
Benjamin Kosnik [Wed, 24 Mar 2004 06:41:07 +0000 (06:41 +0000)]
locale_facets.h: Tweaks for 80 column.
2004-03-23 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h: Tweaks for 80 column.
(__numpunct_cache::_M_cache): Move to locale_facets.tcc.
(__moneypunct_cache::_M_cache): Same.
(num_get): Don't inherit from __num_base.
(num_put): Same.
(money_get): Don't inherit from money_base.
(money_put): Same.
(__timepunct::_M_am_pm_format): New.
(time_get::_M_extract_num): Return iterator, use ios_base as argument.
(time_get::_M_extract_name): Same.
(time_get::_M_extract_via_format): Same.
* include/bits/locale_facets.tcc: Tweaks for 80 column.
Use _M_getloc instead of getloc.
* testsuite/22_locale/money_put/put/char/9780-3.cc: New.
* testsuite/22_locale/num_put/put/char/9780-2.cc: New.
* testsuite/22_locale/time_put/put/char/9780-1.cc: New.
From-SVN: r79902
Alexandre Oliva [Wed, 24 Mar 2004 03:19:37 +0000 (03:19 +0000)]
re PR preprocessor/14438 (Potential need for buffer overflow checks in _cpp_lex_direct)
PR preprocessor/14438
* cpplib.c (do_pragma): Remove line_change call after pragma
handler.
From-SVN: r79899
Ian Lance Taylor [Wed, 24 Mar 2004 03:03:25 +0000 (03:03 +0000)]
extend.texi (ARM Built-in Functions): Replace with correct declarations.
* doc/extend.texi (ARM Built-in Functions): Replace with correct
declarations.
From-SVN: r79894
Roger Sayle [Wed, 24 Mar 2004 02:28:41 +0000 (02:28 +0000)]
reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND if flag_unsafe_math_optimizations.
* reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND
if flag_unsafe_math_optimizations.
* config/i386/i386.md (truncdfsf2): If flag_unsafe_math_optimizations
and TARGET_80387 expand using truncdfsf2_noop pattern.
(truncxfsf2): Likewise using truncxfsf2_noop.
(truncxfdf2): Likewise using truncxfdf2_noop.
(truncdfsf2_noop, truncxfsf2_noop, truncxfdf2_noop): New patterns.
From-SVN: r79893
Nathanael Nerode [Wed, 24 Mar 2004 02:24:09 +0000 (02:24 +0000)]
Makefile.tpl (new-bootstrap): Set CC and CC_FOR_BUILD in configure for stages 2 and 3 as well as in make.
* Makefile.tpl (new-bootstrap): Set CC and CC_FOR_BUILD in configure
for stages 2 and 3 as well as in make. As a consequence, remove
OUTPUT_OPTION (now detected by configure) from the flags passed down
to make.
* Makefile.in: Regenerate.
From-SVN: r79892
Joseph Myers [Wed, 24 Mar 2004 00:19:06 +0000 (00:19 +0000)]
compare8.c: New test case.
* gcc.dg/compare8.c: New test case.
Co-Authored-By: Roger Sayle <roger@eyesopen.com>
From-SVN: r79891
GCC Administrator [Wed, 24 Mar 2004 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r79888
Ziemowit Laski [Wed, 24 Mar 2004 00:13:33 +0000 (00:13 +0000)]
hooks.c (hook_constcharptr_tree_null): New hook.
[gcc/ChangeLog]
2004-03-23 Ziemowit Laski <zlaski@apple.com>
* hooks.c (hook_constcharptr_tree_null): New hook.
* hooks.h (hook_constcharptr_tree_null): New prototype.
* target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook.
* target.h (mangle_fundamental_type): New target hook.
* config/rs6000/rs6000.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Point
target hook at rs6000_mangle_fundamental_type.
(rs6000_mangle_fundamental_type): New function.
* doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document.
[gcc/cp/ChangeLog]
2004-03-23 Ziemowit Laski <zlaski@apple.com>
* Make-lang.in (cp/mangle.o): Depend on $(TARGET_H).
* mangle.c (write_type): Add call to 'mangle_fundamental_type'
target hook.
[gcc/testsuite/ChangeLog]
2004-03-23 Ziemowit Laski <zlaski@apple.com>
* g++.dg/ext/altivec-7.C: New test.
From-SVN: r79885
Zack Weinberg [Tue, 23 Mar 2004 23:49:35 +0000 (23:49 +0000)]
Correct PR number in last commit
From-SVN: r79884
Zack Weinberg [Tue, 23 Mar 2004 23:47:53 +0000 (23:47 +0000)]
PR 12267, 12391, 12560, 13129, 14114, 14113
* c-tree.h: Forward declare struct c_binding. Declare
c_override_bindings_to_false. Update prototypes.
(struct lang_identifier): Update comments. Change fields to be
struct c_binding *.
(IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE)
(IDENTIFIER_LABEL_VALUE, C_DECL_INVISIBLE)
(KEEP_NO, KEEP_YES, KEEP_MAYBE): Delete.
(C_DECL_IN_EXTERNAL_SCOPE, C_DECL_DECLARED_BUILTIN): New.
* c-common.h: Update prototypes.
* c-decl.c (struct c_scope): Update commentary. Remove names,
names_last, parms, parms_last, tags, and shadowed fields. Add
bindings and depth fields.
(scope_freelist): Move to more appropriate location.
(c_print_identifier): Update for changes to struct lang_identifier.
(objc_mark_locals_volatile): Update for new bindings structures.
(global_bindings_p): Honor c_override_global_bindings_to_false.
(pushlevel): Rename to push_scope; take no arguments; use the
scope_freelist; initialize scope->depth and check for overflow.
(poplevel): Rename to pop_scope; totally rewritten for new bindings
structures.
(diagnose_mismatched_decls): Use C_DECL_DECLARED_BUILTIN, not
C_DECL_INVISIBLE, for certain decisions. Adjust some diagnostics.
Improve some commentary. Adjust handling of forward parm decls.
(merge_decls): Set C_DECL_DECLARED_BUILTIN when appropriate.
Preserve C_DECL_IN_EXTERNAL_SCOPE.
(warn_if_shadowing): Correct indentation. Improve diagnostics.
(pushdecl): Remove unnecessary assertion. Short-circuit anonymous
decls. Rewrite for new bindings structures. Improve commentary.
Eliminate the copy_node call.
(implicit_decl_warning): Use the "diag" idiom (as seen in
locate_old_decl) to reduce code duplication; call locate_old_decl
if appropriate. Relocate to remove need for forward declaration.
(implicitly_declare): Adjust for new bindings structures. Kludge
around Objective-C not-really-builtin functions.
(undeclared_variable): Improve diagnostics. If current_function_decl
is nonnull but current_function_scope is null, use current_scope.
Use bind.
(lookup_tag): Adjust for new bindings structures. Kludge around
Objective-C's tag declarations that wind up in the external scope.
(lookup_name): Adjust for new bindings structures. Kludge around
c-common.c's pseudo-typedefs that wind up in the external scope.
(lookup_name_current_level): Rename lookup_name_in_scope; take a
second argument indicating the scope to examine; rewrite for
new bindings structures.
(c_init_decl_processing): Adjust for renamed functions. Do not
initialize current_file_decl, first_builtin_decl, last_builtin_decl.
First scope pushed is the external scope, not the global scope.
(builtin_function): Use bind, not pushdecl. Adjust other bits
for new data structures. Keep track of builtins that should be
made visible automatically.
(start_decl): Adjust diagnostics. Remove unnecessary call to
expand_decl.
(grokparms): Return 0 if arg_types is error_mark_node.
(get_parm_info): Rename "void_at_end" argument to "ellipsis", with
reversed sense. Rewrite for new bindings structures. Do not
leave any decls in the scope, to prevent pop_scope from doing
contradictory things with them.
(finish_struct, finish_enum): Remove redundant diagnostics.
(build_enumerator): Don't cascade diagnostics for error_mark_node.
Mark location where -pedantic changes the meaning of the program.
(store_parm_decls_newstyle, store_parm_decls_oldstyle): Load the
parameter decls into the function's scope structure using bind.
Warn here about function definitions in the wrong style.
Adjust diagnostics.
(store_parm_decls): Correct the determination of whether a
function was defined with a prototype.
(c_write_global_declarations): Operate on all file decls and on
the external scope. Split body of the loop to...
(c_write_global_declarations_1): ... this new function, to avoid
code duplication.
(truly_local_externals, first_builtin_decl, last_builtin_decl)
(make_scope, pop_scope, in_parm_level_p, set_block)
(any_external_decl, record_external_decl, bind_label, getdecls)
(link_hash_hash, link_hash_eq, merge_translation_unit_decls)
(c_reset_state): Delete.
(visible_builtins, c_override_global_bindings_to_false)
(c_binding, I_SYMBOL_BINDING, I_SYMBOL_DECL, I_TAG_BINDING)
(I_TAG_DECL, I_LABEL_BINDING, I_LABEL_DECL, file_scope)
(external_scope, binding_freelist, bind, free_binding_and_advance)
(push_file_scope, pop_file_scope): New.
(pushtag, pushdecl_top_level, lookup_label, declare_label)
(define_label, c_make_fname_decl, finish_decl)
(mark_forward_parm_decls, build_compound_literal)
(grokdeclarator, start_function, check_for_loop_decls)
(identifier_global_value, record_builtin_type): Minor adjustments
for new bindings structures. Improve diagnostics and commentary.
* c-objc-common.c (start_cdtor, finish_cdtor): Adjust calls to
pushlevel/poplevel respectively.
(c_objc_common_finish_file): Don't call merge_translation_unit_decls.
* c-opts.c (c_common_parse_file): Remove spurious ATTRIBUTE_UNUSED.
Warn about YYDEBUG not being defined only if -dy. Remove no-longer-
correct loop over multiple translation units; call fatal_error if
requested to compile more than one file at once. (This disables
IMA temporarily - an up-front error being preferable to a crash.)
* c-parse.in (pushlevel, poplevel rules): Rename push_scope, pop_scope.
(all actions): Adjust calls to pushlevel/poplevel.
(parsing_iso_function_signature): Delete.
(extdef_1): Fold into extdef.
(old_style_parm_decls_1): Fold into old_style_parm_decls. Don't
warn here about function definitions in the wrong style.
(after_tyle_declarator, parm_declarator_starttypename)
(parm_declarator_nostarttypename, notype_declarator): Remove
commented-out productions.
(parmlist_1, parmlist_2): Use make_node, not tree_cons, to create
an empty TREE_LIST node. Adjust calls to get_parm_info.
(parmlist_2 : ELLIPSIS): Tag the arg-info block with error_mark_node
to suppress -Wold-style-definition after this error.
(c_parse_file): Don't clear the binding stack or call
finish_fname_decls here. Correct comment.
* c-typeck.c (same_translation_unit_p): Export.
(common_type): Use c_override_global_bindings_to_false, not
pushlevel/poplevel/declare_parm_level.
* c-lang.c: Override LANG_HOOKS_CLEAR_BINDING_STACK,
LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK,
and LANG_HOOKS_GETDECLS with do-nothing stubs.
* objc/objc-lang.c: Likewise.
* objc/objc-act.c: Adjust all calls to pushlevel, poplevel,
get_parm_info.
(OBJC_VOID_AT_END): Delete; replace all uses
with void_list_node.
(generate_forward_declaration_to_string_table): Delete.
* objc/objc-act.h (OCTI_STRG_DECL, UOBJC_STRINGS_decl): Delete.
* coverage.c (create_coverage): Don't pushdecl anything.
* langhooks.c (lhd_clear_binding_stack): Call
lang_hooks.decls.poplevel, not poplevel.
* tree.c (list_length): If ENABLE_TREE_CHECKING, abort on a
circular list rather than going into an infinite loop.
cp:
* cp-lang.c (c_reset_state): Delete.
(push_file_scope, pop_file_scope): New stubs.
* parser.c (c_parse_file): Call sorry() here if called more than once.
testsuite:
* gcc.dg/Wold-style-definition-1.c, gcc.dg/builtins-30.c
* gcc.dg/unused-4.c, gcc.dg/noncompile/label-1.c
* gcc.dg/noncompile/label-lineno-1.c, objc.dg/naming-1.m:
Adjust error regexps.
* gcc.dg/Wshadow-2.c, gcc.dg/noncompile/incomplete-3.c
* gcc.dg/noncompile/undeclared-1.c: New test cases.
* gcc.dg/decl-5.c, gcc.dg/redecl-1.c: Remove XFAIL.
* gcc.dg/local1.c: Add explanatory comment.
From-SVN: r79883
Nathanael Nerode [Tue, 23 Mar 2004 23:13:33 +0000 (23:13 +0000)]
Makefile.tpl (new-bootstrap): Fix typo.
2004-03-23 Nathanael Nerode <neroden@gcc.gnu.org>
* Makefile.tpl (new-bootstrap): Fix typo.
* Makefile.in: Regenerate.
From-SVN: r79878
David Edelsohn [Tue, 23 Mar 2004 22:20:12 +0000 (17:20 -0500)]
delete some extraneous characters accidentally included in last change.
From-SVN: r79876
Olivier Hainque [Tue, 23 Mar 2004 21:54:36 +0000 (22:54 +0100)]
optabs.c (expand_binop): When synthesizing double word rotates from single word shifts...
* optabs.c (expand_binop): When synthesizing double word rotates
from single word shifts, use a new register target if the provided
target is not a REG already.
From-SVN: r79875
Richard Kenner [Tue, 23 Mar 2004 20:43:44 +0000 (20:43 +0000)]
alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL.
* alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL.
* c-common.c (handle_mode_attribute): Add extra arg to
build_pointer_type_for_mode and build_reference_type_for_mode.
* c-typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW
for INTEGER_CST.
* tree.c (build_pointer_type_for_mode): Add arg CAN_ALIAS_ALL.
Chain pointers via TYPE_NEXT_PTR_TO.
(build_reference_type_for_mode): Similarly.
(build_type_no_quals): Add extra arg to build_pointer_type_for_mode
and build_reference_type_for_mode.
(tree_check4_failed): New function.
* tree.h (TREE_CHECK4, PTR_OR_REF_CHECK): New macros.
(TYPE_REF_CAN_ALIAS_ALL, TYPE_NEXT_PTR_TO, TYPE_NEXT_REF_TO): Likewise.
(TREE_NO_UNSUED_WARNING, TREE_VIA_VIRTUAL, TREE_CONSTANT_OVERFLOW):
Add check.
* cp/typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW
for INTEGER_CST.
* ada/decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
of No_Strict_Aliasing to build_pointer_type_for_mode.
* ada/utils.c (update_pointer_to): Walk pointer and ref chains.
From-SVN: r79873
Anthony Green [Tue, 23 Mar 2004 19:24:07 +0000 (19:24 +0000)]
natClass.cc (getClassLoader): Circumvent infinite recursion when searching for the system ClassLoader.
2004-03-21 Anthony Green <green@redhat.com>
* java/lang/natClass.cc (getClassLoader): Circumvent infinite
recursion when searching for the system ClassLoader.
From-SVN: r79871
Roger Sayle [Tue, 23 Mar 2004 19:11:35 +0000 (19:11 +0000)]
fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when A is nonnegative or B is nonnegative.
* fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when
A is nonnegative or B is nonnegative. Similarly A|B is nonnegative
when both A and B are nonnegative.
(tree_expr_nonzero_p): A|B is nonzero when A is nonzero or B is
nonzero.
From-SVN: r79870
Tom Tromey [Tue, 23 Mar 2004 17:54:02 +0000 (17:54 +0000)]
re PR java/14315 ([3.4 only]: Java compiler is not parallel make safe)
PR java/14315:
* jcf-write.c (make_class_file_name): Don't report if mkdir
failed with EEXIST.
From-SVN: r79868