aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
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 Administrator1-1/+1
From-SVN: r80070
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-29Daily bump.GCC Administrator1-1/+1
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-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 Administrator1-1/+1
From-SVN: r80034
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-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-27Daily bump.GCC Administrator1-1/+1
From-SVN: r80006
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-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-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 Administrator1-1/+1
From-SVN: r79972
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
2004-03-25cfgrtl.c, [...]: Fix comment typos.Kazu Hirata10-15/+25
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
2004-03-25re PR middle-end/9707 (Unnecessary range test in switches with less than 4 ↵Kazu Hirata2-0/+43
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
2004-03-25[multiple changes]Arnaud Charlet15-374/+572
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
2004-03-25arm.c (vfp_print_multi): Remove.Paul Brook2-94/+111
* 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
2004-03-25re PR java/14689 (jcf-path.c missing closedir)Marcus Meissner2-0/+7
PR java/14689: * jcf-path.c (jcf_path_extdirs_arg): Add missing closedir. From-SVN: r79948
2004-03-24alias.c (alias_invariant, [...]): Mark GTY.Richard Henderson4-53/+136
* 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
2004-03-25Daily bump.GCC Administrator1-1/+1
From-SVN: r79941
2004-03-24dwarf2asm.c, [...]: Update copyright.Kazu Hirata11-9/+19
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
2004-03-24configure.ac: Add --enable-werror-always (for top level bootstrap support).Nathanael Nerode3-1/+30
(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
2004-03-24prune.exp (prune_gcc_output): Ignore errata warning from IA64 assembler.Andreas Schwab2-1/+10
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
2004-03-24objc-act.c (objc_comptypes): Treat comparisons between 'Class' and '<class> ↵Ziemowit Laski2-0/+10
*' 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
2004-03-24invoke.texi (-frename-registers): Add enabled at -O3.David Edelsohn2-13/+29
* 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
2004-03-24Makefile.in (STRICT2_WARN): Reorder.Nathanael Nerode4-3/+79
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
2004-03-24config.gcc: Add --with-abi=Paul Brook8-445/+534
* 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
2004-03-24configure.ac: Check for -Wno-variadic-macros...Nathanael Nerode3-70/+150
* 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
2004-03-24Fix changelog entry for:Richard Sandiford2-2/+1
* 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