/:
* configure.ac: Do not use $extrasub for replacing @if/@endif
parts in Makefile; instead, use additional arguments to
AC_CONFIG_COMMANDS to do the replacement manually, with several
sed invocations, to avoid HP-UX sed command limits.
* configure: Regenerate.
fixincludes/:
PR testsuite/29737
PR bootstrap/35938
PR testsuite/39655
* check.tpl: Fix typos.
* README: Likewise. Also, document that 'select' uses ERE.
* mkheaders.in: Update copyright years in --version output.
* inclhack.def (sco_math): Add missing final newline in sed
script 'a', 'c', or 'i' commands, for BSD sed.
(sco_math): In the text of 'a', 'c', or 'i' sed
commands, prepend leading white space with a backslash to avoid
the whitespace to be removed by BSD sed.
(sco_math): Match plain 'C++' instead of 'C\+\+' in sed regex.
(x11_new): Fix sed expression, for BSD sed.
(glibc_mutex_init): Fix newlines in sed 's' command replacement
part, for GNU sed 3.02 and Solaris sed.
(glibc_mutex_init): Replace unportable \+ sed regex operator
with \{1,\}.
(glibc_c99_inline_2, glibc_mutex_init): Avoid unportable sed
alternation \| regex operator.
(solaris_complex): Remove superfluous backslashes from
replacement string. Replace \+ operator with \{1,\}.
* tests/base/Xm/Traversal.h: This is fixed for BSD sed now.
* fixincl.x: Regenerate.
Kai Tietz [Tue, 8 Sep 2009 15:26:50 +0000 (15:26 +0000)]
tree-ssa-reassoc.c (find_operand_rank): Cast pointer via intptr_t to long type.
2009-09-08 Kai Tietz <kai.tietz@onevision.com>
* tree-ssa-reassoc.c (find_operand_rank): Cast pointer
via intptr_t to long type.
(insert_operand_rank): Cast long type via intptr_t to
pointer type.
* genattrtab.c (RTL_HASH): Use intptr_t to cast from
pointer to scalar.
* c-pretty-print.c (pp_c_tree_decl_identifier): Cast
from pointer to unsigned via uintptr_t.
bfin.c (np_check_regno, [...]): New static variables.
* config/bfin/bfin.c (np_check_regno, np_after_branch): New static
variables.
(note_np_check_stores): New function.
(harmless_null_pointer_p): New function.
(trapping_loads_p): New args NP_REG and AFTER_NP_BRANCH. Callers
changed. Take into account whether we're in the shadow of a condjump
that tested NP_REG for NULL.
Lose all code that tested for SEQUENCEs.
(workaround_speculation): Avoid inserting NOPs for loads that are
either always executed or a NULL pointer.
* config/bfin/predicates.md (p_register_operand): New
predicate.
(dp_register_operand): New predicate.
* config/bfin/bfin-protos.h (WA_05000074): Define.
(ENABLE_WA_05000074): Define.
* config/bfin/bfin.c (bfin_cpus[]): Add WA_05000074 for
all cpus.
(bfin_gen_bundles): Put dsp32shiftimm instruction in slot[0].
* config/bfin/bfin.md (define_attr type): Add dsp32shiftimm.
(define_attr addrtype): Allow load/store register to be
P register.
(define_attr storereg): New.
(define_cpu_unit anomaly_05000074): New.
(define_insn_reservation dsp32shiftimm): New.
(define_insn_reservation dsp32shiftimm_anomaly_05000074): New.
(define_insn_reservation loadp): Cannot use slot2.
(define_insn_reservation loadsp): Cannot use slot2.
(define_insn_reservation storep): Cannot use slot2. Does not
apply when working around 05000074.
(define_insn_reservation storep_anomaly_05000074): New.
(define_insn_reservation storei): Does not apply when working
around 05000074.
(define_insn_reservation storei_anomaly_05000074): New.
(define_attr length): Add dsp32shiftimm case.
(define_insn movsi_insn32, movsi_insv, ashlsi3_insn, ashrsi3,
ror_one, rol_one, lshrsi3, lshrpdi3, ashrpdi3, movhiv2hi_low,
movhiv2hi_high, composev2hi, packv2hi, movv2hi_hi,
ssashiftv2hi3, ssashifthi3, ssashiftsi3, lshiftv2hi3, lshifthi3):
Set type as dsp32shiftimm for dsp32shiftimm alternatives.
* config/bfin/bfin.md (UNSPEC_VOLATILE_STALL): New constant.
(attr "addrtype"): New member "spreg".
Use it if mem_spfp_address_operand is true for the address.
(attr "type"): New entry "stall".
(cpu_unit "load"): New.
(insn_reservations "load32", "loadp", "loadi"): Add reservation of
"load".
(insn_reservation "loadsp"): New.
(insn_reservation "load_stall1"): New.
(insn_reservation "load_stall3"): New.
(stall): New insn.
* config/bfin/predicates.md (const1_operand, const3_operand): New.
(mem_p_address_operand): Exclude stack and frame pointer based
addresses.
(mem_spfp_address_operand): New; match them here.
* config/bfin/bfin.c (add_sched_insns_for_speculation): New function.
(bfin_reorg): Call it if scheduling insns.
(bfin_gen_bundles): Remove dummy insns created by
add_sched_insns_for_speculation.
Thomas Koenig [Mon, 7 Sep 2009 15:23:15 +0000 (15:23 +0000)]
re PR fortran/41197 (ICE with ALLOCATE and nonscalar STAT= variable)
2009-09-07 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/41197
* resolve_c (resolve_allocate_deallocate): Complain
if stat or errmsg varaible is an array.
2009-09-07 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/41197
* gfortran.dg/allocate_alloc_opt_1.f90: Use scalar
variables for stat and errmsg.
* gfortran.dg/deallocate_alloc_opt_1.f90: Likewise.
* gfortran.dg/allocate_stat_2.f90: New test.
Nick Clifton [Mon, 7 Sep 2009 14:48:02 +0000 (14:48 +0000)]
gcc.c (this_is_linker_script): New variable.
* gcc.c (this_is_linker_script): New variable. Like
this_is_library_file but for the %T constructor.
(end_going_arg): If this_is_linker_script is set then locate the
script and insert a --script switch before it
(do_spec_2): Initialise this_is_linker_script.
(do_spec_1): Likewise. Handle %T construct.
(eval_spec_function): Preserve this_is_linker_script.
* doc/invoke.texi: Document %T construct in spec files.
* config/m32c/m32c.h (LIB_SPEC): Use it.
H.J. Lu [Mon, 7 Sep 2009 13:38:27 +0000 (13:38 +0000)]
re PR libstdc++/41280 (Revision 151352 breaks 32bit libstdc++)
2009-09-07 H.J. Lu <hongjiu.lu@intel.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
PR libstdc++/41280
* configure.ac: Run "${multi_basedir}/config-ml.in" to generate
MULTISUBDIR = in subdirectory Makefiles, with ml_norecursion set.
* configure: Regenerate.
Andreas Krebbel [Mon, 7 Sep 2009 10:30:32 +0000 (10:30 +0000)]
rtl.h (PREFETCH_SCHEDULE_BARRIER_P): New macro.
2009-09-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* rtl.h (PREFETCH_SCHEDULE_BARRIER_P): New macro.
* sched-deps.c (sched_analyze_2): Make prefetches a hard barrier
when volatile flag is set.
* doc/rtl.texi (PREFETCH_SCHEDULE_BARRIER_P): Add documentation pieces.
Eric Botcazou [Sun, 6 Sep 2009 21:15:45 +0000 (21:15 +0000)]
re PR bootstrap/41241 (bootstrap comparison failure)
PR bootstrap/41241
* combine-stack-adj.c (try_apply_stack_adjustment): Handle stores.
(combine_stack_adjustments_for_block): Allow insns between stack
adjustments and stores with corresponding with pre-(dec|inc)rement
or pre-modify.
Jakub Jelinek [Sun, 6 Sep 2009 19:31:55 +0000 (21:31 +0200)]
re PR bootstrap/41241 (bootstrap comparison failure)
PR bootstrap/41241
* combine-stack-adj.c (struct csa_memlist): Rename to...
(struct csa_reflist): ... this. Rename mem field to ref.
(free_csa_memlist): Rename to...
(free_csa_reflist): ... this.
(record_one_stack_memref): Rename to...
(record_one_stack_ref): ... this. Handle also REG_P.
(try_apply_stack_adjustment): Handle also REG_P.
(struct record_stack_memrefs_data): Rename to...
(struct record_stack_refs_data): ... this. Rename memlist field to
reflist.
(record_stack_memrefs): Rename to...
(record_stack_refs): ... this. For DEBUG_INSNs keep traversing
subexpressions instead of failing when a MEM contains SP references.
For SP itself in DEBUG_INSNs queue it also onto reflist chain.
(combine_stack_adjustments_for_block): Adjust for mem to ref renaming.
Paolo Carlini [Sun, 6 Sep 2009 15:41:38 +0000 (15:41 +0000)]
re PR libstdc++/41267 (vector<>::resize() from an empty vector calls memmove for 0 bytes (twice), wasting a lot of cpu time in a production PowerDNS)
2009-09-06 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/41267
* include/bits/stl_algobase.h (__copy_move::__copy_m,
__copy_move_backward::__copy_move_b): Don't call __builtin_memmove
with a null third argument.
re PR bootstrap/41241 (bootstrap comparison failure)
2009-09-04 Vladimir Makarov <vmakarov@redhat.com>
PR bootstrap/41241
* ira.c (update_equiv_reg): Revert my previous patch for the PR.
* reginfo.c (resize_reg_info): Call allocate_reg_info if necessary.
(reginfo_init): Don't call allocate_reg_info.
* gcc.dg/guality/guality.h: Include stdint.h. Drop unnecessary
unistd.h, sys/types.h and sys/wait.h.
(gualchk_t): New.
(GUALCVT): New.
(GUALCHKXPR, GUALCHKVAL, GUALCHKFLA): Use it.
(GUALITY_GDB_REDIRECT): New.
(GUALITY_GDB_ARGS): Use it.
toplev.c (process_options): Move setter of flag_var_tracking before other tests that depend on it.
* toplev.c (process_options): Move setter of flag_var_tracking
before other tests that depend on it. Move down setter of
flag_rename_registers. Don't enable var-tracking-assignments
by default if selective scheduling is enabled. Warn if both
are enabled.
var-tracking.c (dv_is_decl_p): Adjust NULL behavior to match comment.
* var-tracking.c (dv_is_decl_p): Adjust NULL behavior to match
comment. Use switch statement to catch overlaps between rtx
and tree codes. Accept FUNCTION_DECLs in addition to those in...
(IS_DECL_CODE): ... here. Remove.
(check_value_is_not_decl): Remove.
(dv_from_decl, dv_from_value): Check after conversion.
re PR target/39065 (libiberty hashtab.c:hash_pointer() needs intptr_t)
2009-09-04 Ozkan Sezer <sezeroz@gmail.com>
PR target/39065
* configure.ac: Replace AC_CHECK_TYPE() for intptr_t and uintptr_t
with AC_TYPE_INTPTR_T and AC_TYPE_UINTPTR_T.
* config.in: Regenerated.
* configure: Regenerated.
Martin Jambor [Fri, 4 Sep 2009 11:08:12 +0000 (13:08 +0200)]
re PR tree-optimization/41112 (ACATS c43205b fails at -O2 (tree-sra))
2009-09-04 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/41112
* tree-sra.c (build_ref_for_offset_1): Signal that we cannot
handle variable-bounded arrays.
(expr_with_var_bounded_array_refs_p): New function.
(analyze_access_subtree): Call expr_with_var_bounded_array_refs_p.
Jakub Jelinek [Fri, 4 Sep 2009 06:56:55 +0000 (08:56 +0200)]
guality.exp: Only run guality tests if a trivial testcase using guality.h compiles and links...
* gcc.dg/guality/guality.exp: Only run guality tests if a trivial
testcase using guality.h compiles and links and if a global variable
can be verified by gdb.
re PR target/39065 (libiberty hashtab.c:hash_pointer() needs intptr_t)
2009-09-03 Ozkan Sezer <sezeroz@gmail.com>
PR target/39065
* configure.ac: Also check for intptr_t.
* config.h.in: Regenerated.
* configure: Regenerated.
* hashtab.c (hash_pointer): Cast the pointer argument to intptr_t
instead of of long.
Jakub Jelinek [Thu, 3 Sep 2009 16:33:27 +0000 (18:33 +0200)]
re PR debug/41236 (RTL checking failure compiling libgcc)
PR debug/41236
* dwarf2out.c (loc_descriptor): Don't use SUBREG_REG macro on
SIGN_EXTEND or ZERO_EXTEND. Don't assume there is a REG inside of
it or SUBREG.
Jakub Jelinek [Thu, 3 Sep 2009 16:32:07 +0000 (18:32 +0200)]
re PR debug/41238 (VTA: bootstrap failure, ICE in loc_cmp, at var-tracking.c:2456)
PR debug/41238
* function.c (assign_parm_find_stack_rtl): Don't set mem attributes on
the stack slot if it is passed by invisible reference.
* var-tracking.c (vt_add_function_parameters): Handle arguments passed by
invisible reference.
linux.h (TARGET_SUPPORTS_SYNC_CALLS): Define to 1.
gcc/
* config/bfin/linux.h (TARGET_SUPPORTS_SYNC_CALLS): Define to 1.
* config/bfin/uclinux.h (TARGET_SUPPORTS_SYNC_CALLS): Define to 1.
* config/bfin/bfin.h (TARGET_SUPPORTS_SYNC_CALLS): Provide default of
0.
* config/bfin/sync.md: New file.
* config/bfin/bfin.md: Include it.
(UNSPEC_ATOMIC): New.
(UNSPEC_ONES): Provide a unique number.
From Jie Zhang <jie.zhang@analog.com>:
* config/bfin/bfin.c (ret_regs): New.
(must_save_fp_p): Don't return true because of frame_pointer_needed.
(must_save_rets_p): New.
(n_regs_saved_by_prologue): Use must_save_rets_p instead of
current_function_is_leaf.
(do_link): Likewise.
(do_unlink): Likewise.
(expand_interrupt_handler_prologue): Use ret_regs array.
(expand_interrupt_handler_epilogue): Use ret_regs array and
pass return register to gen_return_internal.
(bfin_expand_epilogue): Pass return register to
gen_return_internal.
(bfin_expand_call): Explicitly clobber RETS.
* config/bfin/bfin.h (FUNCTION_RETURN_REGISTERS): Define.
* config/bfin/bfin.md (call_symbol_fdpic, call_value_symbol_fdpic,
call_insn_fdpic, call_value_insn_fdpic, call_symbol,
call_value_symbol, call_insn, call_value_insn): Explicitly clobber
RETS.
(return_internal): Take a reg rtx rather than the register number.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_sync_int_long):
Supported on Blackfin Linux targets.
ChangeLog:
* configure.ac (--with-build-config): New. Set BUILD_CONFIG.
Default to bootstrap-debug only if compare-debug works.
* configure: Rebuilt.
* Makefile.tpl: Make BUILD_CONFIG configure-configurable.
* Makefile.in: Rebuilt.
contrib/ChangeLog:
* bootstrap-debug-big.mk (STAGE2_CFLAGS): Drop -gtoggle.
* bootstrap-debug-lean.mk: Update comments.
(STAGE2_CFLAGS): Likewise.
(do-compare): Don't override.
gcc/ChangeLog:
* doc/invoke.texi (BUILD_CONFIG): Document --with-build-config.
(bootstrap-debug): Explain conditions in which it becomes default.
(bootstrap-debug-big): Rather than duplicate bootstrap-debug,
make it add to it.
2009-09-01 Richard Guenther <rguenther@suse.de>
Diego Novillo <dnovillo@google.com>
* cgraph.c (cgraph_add_new_function): Remove gimplification.
* cgraphunit.c (cgraph_expand_function): Do not emit
associated thunks from here.
(cgraph_emit_thunks): New.
(cgraph_optimize): Call it.
Return if any IPA pass finds an error.
* varasm.c (finish_aliases_1): Ignore errorneous aliases used
by thunks.
2009-09-01 Simon Baldwin <simonb@google.com>
Rafael Espindola <espindola@google.com>
Richard Guenther <rguenther@suse.de>
Doug Kwan <dougkwan@google.com>
Diego Novillo <dnovillo@google.com>
* Make-lang.in (decl2.o): Add dependency on $(POINTER_SET_H).
* decl2.c: Include pointer-set.h.
(collect_candidates_for_java_method_aliases): New.
(cp_write_global_declarations): Call it.
Add local variable CANDIDATES. If set, call
build_java_method_aliases.
(build_java_method_aliases): Add argument CANDIDATES.
Use it to determine if FNDECL should get a hidden alias.
* cp-objcp-common.h (LANG_HOOKS_FREE_LANG_DATA): Define.
* cp-tree.h (cp_free_lang_data): Declare.
2009-09-03 Richard Guenther <rguenther@suse.de>
* method.c (use_thunk): Use cgraph_finalize_function to hand
off thunks to the cgraph.
* semantics.c (emit_associated_thunks): Do not emit thunks
for really extern functions.