rsandifo [Thu, 31 May 2012 05:29:36 +0000 (05:29 +0000)]
gcc/
* ira-costs.c (copy_cost): Use ira_init_register_move_cost_if_necessary
and ira_register_move_cost instead of init_move_cost and move_cost.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188042
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Thu, 31 May 2012 05:27:03 +0000 (05:27 +0000)]
gcc/
* ira.h (target_ira): Delete x_ira_available_class_regs.
(ira_available_class_regs): Delete.
* ira.c (setup_available_class_regs): Delete.
(setup_alloc_classes): Don't call it.
(setup_pressure_classes): Use ira_class_hard_regs_num instead of
ira_available_class_regs.
* haifa-sched.c (print_curr_reg_pressure, setup_insn_reg_pressure_info)
(model_spill_cost): Likewise.
* ira-build.c (low_pressure_loop_node_p): Likewise.
* ira-color.c (color_pass): Likewise.
* ira-emit.c (change_loop): Likewise.
* ira-lives.c (inc_register_pressure, dec_register_pressure)
(single_reg_class, ira_implicitly_set_insn_hard_regs)
(process_bb_node_lives): Likewise.
* loop-invariant.c (gain_for_invariant): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188041
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 31 May 2012 00:17:38 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188039
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 30 May 2012 23:04:47 +0000 (23:04 +0000)]
compiler: Don't crash for invalid constant types for && or ||.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188033
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Wed, 30 May 2012 22:54:20 +0000 (22:54 +0000)]
2012-05-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR target/52999
* config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define.
(pa_section_type_flags): New.
(pa_legitimate_constant_p): Revert previous change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188031
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 30 May 2012 22:07:23 +0000 (22:07 +0000)]
PR c++/53356
* tree.c (stabilize_init): Handle stabilizing a TARGET_EXPR
representing a bitwise copy of a glvalue.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188029
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 30 May 2012 22:07:14 +0000 (22:07 +0000)]
* tree.c (stabilize_expr): Tweak logic.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188028
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Wed, 30 May 2012 17:43:35 +0000 (17:43 +0000)]
* ira.c (allocate_initial_values): Make static.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188025
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Wed, 30 May 2012 16:44:42 +0000 (16:44 +0000)]
2012-05-30 Tobias Burnus <burnus@net-b.de>
PR c/53502
* decl.c (match_attr_spec): Remove "typedef".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188024
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 30 May 2012 14:52:38 +0000 (14:52 +0000)]
* config/i386/i386.c (legitimize_tls_address) <TLS_MODEL_INITIAL_EXEC>:
Generate tls_initial_exec_64_sun only when !TARGET_X32.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188022
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 30 May 2012 14:50:44 +0000 (14:50 +0000)]
PR c++/53356
* tree.c (stabilize_init): Side effects make the init unstable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188019
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 30 May 2012 12:29:26 +0000 (12:29 +0000)]
2012-05-30 Richard Guenther <rguenther@suse.de>
PR middle-end/53501
* fold-const.c (fold_binary_loc): Make sure to call
fold_plusminus_mult_expr with the original sign of operands.
* gcc.dg/torture/pr53501.c: New testcase.
* c-c++-common/restrict-2.c: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188009
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Wed, 30 May 2012 11:41:23 +0000 (11:41 +0000)]
* gcc.target/powerpc/powerpc.exp: Load torture-options.exp, call
torture-finish.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188008
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Wed, 30 May 2012 10:55:53 +0000 (10:55 +0000)]
* Makefile.in: Fix many dependencies.
(DWARF2_H): Depend on dwarf2.def.
(RTL_ERROR_H): Depend on rtl-error.h.
(TREE_PRETTY_PRINT_H, GIMPLE_PRETTY_PRINT_H): New. Replace
all gimple-pretty-print.h and tree-pretty-print.h references.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188007
138bc75d-0d04-0410-961f-
82ee72b054a4
glisse [Wed, 30 May 2012 10:48:06 +0000 (10:48 +0000)]
2012-05-30 Marc Glisse <marc.glisse@inria.fr>
gcc/
* simplify-rtx.c (simplify_binary_operation_1): Optimize shuffle of
concatenations.
gcc/testsuite/
* gcc.target/i386/shuf-concat.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188006
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 30 May 2012 09:14:27 +0000 (09:14 +0000)]
2012-05-30 Richard Guenther <rguenther@suse.de>
PR middle-end/53522
* tree-emutls.c (gen_emutls_addr): Do not add globals to
referenced-vars.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188005
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 30 May 2012 08:52:36 +0000 (08:52 +0000)]
* explow.c (probe_stack_range): Restore simple control flow and stop
again when the probe cannot be generated if HAVE_check_stack.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188003
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 30 May 2012 06:53:46 +0000 (06:53 +0000)]
PR rtl-optimization/53519
* combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx
instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR.
* gcc.c-torture/compile/pr53519.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188001
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Wed, 30 May 2012 06:26:09 +0000 (06:26 +0000)]
2012-05-30 Tobias Burnus <burnus@net-b.de>
* decl.c: Fix comment typos.
* expr.c: Ditto.
* frontend-passes.c: Ditto.
* match.c: Ditto.
* resolve.c: Ditto.
* trans-array.c: Ditto.
* trans-common.c: Ditto.
* trans-intrinsic.c: Ditto.
* trans-types.c: Ditto.
2012-05-30 Tobias Burnus <burnus@net-b.de>
* io/io.h: Fix comment typos.
* io/list_read.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188000
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Wed, 30 May 2012 01:40:32 +0000 (01:40 +0000)]
2012-05-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
* config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error.
2012-05-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
* gcc.target/arm/neon-vrev.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187999
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 30 May 2012 00:17:54 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187998
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Tue, 29 May 2012 23:44:09 +0000 (23:44 +0000)]
2012-05-29 Jack Howarth <howarth@bromo.med.uc.edu>
PR debug/53453
* doc/tm.texi: Update.
* doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Add @hook.
* target.def (force_at_comp_dir): New hook.
* config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Define.
* dwarf2out.c (dwarf2out_finish): Check targetm.force_at_comp_dir.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187994
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Tue, 29 May 2012 23:24:33 +0000 (23:24 +0000)]
Oops, wrong changelog, this is the right one:
2012-05-29 Jack Howarth <howarth@bromo.med.uc.edu>
* config/darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when
Darwin >= 10.
(DARWIN_DYLIB1_SPEC): Do not use -ldylib1.10.5.o when Darwin >= 10.
(DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187993
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Tue, 29 May 2012 23:20:33 +0000 (23:20 +0000)]
2012-05-29 Iain Sandoe <iains@gcc.gnu.org>
* config/darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when
Darwin >= 10.
(DARWIN_DYLIB1_SPEC): Do not use -ldylib1.10.5.o when Darwin >= 10.
(DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187992
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Tue, 29 May 2012 20:55:58 +0000 (20:55 +0000)]
PR target/51340
* config/sh/sh.c (sh_option_override): Set TARGET_FMAC if
flag_unsafe_math_optimizations is set.
* doc/invoke.texi (SH Options): Add -mno-fused-madd description.
Update description of -mfused-madd.
PR target/51340
* gcc.target/sh/pr51340-1.c: New.
* gcc.target/sh/pr51340-2.c: New.
* gcc.target/sh/pr51340-3.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187988
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Tue, 29 May 2012 20:26:41 +0000 (20:26 +0000)]
PR target/52941
* config/sh/predicates.md (atomic_arith_operand,
atomic_logical_operand): New predicates.
* config/sh/sh.c (sh_option_override): Check atomic options.
* config/sh/sh.h (TARGET_ANY_ATOMIC, UNSUPPORTED_ATOMIC_OPTIONS,
UNSUPPORTED_HARD_ATOMIC_CPU): New macros.
(DRIVER_SELF_SPECS): Use UNSUPPORTED_ATOMIC_OPTIONS and
UNSUPPORTED_HARD_ATOMIC_CPU.
* config/sh/sync.md: Update description comments.
(I12): New mode iterator.
(fetchop_predicate, fetchop_constraint): New code attributes.
(atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
atomic_exchangesi_hard, atomic_exchange<mode>_hard,
atomic_fetch_<fetchop_name>si_hard,
atomic_fetch_<fetchop_name><mode>_hard,
atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
atomic_<fetchop_name>_fetchsi_hard,
atomic_<fetchop_name>_fetch<mode>_hard,
atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
atomic_test_and_set_hard): New insns.
(atomic_compare_and_swap<mode>_soft, atomic_exchange<mode>_soft,
atomic_fetch_<fetchop_name><mode>_soft, atomic_fetch_nand<mode>_soft,
atomic_<fetchop_name>_fetch<mode>_soft, atomic_nand_fetch<mode>_soft,
atomic_test_and_set_soft): Use same formatting for the first line of
the asm block as in new insns above.
(atomic_compare_and_swap<mode>, atomic_exchange<mode>,
atomic_fetch_<fetchop_name><mode>, atomic_<fetchop_name>_fetch<mode>,
atomic_test_and_set): Integrate new *_hard insns into expanders.
* config/sh/sh.opt (mhard-atomic): New option.
* doc/invoke.texi (SH Options): Document it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187987
138bc75d-0d04-0410-961f-
82ee72b054a4
edmarwjr [Tue, 29 May 2012 20:18:29 +0000 (20:18 +0000)]
2012-05-29 Edmar Wienskoski <edmar@freescale.com>
* MAINTAINERS (Write After Approval): Add myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187986
138bc75d-0d04-0410-961f-
82ee72b054a4
fdumont [Tue, 29 May 2012 19:29:29 +0000 (19:29 +0000)]
2012-05-29 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_tempbuf.h (__uninitialized_construct_buf)
(__uninitialized_construct_buf_dispatch<>::__ucr): Fix to work
with iterator returning rvalue.
* testsuite/25_algorithms/stable_sort/3.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187985
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Tue, 29 May 2012 19:28:57 +0000 (19:28 +0000)]
fixincludes/
* configure.ac: Use GCC_AC_FUNC_MMAP_BLACKLIST instead of
gcc_AC_FUNC_MMAP_BLACKLIST.
* Makefile.in (ACLOCAL_AMFLAGS): Don't include ../gcc.
* aclocal.m4: Regenerate.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187984
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 29 May 2012 19:21:25 +0000 (19:21 +0000)]
* lto-plugin.c: Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187982
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 29 May 2012 19:21:05 +0000 (19:21 +0000)]
* mf-impl.h: Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187981
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 29 May 2012 19:20:43 +0000 (19:20 +0000)]
* c-common.c: Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187980
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 29 May 2012 19:07:04 +0000 (19:07 +0000)]
2012-05-29 Meador Inge <meadori@codesourcery.com>
* c-decl.c (c_push_function_context): Always create a new language
function.
(c_pop_function_context): Clear the language function created in
c_push_function_context.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187979
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 29 May 2012 18:52:25 +0000 (18:52 +0000)]
* config/alpha/ev6.md: (define_bypass "ev6_fmul,ev6_fadd"): New.
(define_bypass "ev6_fcmov"): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187978
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 29 May 2012 15:54:57 +0000 (15:54 +0000)]
* mt-sde: Fix typos.
* stdint.m4: Fix typos.
* tcl.m4: Fix typos.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187971
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Tue, 29 May 2012 15:36:18 +0000 (15:36 +0000)]
* integrate.c: Remove.
* integrate.h: Remove.
* Makefile.in: Remove make rules for integrate.c and INTEGRATE_H.
* config/arm/t-arm: Remove INTEGRATE_H dependency for target files.
* config/rs6000/t-rs6000: Likewise
* config/spu/t-spu-elf: Likewise.
* function.h (get_hard_reg_initial_val, has_hard_reg_initial_val,
get_hard_reg_initial_reg, emit_initial_value_sets): Move prototypes
from integrate.h to here.
(initial_value_entry): New prototype.
* reload.h (allocate_initial_values): Remove prototype.
* tree.h (set_decl_abstract_flags, set_decl_origin_self): Likewise.
* cse.c (fixed_base_plus_p): Don't handle virtual registers for
integrate.c.
* dwarf2out.c (set_decl_origin_self, set_block_origin_self,
set_decl_abstract_flags, set_block_abstract_flags): Move from
integrate.c to here, the only user.
* expmed.c (extract_fixed_bit_field): Remove outdated comment
about integrate.c.
* function.c: Don't include integrate.h.
(struct initial_value_pair, struct initial_value_struct,
get_hard_reg_initial_val, has_hard_reg_initial_val,
get_hard_reg_initial_reg, emit_initial_value_sets): Move from
integrate.c to here.
(initial_value_entry): New function.
* genemit.c (main): Don't print integrate.h include line.
* ira.c: Don't include integrate.h.
(allocate_initial_values): Move from integrate.c to here.
(ira): Update allocate_initial_values call.
* tree-inline.c: Don't include integrate.h.
(function_attribute_inlinable_p): Moved from integrate.c to here.
* cfgexpand.c: Don't include integrate.h.
* except.c: Likewise.
* langhooks.c: Likewise.
* passes.c: Likewise.
* toplev.c: Likewise.
* config/frv/frv.c: Likewise.
* config/pa/pa.c: Likewise.
* config/spu/spu.c: Likewise.
* config/epiphany/epiphany.c: Likewise.
* config/mep/mep.c: Likewise.
* config/score/score.c: Likewise.
* config/picochip/picochip.c: Likewise.
* config/sh/sh.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/microblaze/microblaze.c: Likewise.
* config/mips/mips.c: Likewise.
* config/v850/v850.c: Likewise.
* config/mmix/mmix.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/arm/arm.c: Likewise.
* config/s390/s390.c: Likewise.
* config/m32r/m32r.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/c6x/c6x.c: Include function.h instead of integrate.h.
* config/tilegx/tilegx.c: Likewise.
* config/tilepro/tilepro.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187969
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Tue, 29 May 2012 15:21:34 +0000 (15:21 +0000)]
* config/avr/t-avr (s-avr-mmcu-texi): Call
gen-avr-mmcu-texi$(build_exeext) via ./ and don't assume . is in PATH.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187968
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 29 May 2012 14:54:22 +0000 (14:54 +0000)]
* config/arm/ieee754-df.S: Fix typos.
* config/arm/ieee754-sf.S: Fix typos.
* config/c6x/libunwind.S: Fix typos.
* config/epiphany/udivsi3-float.c: Fix typos.
* config/microblaze/muldi3_hard.S: Fix typos.
* config/picochip/adddi3.S: Fix typos.
* config/picochip/ashlsi3.S: Fix typos.
* config/picochip/ashrsi3.S: Fix typos.
* config/picochip/clzsi2.S: Fix typos.
* config/picochip/cmpsi2.S: Fix typos.
* config/picochip/divmod15.S: Fix typos.
* config/picochip/divmodhi4.S: Fix typos.
* config/picochip/divmodsi4.S: Fix typos.
* config/picochip/longjmp.S: Fix typos.
* config/picochip/lshrsi3.S: Fix typos.
* config/picochip/parityhi2.S: Fix typos.
* config/picochip/popcounthi2.S: Fix typos.
* config/picochip/setjmp.S: Fix typos.
* config/picochip/subdi3.S: Fix typos.
* config/picochip/ucmpsi2.S: Fix typos.
* config/picochip/udivmodhi4.S: Fix typos.
* config/picochip/udivmodsi4.S: Fix typos.
* config/spu/divv2df3.c: Fix typos.
* config/spu/mfc_multi_tag_release.c: Fix typos.
* config/spu/mfc_tag_release.c: Fix typos.
* configure.ac: Fix typos.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187967
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 29 May 2012 14:53:50 +0000 (14:53 +0000)]
* directives.c: Fix typos.
* include/line-map.h: Fix typos.
* line-map.c: Fix typos.
* macro.c: Fix typos.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187966
138bc75d-0d04-0410-961f-
82ee72b054a4
matz [Tue, 29 May 2012 14:44:47 +0000 (14:44 +0000)]
* rtl.h (assign_stack_temp, assign_stack_temp_for_type,
assign_temp): Remove 'keep' argument.
(mark_temp_addr_taken): Remove prototype.
* tree.h (expand_decl): Remove prototype.
* function.c (struct temp_slot): Remove addr_taken and keep
member.
(assign_stack_temp_for_type) Don't initialize above, remove
keep argument.
(assign_stack_temp, assign_temp): Remove keep argument.
(mark_temp_addr_taken): Remove.
(preserve_temp_slots): Remove handling of addr_taken and keep
members.
(free_temp_slots): Ditto.
* expr.c (expand_expr_real_1 <COMPOUND_LITERAL_EXPR>): Remove
dead code.
* stmt.c (expand_asm_operands): Remove dead code.
(expand_decl): Remove.
* c-decl.c (finish_struct): Don't call expand_decl.
* builtins.c (expand_builtin_cexpi): Adjust calls to assign_temp
and assign_stack_temp.
* calls.c (save_fixed_argument_area, initialize_argument_information,
expand_call, emit_library_call_value_1, store_one_arg): Ditto.
* expmed.c (extract_bit_field_1): Ditto.
* expr.c (emit_group_load_1, emit_group_store,
copy_blkmode_from_reg, emit_push_insn, expand_assignment,
store_field, expand_constructor, expand_cond_expr_using_cmove,
expand_expr_real_2, expand_expr_real_1): Ditto.
* stmt.c (expand_asm_operands, expand_return): Ditto.
* function.c (pop_temp_slots): Call free_temp_slots.
* calls.c (store_one_arg): Don't call preserve_temp_slots or
free_temp_slots.
* expr.c (expand_assignment): Don't call free_temp_slots.
* config/arm/arm.c (neon_expand_vector_init): Ditto.
* config/i386/i386.c (ix86_expand_vector_set): Ditto.
(ix86_expand_vector_extract): Ditto.
* config/ia64/ia64.c (spill_xfmode_rfmode_operand,
ia64_expand_movxf_movrf): Ditto.
* config/mips/mips.c (mips_expand_vi_general): Ditto.
* config/mmix/mmix.md (floatdisf2, floatunsdisf2, truncdfsf2,
extendsfdf2): Ditto.
* config/rs6000/rs6000.c (rs6000_expand_vector_init,
rs6000_expand_vector_set, rs6000_expand_vector_extract,
rs6000_allocate_stack_temp): Ditto.
* config/rs6000/rs6000.md (fix_trunctfsi2_fprs): Ditto.
* config/sparc/sparc.c (emit_soft_tfmode_libcall,
sparc_emit_float_lib_cmp, sparc_emit_float_lib_cmp,
sparc_expand_vector_init): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187965
138bc75d-0d04-0410-961f-
82ee72b054a4
matz [Tue, 29 May 2012 14:41:53 +0000 (14:41 +0000)]
* expr.c (expand_expr_real_1 <normal_inner_ref>): Don't allocate
a kept temp.
(expand_expr_real_1 <COMPOUND_LITERAL_EXPR>): Make unreachable.
* gimple-fold.c (canonicalize_constructor_val): Canonicalize
COMPOUND_LITERAL_EXPR.
* function.c (expand_function_start): Don't call expand_decl,
instead assert that we have RTL assigned.
* tree-ssa-live.c (remove_unused_locals): Clear
nonlocal_goto_save_area if its backing variable is removed.
* stmt.c (expand_asm_operands): Remove handling of non-lvalues
as mem inputs.
(expand_decl): Assert that this does nothing.
* calls.c (expand_call): Don't call mark_temp_addr_taken.
* c-tree.h (c_expand_decl): Remove prototype.
c-family/
* c-common.h (c_expand_decl): Remove prototype.
ada/
* gcc-interface/utils.c (create_var_decl_1): Don't call expand_decl.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187962
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 29 May 2012 14:40:16 +0000 (14:40 +0000)]
2012-05-29 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53516
* tree-data-ref.c (stmt_with_adjacent_zero_store_dr_p): Reject
bitfield accesses.
* tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
* gcc.dg/torture/pr53516.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187961
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 29 May 2012 14:14:06 +0000 (14:14 +0000)]
* LANGUAGES: Fix typos.
* Makefile.in: Fix typos.
* alias.c: Fix typos.
* auto-inc-dec.c: Fix typos.
* bb-reorder.c: Fix typos.
* cfgcleanup.c: Fix typos.
* cgraph.c: Fix typos.
* cgraph.h: Fix typos.
* cgraphunit.c: Fix typos.
* collect2-aix.h: Fix typos.
* collect2.c: Fix typos.
* compare-elim.c: Fix typos.
* config/alpha/vms.h: Fix typos.
* config/arm/README-interworking: Fix typos.
* config/arm/arm.c: Fix typos.
* config/arm/iterators.md: Fix typos.
* config/arm/vxworks.h: Fix typos.
* config/avr/avr.c: Fix typos.
* config/avr/avr.h: Fix typos.
* config/avr/avr.md: Fix typos.
* config/avr/builtins.def: Fix typos.
* config/c6x/c6x.c: Fix typos.
* config/cr16/cr16.c: Fix typos.
* config/cr16/cr16.md: Fix typos.
* config/cris/cris.md: Fix typos.
* config/darwin.c: Fix typos.
* config/darwin.opt: Fix typos.
* config/i386/i386-c.c: Fix typos.
* config/i386/i386.c: Fix typos.
* config/ia64/ia64.c: Fix typos.
* config/m68k/cf.md: Fix typos.
* config/mep/mep.c: Fix typos.
* config/microblaze/microblaze.c: Fix typos.
* config/microblaze/microblaze.h: Fix typos.
* config/mn10300/mn10300.c: Fix typos.
* config/mn10300/mn10300.md: Fix typos.
* config/pa/pa.c: Fix typos.
* config/picochip/picochip.h: Fix typos.
* config/rs6000/a2.md: Fix typos.
* config/rs6000/rs6000.c: Fix typos.
* config/rs6000/vector.md: Fix typos.
* config/rx/rx.md: Fix typos.
* config/rx/rx.opt: Fix typos.
* config/s390/2097.md: Fix typos.
* config/s390/s390.c: Fix typos.
* config/s390/s390.h: Fix typos.
* config/sh/sh.c: Fix typos.
* config/sh/sh.md: Fix typos.
* config/sparc/sync.md: Fix typos.
* config/spu/spu.c: Fix typos.
* config/spu/spu.md: Fix typos.
* config/vms/vms.c: Fix typos.
* config/vxworks-dummy.h: Fix typos.
* config/vxworks.h: Fix typos.
* cselib.c: Fix typos.
* df-scan.c: Fix typos.
* df.h: Fix typos.
* doc/extend.texi: Fix typos.
* doc/install.texi: Fix typos.
* doc/invoke.texi: Fix typos.
* doc/md.texi: Fix typos.
* doc/plugins.texi: Fix typos.
* doc/rtl.texi: Fix typos.
* dse.c: Fix typos.
* dwarf2asm.c: Fix typos.
* dwarf2out.c: Fix typos.
* except.h: Fix typos.
* expr.c: Fix typos.
* fold-const.c: Fix typos.
* gcc.c: Fix typos.
* gcse.c: Fix typos.
* genautomata.c: Fix typos.
* gengtype-state.c: Fix typos.
* gengtype.c: Fix typos.
* genhooks.c: Fix typos.
* gimple-fold.c: Fix typos.
* gimple-pretty-print.c: Fix typos.
* gimple.c: Fix typos.
* gimple.h: Fix typos.
* gimplify.c: Fix typos.
* graphite-interchange.c: Fix typos.
* graphite-sese-to-poly.c: Fix typos.
* ifcvt.c: Fix typos.
* input.c: Fix typos.
* ipa-cp.c: Fix typos.
* ipa-inline-analysis.c: Fix typos.
* ipa-inline-transform.c: Fix typos.
* ipa-inline.c: Fix typos.
* ipa-pure-const.c: Fix typos.
* ipa-ref.h: Fix typos.
* ipa-reference.c: Fix typos.
* ipa-utils.c: Fix typos.
* ipa.c: Fix typos.
* ira-emit.c: Fix typos.
* ira-lives.c: Fix typos.
* lto-streamer.c: Fix typos.
* lto-streamer.h: Fix typos.
* lto-wrapper.c: Fix typos.
* mcf.c: Fix typos.
* mode-switching.c: Fix typos.
* modulo-sched.c: Fix typos.
* plugin.c: Fix typos.
* postreload.c: Fix typos.
* sched-deps.c: Fix typos.
* sel-sched-ir.c: Fix typos.
* sel-sched-ir.h: Fix typos.
* sel-sched.c: Fix typos.
* sese.c: Fix typos.
* stor-layout.c: Fix typos.
* target-hooks-macros.h: Fix typos.
* target.def: Fix typos.
* trans-mem.c: Fix typos.
* tree-eh.c: Fix typos.
* tree-predcom.c: Fix typos.
* tree-sra.c: Fix typos.
* tree-ssa-address.c: Fix typos.
* tree-ssa-loop-ivopts.c: Fix typos.
* tree-ssa-loop-niter.c: Fix typos.
* tree-ssa-math-opts.c: Fix typos.
* tree-ssa-pre.c: Fix typos.
* tree-ssa-propagate.c: Fix typos.
* tree-ssa-reassoc.c: Fix typos.
* tree-ssa-sccvn.c: Fix typos.
* tree-ssa-ter.c: Fix typos.
* tree-ssa-uninit.c: Fix typos.
* tree-ssanames.c: Fix typos.
* tree-vect-generic.c: Fix typos.
* tree-vect-slp.c: Fix typos.
* tree.c: Fix typos.
* tree.h: Fix typos.
* varasm.c: Fix typos.
* varpool.c: Fix typos.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187959
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 29 May 2012 13:39:54 +0000 (13:39 +0000)]
* doc/include/texinfo.tex: Update to version 2012-05-16.16.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187956
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 29 May 2012 12:48:34 +0000 (12:48 +0000)]
2012-05-29 Richard Guenther <rguenther@suse.de>
* tree-dfa.c (find_vars_r): Do not call add_referenced_vars
for globals.
(add_referenced_var_1): Re-organize. Assert we are not
called for globals.
(remove_referenced_var): Likewise.
* varpool.c (add_new_static_var): Use create_tmp_var_raw.
* tree-mudflap.c (execute_mudflap_function_ops): Do not
call add_referenced_var on globals.
* matrix-reorg.c (transform_access_sites): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187955
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Tue, 29 May 2012 11:37:21 +0000 (11:37 +0000)]
* alias.c (reg_known_value): Make this a VEC.
(reg_known_equiv_p): Make this an sbitmap.
(reg_known_value_size): Remove.
(get_reg_known_value, set_reg_known_value, get_reg_known_equiv_p,
set_reg_known_equiv_p): Update for reg_known_value and
reg_known_value_size data structure change.
(init_alias_analysis, end_alias_analysis): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187953
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 29 May 2012 11:34:38 +0000 (11:34 +0000)]
PR middle-end/53510
* input.c (read_line): Use XRESIZEVEC instead of XNEWVEC
to avoid leaking memory. No need to handle memory allocation
failure. Double string_len on each reallocation instead of
adding 2.
* gcov.c (read_line): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187952
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 29 May 2012 10:09:51 +0000 (10:09 +0000)]
2012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
* c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
* c-opts.c (c_common_handle_option): Remove code handling
warn_missing_braces.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187948
138bc75d-0d04-0410-961f-
82ee72b054a4
dodji [Tue, 29 May 2012 09:42:39 +0000 (09:42 +0000)]
PR bootstrap/53459 - unused local typedef when building on altivec
PR bootstrap/53459
* lex.c (search_line_fast): Avoid unused local typedefs to simulate
a static assertion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187947
138bc75d-0d04-0410-961f-
82ee72b054a4
dodji [Tue, 29 May 2012 09:42:28 +0000 (09:42 +0000)]
Revert "PR bootstrap/53459 - unused local typedef when building on altivec"
This reverts commit r187853
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187946
138bc75d-0d04-0410-961f-
82ee72b054a4
dodji [Tue, 29 May 2012 09:36:29 +0000 (09:36 +0000)]
PR preprocessor/53229 - Fix diagnostics location when pasting tokens
As stated in the audit trail of this problem report, consider this
test case:
$ cat test.c
1 struct x {
2 int i;
3 };
4 struct x x;
5
6 #define TEST(X) x.##X
7
8 void foo (void)
9 {
10 TEST(i) = 0;
11 }
$
$ cc1 -quiet test.c
test.c: In function 'foo':
test.c:10:1: error: pasting "." and "i" does not give a valid preprocessing token
TEST(i) = 0;
^
$
So, when pasting tokens, the error diagnostic uses the global and
imprecise input_location variable, leading to an imprecise output.
To properly fix this, I think libcpp should keep the token of the
pasting operator '##', instead of representing it with flag on the LHS
operand's token. That way, it could use its location. Doing that
would be quite intrusive though. So this patch just uses the location
of the LHS of the pasting operator, for now. It's IMHO better than
the current situation.
The patch makes paste_tokens take a location parameter that is used in
the diagnostics. This change can still be useful later when we can
use the location of the pasting operator, because paste_tokens will
just be passed the new, more precise location.
Incidentally, it appeared that when getting tokens from within
preprocessor directives (like what is done in gcc.dg/cpp/paste12.c),
with -ftrack-macro-expansion disabled, the location of the expansion
point of macros was being lost because
cpp_reader::set_invocation_location wasn't being properly set. It's
because when cpp_get_token_1 calls enter_macro_context, there is a
little period of time between the beginning of that later function and
when the macro is really pushed (and thus when the macro is really
expanded) where we wrongly consider that we are not expanding the
macro because macro_of_context is still NULL. In that period of time,
in the occurrences of indirect recursive calls to cpp_get_token_1,
this later function wrongly sets cpp_reader::invocation_location
because cpp_reader::set_invocation_location is not being properly set.
To avoid that confusion the patch does away with
cpp_reader::set_invocation_location and introduces a new flag
cpp_reader::about_to_expand_macro_p that is set in the small time
interval exposed earlier. A new in_macro_expansion_p is introduced as
well, so that cpp_get_token_1 can now accurately detect when we are in
the process of expanding a macro, and thus correctly collect the
location of the expansion point.
People seem to like screenshots.
Thus, after the patch, we now have:
$ cc1 -quiet test.c
test.c: In function 'foo':
test.c:6:18: error: pasting "." and "i" does not give a valid preprocessing token
#define TEST(X) x.##X
^
test.c:10:3: note: in expansion of macro 'TEST'
TEST(i) = 0;
^
$
Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.
libcpp/
PR preprocessor/53229
* internal.h (cpp_reader::set_invocation_location): Remove.
(cpp_reader::about_to_expand_macro_p): New member flag.
* directives.c (do_pragma): Remove Kludge as
pfile->set_invocation_location is no more.
* macro.c (cpp_get_token_1): Do away with the use of
cpp_reader::set_invocation_location. Just collect the macro
expansion point when we are about to expand the top-most macro.
Do not override cpp_reader::about_to_expand_macro_p.
This fixes gcc.dg/cpp/paste12.c by making get_token_no_padding
properly handle locations of expansion points.
(cpp_get_token_with_location): Adjust, as
cpp_reader::set_invocation_location is no more.
(paste_tokens): Take a virtual location parameter for
the LHS of the pasting operator. Use it in diagnostics. Update
comments.
(paste_all_tokens): Tighten the assert. Propagate the location of
the expansion point when no virtual locations are available.
Pass the virtual location to paste_tokens.
(in_macro_expansion_p): New static function.
(enter_macro_context): Set the cpp_reader::about_to_expand_macro_p
flag until we really start expanding the macro.
gcc/testsuite/
PR preprocessor/53229
* gcc.dg/cpp/paste6.c: Force to run without
-ftrack-macro-expansion.
* gcc.dg/cpp/paste8.c: Likewise.
* gcc.dg/cpp/paste8-2.c: New test, like paste8.c but run with
-ftrack-macro-expansion.
* gcc.dg/cpp/paste12.c: Force to run without
-ftrack-macro-expansion.
* gcc.dg/cpp/paste12-2.c: New test, like paste12.c but run with
-ftrack-macro-expansion.
* gcc.dg/cpp/paste13.c: Likewise.
* gcc.dg/cpp/paste14.c: Likewise.
* gcc.dg/cpp/paste14-2.c: New test, like paste14.c but run with
-ftrack-macro-expansion.
* gcc.dg/cpp/paste18.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187945
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Tue, 29 May 2012 01:54:09 +0000 (01:54 +0000)]
* gcc.target/cris/torture/trap-1.c,
gcc.target/cris/torture/trap-2.c,
gcc.target/cris/torture/trap-3.c,
gcc.target/cris/torture/trap-v0.c,
gcc.target/cris/torture/trap-v3.c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187943
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Tue, 29 May 2012 01:52:16 +0000 (01:52 +0000)]
* config/cris/cris.h (TARGET_HAS_BREAK, TARGET_TRAP_USING_BREAK8):
New macros.
* config/cris/cris.md ("trap"): Define, enabled for
TARGET_TRAP_USING_BREAK8.
* config/cris/cris.opt (mtrap-using-break8): New option.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187942
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 29 May 2012 00:17:51 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187941
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 28 May 2012 17:42:29 +0000 (17:42 +0000)]
/c-family
2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/25137
* c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
-Wmissing_braces.
2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/25137
* doc/invoke.texi: Document -Wmissing-braces not enabled by -Wall
for C++.
/testsuite
2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/25137
* g++.dg/warn/Wbraces3.C: New.
* g++.dg/warn/Wbraces4.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187937
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Mon, 28 May 2012 16:05:36 +0000 (16:05 +0000)]
Fix grammo in last CL entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187936
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Mon, 28 May 2012 16:04:14 +0000 (16:04 +0000)]
* doc/md.texi (Standard Names): Fix typos in documentation for atomic patterns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187935
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Mon, 28 May 2012 15:43:42 +0000 (15:43 +0000)]
* doc/md.texi (stack_protect_test): Remove negation of
branch to label.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187934
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 28 May 2012 14:28:00 +0000 (14:28 +0000)]
PR tree-optimization/53505
* c-c++-common/torture/pr53505.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187931
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 28 May 2012 12:09:01 +0000 (12:09 +0000)]
gcc/cp
2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53503
* semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
libstdc++-v3
2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53503
* testsuite/26_numerics/headers/cmath/53503.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187928
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 28 May 2012 00:17:55 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187927
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Sun, 27 May 2012 16:25:58 +0000 (16:25 +0000)]
* tree.c (build_constructor): Propagate TREE_SIDE_EFFECTS.
testsuite/
* gcc.dg/stmt-expr-4.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187923
138bc75d-0d04-0410-961f-
82ee72b054a4
jb [Sun, 27 May 2012 07:09:15 +0000 (07:09 +0000)]
Minor timing cleanups.
2012-05-27 Janne Blomqvist <jb@gcc.gnu.org>
* intrinsics/time_1.h (gf_cputime): Don't reevaluate HZ expression
for times fallback, clarify operation ordering for times and clock
fallbacks.
(gf_gettime): Fix comment typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187922
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 27 May 2012 00:17:50 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187921
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sat, 26 May 2012 21:20:38 +0000 (21:20 +0000)]
/cp
2012-05-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53491
* tree.c (stabilize_expr): Handle exp of void type.
/testsuite
2012-05-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53491
* g++.dg/parse/crash60.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187917
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sat, 26 May 2012 21:13:23 +0000 (21:13 +0000)]
PR c++/53220
gcc/
* c-typeck.c (array_to_pointer_conversion): Give -Wc++-compat warning
about array compound literals.
gcc/cp/
* call.c (convert_like_real) [ck_list]: Take array address directly.
* typeck.c (decay_conversion): Reject decay of an array compound
literal.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187916
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 26 May 2012 13:25:55 +0000 (13:25 +0000)]
PR ada/50294
* gnat.dg/array21.adb: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187914
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 26 May 2012 12:05:24 +0000 (12:05 +0000)]
* cfgcleanup.c (try_optimize_cfg): Do not delete forwarder blocks
if CLEANUP_NO_INSN_DEL.
* cfgrtl.c (unique_locus_on_edge_between_p): New function extracted
from cfg_layout_merge_blocks.
(emit_nop_for_unique_locus_between): New function.
(rtl_merge_blocks): Invoke emit_nop_for_unique_locus_between.
(cfg_layout_merge_blocks): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187913
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 26 May 2012 11:46:53 +0000 (11:46 +0000)]
* gnat.dg/renaming5.adb: Adjust dg-final directive.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187912
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Sat, 26 May 2012 11:44:50 +0000 (11:44 +0000)]
2012-05-26 Dimitrios Apostolou <jimis@gmx.net>
Paolo Bonzini <bonzini@gnu.org>
* df-scan.c (df_def_record_1): Assert a parallel must contain an
EXPR_LIST at this point. Receive the LOC and move its extraction...
(df_defs_record): ... here. Change if-else to a switch statement.
(df_find_hard_reg_defs, df_find_hard_reg_defs_1): New.
(df_get_call_refs): Changed defs_generated from bitmap to HARD_REG_SET
and compute it from df_find_hard_reg_defs(). Record DF_REF_BASE
DEFs in REGNO order. Use HARD_REG_SET instead of bitmap for
regs_invalidated_by_call.
(df_insn_refs_collect): Record DF_REF_REGULAR DEFs after
df_get_call_refs().
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187911
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 26 May 2012 10:42:17 +0000 (10:42 +0000)]
* gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'.
(build_variant_list): Adjust to above renaming.
(gnat_to_gnu_entity) <E_Record_Subtype>: Likewise. Give a unique name
to the type of the variant containers.
(create_variant_part_from): Likewise. Give a unique name to the type
of the variant part.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187908
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 26 May 2012 00:18:49 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187906
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 25 May 2012 23:40:10 +0000 (23:40 +0000)]
/cp
2012-05-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/32054
* parser.c (cp_parser_member_declaration): A storage class is not
allowed in a declaration of an anonymous aggregate in a class scope.
/testsuite
2012-05-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/32054
* g++.dg/other/anon-union3.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187902
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 25 May 2012 21:51:39 +0000 (21:51 +0000)]
runtime: More efficient implementation of trampolines.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187899
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 25 May 2012 21:14:40 +0000 (21:14 +0000)]
compiler: Don't create a closure if not needed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187897
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 25 May 2012 20:48:19 +0000 (20:48 +0000)]
libgcc/:
* config/i386/morestack.S (__morestack_non_split): Check whether
caller is varargs and needs %bp to hold the stack frame on return.
gcc/testsuite/:
* gcc.dg/split-6.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187894
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 25 May 2012 20:26:11 +0000 (20:26 +0000)]
PR lto/52178
* tree-inline.c (remap_gimple_op_r): Fix handling of FIELD_DECL.
* tree.c (RETURN_TRUE_IF_VAR): Do not return true for PLACEHOLDER_EXPR.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187892
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Fri, 25 May 2012 20:00:58 +0000 (20:00 +0000)]
2012-05-25 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/t-linux64: Delete the 32-bit multilib that uses
software floating point emulation. No longer build the multilibs
with -mstrict-align.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187891
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 25 May 2012 18:22:01 +0000 (18:22 +0000)]
runtime: Fix cast error in print.c on 32-bit systems.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187889
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 25 May 2012 17:29:33 +0000 (17:29 +0000)]
PR obj-c++/53441
* decl.c (grokdeclarator): Check that current_class_type is non-NULL
before calling constructor_name_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187888
138bc75d-0d04-0410-961f-
82ee72b054a4
aldyh [Fri, 25 May 2012 17:14:25 +0000 (17:14 +0000)]
PR middle-end/53008
* trans-mem.c (ipa_tm_create_version_alias): Output new_node if
accessed indirectly.
(ipa_tm_create_version): Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187887
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 25 May 2012 15:09:49 +0000 (15:09 +0000)]
* decl.c: Revert unwanted commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187886
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 25 May 2012 15:07:02 +0000 (15:07 +0000)]
PR target/53474
* config/i386/i386.c (ix86_print_operand) <case 'O'>: Print '.' here.
<case 'C', case 'c', case 'F', case 'f'>: Print '.' only for C and c.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187885
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Fri, 25 May 2012 13:03:18 +0000 (13:03 +0000)]
2012-05-21 Alexander Ivchenko <alexander.ivchenko@intel.com>
PR target/53435
* config/i386/i386.c (ix86_expand_vec_perm): Use correct op.
(ix86_expand_vec_perm): Use int mode instead of float.
(expand_vec_perm_pshufb): Remove handling of useseless type
conversion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187881
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 25 May 2012 11:47:05 +0000 (11:47 +0000)]
Remove any .comment sections if the first cmp failed
PR bootstrap/53472
* contrib/compare-debug (remove_comment): New function.
Remove any .comment sections if the first cmp failed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187879
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 25 May 2012 09:57:15 +0000 (09:57 +0000)]
Fix formatting
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187875
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 25 May 2012 09:24:08 +0000 (09:24 +0000)]
PR ada/52362
* config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and
gnu_ld variables to yes.
* configure.ac (HAVE_GNU_LD): Move to after config.gcc inclusion.
(HAVE_GNU_AS): Likewise.
* config.in: Regenerate.
* configure: Likewise.
ada/
* link.c (__gnat_object_file_option): Set to "-Wl,@" for GNU linker.
(__gnat_using_gnu_linker): Delete.
* gnatlink.adb (Gnatlink): Declare Object_File_Option_Ptr here...
Declare Object_File_Option string constant and Using_GNU_response_file
boolean constant.
(Process_Binder_File): ...instead of here. Delete Using_GNU_Linker,
Opening and Closing local variables. Do not handle the GNU linker
specially.
(Write_RF): New procedure to write into the response file. Escape some
characters if a GNU response file is used. Keep track of error status.
Invoke Write_RF to write into the response file. Delete the file only
if the link was successful.
* mlib-utl.adb: Do not `with' package System.
(Gcc): Likewise. Declare Object_File_Option string constant and
Using_GNU_response_file boolean constant.
(Write_RF): Take a string instead of address and length. Escape some
characters if a GNU response file is used.
Invoke Write_RF to write into the response file. Delete the file only
if the link was successful. Do not warn if it cannot be deleted.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187874
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Fri, 25 May 2012 08:58:25 +0000 (08:58 +0000)]
gcc/
2012-05-25 Tristan Gingold <gingold@adacore.com>
* config/i386/i386.c (struct ix86_frame): Remove unused frame field.
(ix86_compute_frame_layout): Fix type of stack_alignment_needed
and preferred_alignment.
gcc/testsuite
2012-05-25 Tristan Gingold <gingold@adacore.com>
* gcc.target/i386/large-frame.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187873
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Fri, 25 May 2012 08:47:07 +0000 (08:47 +0000)]
2012-05-25 Tristan Gingold <gingold@adacore.com>
* common/config/ia64/ia64-common.c (ia64_except_unwind_info): Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187872
138bc75d-0d04-0410-961f-
82ee72b054a4
hainque [Fri, 25 May 2012 08:20:03 +0000 (08:20 +0000)]
libgcc/
* config/rs6000/vxworks/tramp.S (trampoline_setup): Use a longcall
sequence in the non pic case on VxWorks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187871
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Fri, 25 May 2012 08:04:28 +0000 (08:04 +0000)]
gcc/
* fold-const.c (optimize_bit_field_compare): Abort early in the strict
volatile bitfields case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187869
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 25 May 2012 00:17:44 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187865
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 24 May 2012 21:07:18 +0000 (21:07 +0000)]
runtime: Make runtime.Stack actually work.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187854
138bc75d-0d04-0410-961f-
82ee72b054a4
dodji [Thu, 24 May 2012 21:05:49 +0000 (21:05 +0000)]
PR bootstrap/53459 - unused local typedef when building on altivec
libcpp/
PR bootstrap/53459
* lex.c (search_line_fast): Remove unused typedef check_count.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187853
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 24 May 2012 20:47:09 +0000 (20:47 +0000)]
runtime: Correct definition of __go_file_line to match declaration.
From Rainer Orth.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187851
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 24 May 2012 20:45:37 +0000 (20:45 +0000)]
runtime: Copy runtime_printf from other Go library.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187850
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 24 May 2012 20:44:34 +0000 (20:44 +0000)]
runtime: Copy runtime_printf from other Go library.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187848
138bc75d-0d04-0410-961f-
82ee72b054a4
pthaugen [Thu, 24 May 2012 20:28:31 +0000 (20:28 +0000)]
* config/rs6000/rs6000.c (rs6000_option_override_internal): Change
rs6000_sched_costly_dep default to true_store_to_load_dep_costly.
(adjacent_mem_locations): Move some code to and call...
(get_memref_parts): ...new function.
(mem_locations_overlap): New function.
(rs6000_adjust_priority): Adjust calls to is_load_insn/is_store_insn.
(is_mem_ref): Rename to...
(find_mem_ref): ...this. Return MEM rtx.
(get_store_dest): Remove function.
(is_load_insn1, is_load_insn, is_store_insn1, is_store_insn): Add
new parameter and adjust calls.
(rs6000_is_costly_dependence): Update calls for extra arg. Make sure
mem refs overlap for true_store_to_load_dep_costly.
(rs6000_sched_reorder2): Update calls for extra arg. Adjust args
passed to adjacent_mem_locations.
(is_costly_group): Walk resolved dependency list.
(force_new_group): Emit group ending nop for Power6/Power7.
* config/rs6000/rs6000.md (UNSPEC_GRP_END_NOP): New enum value.
(group_ending_nop): New define_insn.
* gcc.target/powerpc/lhs-1.c: New.
* gcc.target/powerpc/lhs-2.c: New.
* gcc.target/powerpc/lhs-3.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187847
138bc75d-0d04-0410-961f-
82ee72b054a4
jb [Thu, 24 May 2012 20:19:37 +0000 (20:19 +0000)]
PR 53456 CPU timing fallback using clock_gettime.
2012-05-24 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/53456
* intrinsics/time_1.h (gf_cputime): Fallback for clock_gettime.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187846
138bc75d-0d04-0410-961f-
82ee72b054a4
dodji [Thu, 24 May 2012 19:37:45 +0000 (19:37 +0000)]
Make unwound macro expansion trace less redundant
As discussed previously, the unwinder for macro expansion is quite
verbose [1]. This patch proposes to address that shortcoming.
Consider this test case:
$ cat -n test.c
1 #define MYMAX(A,B) __extension__ ({ __typeof__(A) __a = (A); \
2 __typeof__(B) __b = (B); __a < __b ? __b : __a; })
3
4 struct mystruct {};
5 void
6 foo()
7 {
8 struct mystruct p;
9 float f = 0.0;
10 MYMAX (p, f);
11 }
$
The output of the compiler from trunk yields:
$ cc1 -quiet ./test.c
./test.c: In function ‘foo’:
./test.c:2:31: error: invalid operands to binary < (have ‘struct mystruct’ and ‘float’)
__typeof__(B) __b = (B); __a < __b ? __b : __a; })
^
./test.c:2:31: note: in expansion of macro 'MYMAX'
__typeof__(B) __b = (B); __a < __b ? __b : __a; })
^
./test.c:10:3: note: expanded from here
MYMAX (p, f);
^
$
After this patch, the compiler yields:
$ ./cc1 -quiet ./test.c
./test.c: In function ‘foo’:
./test.c:2:31: error: invalid operands to binary < (have ‘struct mystruct’ and ‘float’)
__typeof__(B) __b = (B); __a < __b ? __b : __a; })
^
./test.c:10:3: note: in expansion of macro 'MYMAX'
MYMAX (p, f);
^
$
The gotcha is, in the general case, we cannot simply eliminate the
context of the macro definition. That is, the line from the first
output that is redundant with the first diagnostic line that has
line/column number:
./test.c:2:31: note: in expansion of macro 'MYMAX'
__typeof__(B) __b = (B); __a < __b ? __b : __a; })
^
We cannot simply eliminate that context of macro definition because
there are cases where the first diagnostic that has a line/column
number doesn't point to a location inside the definition of the macro
where the relevant token is used. For instance:
$ cat -n test2.c
1 #define OPERATE(OPRD1, OPRT, OPRD2) \
2 OPRD1 OPRT OPRD2;
3
4 #define SHIFTL(A,B) \
5 OPERATE (A,<<,B)
6
7 #define MULT(A) \
8 SHIFTL (A,1)
9
10 void
11 g ()
12 {
13 MULT (1.0);// 1.0 << 1; <-- so this is an error.
14 }
$
Which yields without the patch:
$ cc1 -quiet ./test2.c
./test2.c: In function ‘g’:
./test2.c:5:14: error: invalid operands to binary << (have ‘double’ and ‘int’)
OPERATE (A,<<,B)
^
./test2.c:2:9: note: in expansion of macro 'OPERATE'
OPRD1 OPRT OPRD2;
^
./test2.c:5:3: note: expanded from here
OPERATE (A,<<,B)
^
./test2.c:5:14: note: in expansion of macro 'SHIFTL'
OPERATE (A,<<,B)
^
./test2.c:8:3: note: expanded from here
SHIFTL (A,1)
^
./test2.c:8:3: note: in expansion of macro 'MULT'
SHIFTL (A,1)
^
./test2.c:13:3: note: expanded from here
MULT (1.0);// 1.0 << 1; <-- so this is an error.
^
$
Here, the line that has the context of macro definition:
./test2.c:2:9: note: in expansion of macro 'OPERATE'
OPRD1 OPRT OPRD2;
^
is useful, because the first diagnostic that has line/column number
wasn't pointing into the definition of the macro OPERATE, where the
token '<<' is used.
./test2.c:5:14: error: invalid operands to binary << (have ‘double’ and ‘int’)
OPERATE (A,<<,B)
^
So in this this case, displaying the macro definition context is not
redundant. I think it is even desirable.
The patch changes the output in that case to be:
./test2.c: In function ‘g’:
./test2.c:5:14: erreur: invalid operands to binary << (have ‘double’ and ‘int’)
OPERATE (A,<<,B)
^
./test2.c:2:9: note: in definition of macro 'OPERATE'
OPRD1 OPRT OPRD2;
^
./test2.c:8:3: note: in expansion of macro 'SHIFTL'
SHIFTL (A,1)
^
./test2.c:13:3: note: in expansion of macro 'MULT'
MULT (1.0);// 1.0 << 1; <-- so this is an error.
^
$
It's shorter, but I believe it has all the information that was
present before the patch.
[1]: http://gcc.gnu.org/ml/gcc-patches/2012-05/msg00321.html
Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.
gcc/
Make unwound macro expansion trace less redundant
* tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Don't print
context of macro definition in the trace, when it's redundant.
Update comments.
gcc/testsuite/
Make unwound macro expansion trace less redundant
* gcc.dg/cpp/macro-exp-tracking-1.c: Adjust.
* gcc.dg/cpp/macro-exp-tracking-2.c: Likewise.
* gcc.dg/cpp/macro-exp-tracking-3.c: Likewise.
* gcc.dg/cpp/macro-exp-tracking-4.c: Likewise.
* gcc.dg/cpp/macro-exp-tracking-5.c: Likewise.
* gcc.dg/cpp/pragma-diagnostic-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187845
138bc75d-0d04-0410-961f-
82ee72b054a4