aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
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
2004-03-24config.gcc (mips64vr-*-elf*, [...]): Remove tm_defines.Richard Sandiford3-22/+97
* 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
2004-03-24mips.h (MASK_FIX_VR4122, [...]): New macros.DJ Delorie7-9/+158
* 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
2004-03-24mips.h (PROCESSOR_R4130): New processor_type.Richard Sandiford5-2/+18
* 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
2004-03-24invoke.texi: Apply missed hunk from 2004-03-03 change.Maciej W. Rozycki2-1/+21
* doc/invoke.texi: Apply missed hunk from 2004-03-03 change. Co-Authored-By: Richard Sandiford <rsandifo@redhat.com> From-SVN: r79903
2004-03-24re PR preprocessor/14438 (Potential need for buffer overflow checks in ↵Alexandre Oliva2-3/+6
_cpp_lex_direct) PR preprocessor/14438 * cpplib.c (do_pragma): Remove line_change call after pragma handler. From-SVN: r79899
2004-03-24extend.texi (ARM Built-in Functions): Replace with correct declarations.Ian Lance Taylor2-135/+129
* doc/extend.texi (ARM Built-in Functions): Replace with correct declarations. From-SVN: r79894
2004-03-24reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND if ↵Roger Sayle3-5/+70
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
2004-03-24compare8.c: New test case.Joseph Myers2-0/+20
* gcc.dg/compare8.c: New test case. Co-Authored-By: Roger Sayle <roger@eyesopen.com> From-SVN: r79891
2004-03-24Daily bump.GCC Administrator1-1/+1
From-SVN: r79888
2004-03-24hooks.c (hook_constcharptr_tree_null): New hook.Ziemowit Laski12-2/+133
[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
2004-03-23Correct PR number in last commitZack Weinberg3-4/+3
From-SVN: r79884
2004-03-23PR 12267, 12391, 12560, 13129, 14114, 14113Zack Weinberg31-1319/+1383
* 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
2004-03-23delete some extraneous characters accidentally included in last change.David Edelsohn1-1/+1
From-SVN: r79876