aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2004-03-30Reassociate multiply expression with an adjacent non-multiply expression.Fariborz Jahanian2-0/+36
Reviewed by Roger Sayle. From-SVN: r80093
2004-03-30* hashtab.h, splay-tree.h: Use new shorter form of GTY markers.Zack Weinberg3-8/+12
From-SVN: r80092
2004-03-30gengtype.c (create_option): New function.Zack Weinberg28-191/+295
* 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
2004-03-30darwin.c (machopic_function_base_name): Remove current_name and getting the ↵Andrew Pinski2-3/+6
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
2004-03-30(thumb_jump): Reduce the backward branch range...Nick Clifton2-2/+8
(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
2004-03-30* .cvsignore: Add GPATH, GRTAGS, GSYMS and GTAGS (GNU GLOBAL)Alan Modra2-0/+8
From-SVN: r80079
2004-03-30* gcc.dg/altivec-11.c: Extend test for more valid cases.Hartmut Penner2-0/+17
From-SVN: r80078
2004-03-30rs6000.c (output_vec_const_move): Find all cases of EASY_VECTOR_15_ADD_SELF.Hartmut Penner4-50/+108
* 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
2004-03-30re PR target/11591 ([3.4 only] ICE in gcc.dg/altivec-5.c)Hartmut Penner2-1/+8
PR 11591 * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any offset to argument pointer in no-strict case. From-SVN: r80075
2004-03-30Daily bump.GCC Administrator2-2/+2
From-SVN: r80070
2004-03-29Update comment to reflect test.Loren J. Rittle2-1/+4
From-SVN: r80067
2004-03-29toplev.c (backend_init): Add missing call to inint_optimization_passes.Jan Hubicka3-12/+13
* 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
2004-03-29cris.h: Correct #ifdef to test for HAVE_AS_NO_MUL_BUG_ABORT_OPTION...Hans-Peter Nilsson2-1/+7
* 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
2004-03-29error.c (dump_function_name): If T's DECL_LANG_SPECIFIC is null, just print ↵Zack Weinberg2-1/+17
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
2004-03-29function.c (put_var_into_stack): If old RTL was ADDRESSOF, update the ↵Richard Kenner2-4/+15
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
2004-03-29[multiple changes]Arnaud Charlet51-399/+1783
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
2004-03-29pthread7-rope.cc: Fix...Paolo Carlini2-2/+9
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
2004-03-29Daily bump.GCC Administrator2-2/+2
From-SVN: r80047
2004-03-28* gcc.dg/doloop-1.c: Do not check for lack of "blt".David Edelsohn2-2/+5
From-SVN: r80044
2004-03-28re PR c/14734 (Error recovery problem with undeclared array bounds)Zack Weinberg7-43/+77
* 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
2004-03-28re PR libstdc++/14245 ([3.4 only] problem with user-defined allocators in ↵Chavdar Botev2-2/+11
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
2004-03-28altivec.md: (andvv16qi3...Olga Golovanevsky2-0/+59
* 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
2004-03-28m68hc11-protos.h (m68hc11_page0_symbol_p): Declare.Stephane Carrez5-15/+122
* 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
2004-03-28c-tree.h (C_DECL_REGISTER): New.Joseph Myers9-36/+78
* 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
2004-03-28Daily bump.GCC Administrator2-2/+2
From-SVN: r80034
2004-03-27[multiple changes]Benjamin Kosnik3-11/+87
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
2004-03-27function.c (thread_prologue_and_epilogue): Move NOTE_INSN_FUNCTION_END and ↵Ulrich Weigand2-2/+13
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
2004-03-27expr.c (store_constructor): Use gen_int_mode to correctly sign-extend ↵Ulrich Weigand2-1/+6
CONST_INT value. * expr.c (store_constructor): Use gen_int_mode to correctly sign-extend CONST_INT value. From-SVN: r80022
2004-03-27[multiple changes]Paolo Carlini2-167/+173
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
2004-03-27builtin-types.def (BT_WINT, [...]): New.Kaveh R. Ghazi6-7/+107
* 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
2004-03-27gcc_release: Fix sanity check for argument of -p command-line options.Gerald Pfeifer2-4/+11
* 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
2004-03-27Daily bump.GCC Administrator2-2/+2
From-SVN: r80006
2004-03-26NumberFormat.java: Fix spelling of setCurrency method.Peter Moon2-2/+8
2004-03-26 Peter Moon <peterm@miraculum.com> * java/text/NumberFormat.java: Fix spelling of setCurrency method. From-SVN: r79994
2004-03-26re PR c++/13294 (namespace associations vs. specializations)Jason Merrill2-1/+15
PR c++/13294 * pt.c (maybe_process_partial_specialization): Remember the context of a specialization. From-SVN: r79992
2004-03-26c-typeck.c (comptypes): Replace calls to TYPE_DOMAIN with TYPE_ORIG_SIZE_TYPE.Diego Novillo2-4/+10
* c-typeck.c (comptypes): Replace calls to TYPE_DOMAIN with TYPE_ORIG_SIZE_TYPE. From-SVN: r79991
2004-03-26mt_allocator.h (__mt_alloc<>::allocate, [...]): Protect two instances of ↵Paolo Carlini2-2/+8
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
2004-03-26re PR c/14219 (ICE with vector comparison)Aldy Hernandez2-4/+8
PR 14219 * c-typeck.c (build_binary_op): Do not allow comparisons of vectors. From-SVN: r79982
2004-03-2620001013-1.c: Run on 32-bit and 64-bit SPARC.James A. Morrison4-12/+12
* 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
2004-03-26config.gcc: Remove sparc-tti-*.James A. Morrison7-207/+23
* 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
2004-03-26fold-const.c (tree_expr_nonnegative_p): Handle BIT_XOR_EXPR like BIT_IOR_EXPR...Roger Sayle4-0/+16
* 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
2004-03-25re PR c/11527 (If an array "designated intializer" in a struct causes a segv.)Richard Henderson3-4/+28
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
2004-03-26[multiple changes]Benjamin Kosnik5-132/+201
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
2004-03-26Fix typo.Kaveh Ghazi1-1/+1
From-SVN: r79976
2004-03-26* builtins.c (fold_builtin): Fix error in last change.Kaveh R. Ghazi2-2/+6
From-SVN: r79975
2004-03-26Daily bump.GCC Administrator2-2/+2
From-SVN: r79972
2004-03-25mt_allocator.h (__mt_alloc<>::tune): Add _M_min_bin, the size in bytes of ↵Paolo Carlini2-20/+38
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
2004-03-25* config/mips/mips.h: Formatting fix.Richard Sandiford2-1/+5
From-SVN: r79961
2004-03-25builtins.def: Add ctype builtins.Kaveh R. Ghazi5-47/+137
* builtins.def: Add ctype builtins. * doc/extend.texi: Likewise. testsuite: * gcc.dg/torture/builtin-ctype-1.c: New test. From-SVN: r79960
2004-03-25builtins.c (fold_builtin): Add new builtin optimizations for sqrt and/or cbrt.Kaveh R. Ghazi7-9/+238
* 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
2004-03-25rs6000.c (rs6000_always_hint): New variable.David Edelsohn6-44/+382
* 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