aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2002-04-12emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET not specified.Richard Kenner2-1/+6
* emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET not specified. From-SVN: r52221
2002-04-12sh.c (calc_live_regs, [...]): Use of PR_MEDIA_REG / PR_REG depends on ↵J"orn Rennecke2-5/+11
TARGET_SHMEDIA, not TARGET_SH5. * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG depends on TARGET_SHMEDIA, not TARGET_SH5. From-SVN: r52220
2002-04-12function.c (fixup_var_refs_1): For paradoxical (subreg VAR), replace VAR, ↵Hans-Peter Nilsson2-8/+27
don't try the subreg. * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>: For paradoxical (subreg VAR), replace VAR, don't try the subreg. From-SVN: r52217
2002-04-12* g++.dg/ext/attrib5.C,Richard Sandiford3-0/+40
* g++.dg/lookup/struct1.C: New tests. From-SVN: r52215
2002-04-12sh.c (broken_move): Constant 0.J"orn Rennecke2-3/+15
* sh.c (broken_move): Constant 0. / 1. load is OK if there is no r0 clobber. From-SVN: r52214
2002-04-12decl.c (duplicate_decls): Don't try to unify an implicit typedef with an ↵Richard Sandiford2-19/+84
explicit one. * decl.c (duplicate_decls): Don't try to unify an implicit typedef with an explicit one. (follow_tag_typedef): New. (lookup_tag): Use it to extract the tag of an explicit typedef. (xref_tag): Likewise. From-SVN: r52213
2002-04-12fix whitespaceJason Merrill1-1/+1
From-SVN: r52210
2002-04-12typeck.c (type_after_usual_arithmetic_conversions): If two types have the ↵Andrew Haley2-1/+22
same variant, return immediately. 2002-04-11 Andrew Haley <aph@redhat.com> * typeck.c (type_after_usual_arithmetic_conversions): If two types have the same variant, return immediately. When two floating-point operands are the same precision: convert to float if one of the operands is float; if neither operand is one of the standard types, return the type of the first operand. From-SVN: r52209
2002-04-12* config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.Andreas Schwab2-1/+5
From-SVN: r52206
2002-04-12re PR bootstrap/4191 (GCC does not build for d30v-elf - needs tweaking for ↵Richard Henderson4-20/+46
crtstuff.c changes) PR bootstrap/4191 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef. * flow.c (mark_used_reg): Manage reg_cond_dead properly for modes spanning multiple hard regs. * recog.c (peephole2_optimize): Rebuild jump labels as needed. From-SVN: r52205
2002-04-12Daily bump.GCC Administrator2-2/+2
From-SVN: r52203
2002-04-12pa.c (pa_output_function_prologue): Don't accumulate the total number of ↵John David Anglin5-66/+173
code bytes when using TARGET_64BIT... * pa.c (pa_output_function_prologue): Don't accumulate the total number of code bytes when using TARGET_64BIT, or gas, SOM and not the portable runtime. (output_deferred_plabels): Handle 64bit plabels. (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when generating pic code using the GAS assembler for object formats that are not SOM (ie., ELF32 and ELF64). (output_millicode_call): Check attribute type if attribute length is 28. Likewise use $PIC_pcrel$0. Only call get_attr_length and dbr_sequence_length once. (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and dbr_sequence_length once. * pa.h (TARGET_SOM): Define if not defined. * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0 with GAS and not SOM. (jump, call_internal_reg, call_value_internal_reg): Likewise. * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining. From-SVN: r52196
2002-04-12freebsd.h (NO_IMPLICIT_EXTERN_C, [...]): Give value.David O'Brien4-42/+26
2002-04-11 David O'Brien <obrien@FreeBSD.org> * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value. (DEFAULT_PCC_STRUCT_RETURN) Do not redefine. (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP, DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): elfos.h and dbxelf.h values are fine now. * config/i386/freebsd.h, config/alpha/freebsd.h (DEFAULT_PCC_STRUCT_RETURN): Define to 0. Approved by: Richard Henderson <rth@redhat.com> Message-ID: <20020411175216.B11442@redhat.com> From-SVN: r52194
2002-04-12aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__ or set Acpu or Amachine.David O'Brien7-58/+70
2002-04-11 David O'Brien <obrien@FreeBSD.org> * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__ or set Acpu or Amachine. Reformat. (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not define. (LINK_SPEC): Do not need to undef. * config/ia64/elf.h (ASM_EXTRA_SPEC): Define. * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef. (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not define. * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define. (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead. (LINK_SPEC): Do not need to undef. (DONT_USE_BUILTIN_SETJMP): Do not define. * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add. (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64. (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define. Remove trailing spaces. * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__, __ELF__, or set Acpu or Amachine. Reformat. (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not define. Approved by: Richard Henderson <rth@redhat.com> Message-ID: <20020411160138.A11250@redhat.com> From-SVN: r52191
2002-04-12config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match all other ↵David O'Brien2-1/+6
*-*-freebsd* targets. 2002-04-11 David O'Brien <obrien@FreeBSD.org> * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match all other *-*-freebsd* targets. Approved by: Richard Henderson <rth@redhat.com> Message-ID: <20020411174756.A11442@redhat.com> From-SVN: r52189
2002-04-11* config.gcc (alpha*-*-linux*ecoff): Detect and reject.Richard Henderson2-0/+8
From-SVN: r52188
2002-04-11config.gcc (alpha*-*-openbsd, [...]): Include {cpu}/{cpu}.h thru tm_file.David O'Brien10-74/+43
2002-04-11 David O'Brien <obrien@FreeBSD.org> * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms): Include {cpu}/{cpu}.h thru tm_file. (alpha*-*-linux*ecoff): Remove target. * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__. (LINK_SPEC): Remove, is not OS independent. * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__. (LINK_SPEC): Do not need to #undef any longer. * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef any longer. * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define __ELF__. (LINK_SPEC): Moved here from alpha/elf.h. * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of SUB_CPP_PREDEFINES. * config/alpha/linux-ecoff.h: Remove. * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__. (CPP_SPEC): Define _POSIX_SOURCE as needed. (CPP_SUBTARGET_SPEC): Do not define. (LINK_SPEC): Do not need to #undef any longer. * config/alpha/openbsd.h: Do not directly include alpha/alpha.h. * config/alpha/vms.h: Likewise. Approved by: Richard Henderson <rth@redhat.com> Message-ID: <20020411152309.A11121@redhat.com> Message-ID: <20020411160159.B11250@redhat.com> Jason R Thorpe <thorpej@wasabisystems.com> Message-ID: <20020411161434.I4954@dr-evil.shagadelic.org> From-SVN: r52186
2002-04-11extend.texi: Remove old claim that typedefs cannot have an alignment attribute.Richard Sandiford2-5/+5
* doc/extend.texi: Remove old claim that typedefs cannot have an alignment attribute. From-SVN: r52180
2002-04-11re PR rtl-optimization/6177 (ia64 ICE with single-element complex array in ↵Jakub Jelinek4-3/+43
LAPACK) PR optimization/6177 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if bitpos is 0 and bitsize CONCAT size. * gcc.c-torture/execute/20020411-1.c: New test. From-SVN: r52178
2002-04-11re PR c/6223 (internal compiler error in Wine-20020310)Jakub Jelinek4-1/+63
PR c/6223 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz. * gcc.dg/20020411-1.c: New test. From-SVN: r52176
2002-04-11freebsd.h: Minor reformatting.David O'Brien2-15/+11
2002-04-10 David O'Brien <obrien@FreeBSD.org> * config/alpha/freebsd.h: Minor reformatting. (CPP_SPEC): Define ELF and add cpp_subtarget. (ASM_SPEC): No longer needed. Approved by: David S. Miller <davem@redhat.com> Message-Id: <20020410.203814.109035383.davem@redhat.com> From-SVN: r52170
2002-04-11sparc.md (movdi_insn_sp32): Add o/J alternative.Richard Henderson2-9/+32
* config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative. (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory. (dimode mem/zero splitter): New. From-SVN: r52168
2002-04-11Revert previous patch.Richard Sandiford4-65/+3
From-SVN: r52166
2002-04-11cris.c (cris_override_options): Tweak error message for PIC not implemented.Hans-Peter Nilsson4-4/+13
* config/cris/cris.c (cris_override_options): Tweak error message for PIC not implemented. * config/cris/cris.h: Tweak comments related to parameter-passing. * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here. From-SVN: r52161
2002-04-11* g++.dg/ext/attrib5.C: New test.Richard Sandiford2-0/+31
From-SVN: r52160
2002-04-11decl.c (duplicate_decls): Don't try to unify an implicit typedef with an ↵Richard Sandiford2-3/+34
explicit one. * decl.c (duplicate_decls): Don't try to unify an implicit typedef with an explicit one. (lookup_tag): Extract the tag of an explicit typedef. From-SVN: r52159
2002-04-11Daily bump.GCC Administrator2-2/+2
From-SVN: r52153
2002-04-10except.c (add_ehl_entry): Allow duplicates after landing pad creation.Richard Henderson2-1/+12
* except.c (add_ehl_entry): Allow duplicates after landing pad creation. From-SVN: r52149
2002-04-10* g77.f-torture/execute/6177.f: New test.Janis Johnson2-0/+18
From-SVN: r52147
2002-04-10re PR middle-end/6247 (Konqueror miscompilation on IA-32)Jakub Jelinek3-0/+306
PR middle-end/6247 * g++.dg/opt/cleanup1.C: New test. * g++.dg/opt/const1.C: New test. From-SVN: r52146
2002-04-10* config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.David Edelsohn2-1/+5
From-SVN: r52142
2002-04-10c-decl.c (c_init_decl_processing): Move generation of decls for ↵Toon Moene3-49/+59
g77_integer_type_node and friends from here ... 2002-04-10 Toon Moene <toon@moene.indiv.nluug.nl> * c-decl.c (c_init_decl_processing): Move generation of decls for g77_integer_type_node and friends from here ... * c-common.c (c_common_nodes_and_builtins): ... to here. From-SVN: r52141
2002-04-10reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM is only used as ↵Ulrich Weigand2-1/+9
frame pointer when... * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM is only used as frame pointer when frame_pointer_needed is true. From-SVN: r52140
2002-04-10* gcc.c-torture/execute/20020406-1.c: Declare malloc.Lars Brinkhoff2-0/+6
From-SVN: r52138
2002-04-10re PR target/817 (ARM compiler generates out-of-range accesses to constant ↵Richard Earnshaw2-6/+17
pool data) PR target/817 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow for the fact that the pool entry uses two words. (movdf_hard_insn): Similarly. Also, ADR instruction can span 1k bytes. (movdf_soft_insn): Similarly. (movxf_hard_insn): Adjust neg_pool_range attribute to allow for the fact that the pool entry uses three words. From-SVN: r52132
2002-04-10init.c (build_member_call): For now, don't convert to intermediate base if ↵Jason Merrill1-1/+1
it would cause an error. * init.c (build_member_call): For now, don't convert to intermediate base if it would cause an error. From-SVN: r52129
2002-04-10mips.c (mips_va_arg): When using the struct version of the EABI va_list...Richard Sandiford2-11/+33
* config/mips/mips.c (mips_va_arg): When using the struct version of the EABI va_list, allow arguments in the register save area to take up less room than a stack argument. From-SVN: r52125
2002-04-10re PR c++/5507 (Overzealous implicit typename warning)Nathan Sidwell4-0/+46
cp: PR c++/5507 * decl.c (make_typename_type): Remove implicit typenameness. testsuite: PR c++/5507 * g++.dg/template/typename2.C: New test. From-SVN: r52124
2002-04-10Daily bump.GCC Administrator2-2/+2
From-SVN: r52122
2002-04-10expr.c (expand_expr): Don't force into registers if EXPAND_INITIALIZER.Richard Henderson2-1/+7
* expr.c (expand_expr) [INTEGER_CST]: Don't force into registers if EXPAND_INITIALIZER. From-SVN: r52118
2002-04-09alpha.md (movdi_er_maybe_g): New.Richard Henderson3-1/+61
* config/alpha/alpha.md (movdi_er_maybe_g): New. * config/alpha/alpha.c (alpha_expand_mov): Use it. From-SVN: r52113
2002-04-10* gcc.c-torture/execute/loop-12.c: New.Alan Modra2-0/+29
From-SVN: r52111
2002-04-10re PR rtl-optimization/6233 (simple loop miscompilation)Alan Modra5-15/+37
PR optimization/6233 * rtlanal.c (pure_call_p): New function. * rtl.h (pure_call_p): Declare. * loop.c (prescan_loop): Use it to set has_nonconst_call. * gcse.c (store_killed_in_insn): Use pure_call_p here too. From-SVN: r52110
2002-04-10mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional information to .comm ↵Eric Christopher2-8/+16
directive. 2002-04-09 Eric Christopher <echristo@redhat.com> * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional information to .comm directive. From-SVN: r52109
2002-04-09expr.c (expand_expr): Force overflows into registers.Richard Henderson3-1/+25
* expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers. * gcc.c-torture/compile/20020409-1.c: New. From-SVN: r52104
2002-04-09basic-block.h (flow_delete_block_noexpunge): Declare.Richard Henderson10-96/+297
* basic-block.h (flow_delete_block_noexpunge): Declare. (expunge_block_nocompact): Declare. * cfg.c (expunge_block_nocompact): Split out from ... (expunge_block): ... here. * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels. (flow_delete_block_noexpunge): Split out from ... (flow_delete_block): ... here. * cfgcleanup.c (delete_unreachable_blocks): Compact while removing dead blocks. * except.c (exception_handler_labels): Remove. (exception_handler_label_map): New. (struct eh_region): Add aka member. (mark_ehl_map_entry, mark_ehl_map, free_region): New. (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New. (for_each_eh_label, for_each_eh_label_1): New. (init_eh): Register exception_handler_label_map. (free_eh_status): Use free_region. (find_exception_handler_labels): Use the map, not the list. (remove_exception_handler_label): Likewise. (maybe_remove_eh_handler): Likewise. (remove_eh_handler): Use the region aka bitmap. * except.h (exception_handler_labels): Remove. (for_each_eh_label): Declare. * jump.c (rebuild_jump_labels): Don't check exception_handler_labels. * loop.c (invalidate_loops_containing_label): New. (find_and_verify_loops): Use it. Use for_each_eh_label. * sched-rgn.c (is_cfg_nonregular): Use current_function_has_exception_handlers. From-SVN: r52100
2002-04-09sbitmap.c (sbitmap_union_of_diff, [...]): Do not return changed status.Richard Henderson5-123/+215
* sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b, sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c): Do not return changed status. (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg, sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg): New functions that do return changed status. * sbitmap.h: Update decls. * gcse.c, lcm.c: Use _cg functions as needed. From-SVN: r52094
2002-04-09config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.J"orn Rennecke13-104/+150
* config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h. (sh64-*-elf*, sh-*-rtemself*): Likewise. * config/sh/embed_bb.c: New file. * config/sh/embed-elf.h: New file. * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__ if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec. (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and __PTRDIFF_TYPE__ . (SUBTARGET_CPP_PTR_SPEC): Don't define. (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec. Add subtarget_asm_endian_spec. (ASM_SPEC): Use subtarget_asm_endian_spec. (SUBTARGET_ASM_ENDIAN_SPEC): Define. (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5. (WCHAR_UNSIGNED): Define. (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define. (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER. (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5. Fix value. * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5. (sh_adjust_cost): Likewise. sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and __PTRDIFF_TYPE__ . (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define. (WCHAR_TYPE_SIZE): Likewise. (ASM_SPEC): Use subtarget_asm_endian_spec. (SH_ELF_WCHAR_TYPE): #undef/ #define. (MAX_WCHAR_TYPE_SIZE): Don't #undef. * config/sh/elf.h (WCHAR_UNSIGNED): #undef . (MAX_WCHAR_TYPE_SIZE): Don't #define . (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define . (USER_LABEL_PREFIX): Don't #undef /#define . (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER. * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define . (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise. (ASM_SPEC): Likewise. (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define . (CC1_SPEC): don't supply -m3 for -m4*, -m5*. * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE. (LIB2FUNCS_EXTRA): Define. * t-sh64 (LIB2FUNCS_EXTRA): Define. * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine. (LIB1ASMFUNCS_CACHE): Define. (LIB2FUNCS_EXTRA): Redefine empty. From-SVN: r52091
2002-04-09* reorg.c (get_branch_condition): Use reversed_comparison_code.Richard Henderson2-3/+12
From-SVN: r52090
2002-04-09larith.asm (__map_data_section): Fix condition and optimize for size.Stephane Carrez2-6/+20
* config/m68hc11/larith.asm (__map_data_section): Fix condition and optimize for size. (__do_global_ctors): Fix pointer comparison. (__do_global_dtors): Likewise. From-SVN: r52086