Dimitrios Apostolou
2375696368
gengtype-state.c (read_a_state_token): Fix argument to obstack_free.
...
* gengtype-state.c (read_a_state_token): Fix argument to
obstack_free.
* gengtype.c (matching_file_name_substitute): Likewise.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r172832
2011-04-21 08:53:43 -06:00
Richard Guenther
aa2a43d2e8
re PR debug/48703 (segfault in canonicalize_for_substitution)
...
2011-04-21 Richard Guenther <rguenther@suse.de>
PR lto/48703
* tree.c (free_lang_data_in_decl): Do not zero TREE_TYPE of
DECL_NAME.
* g++.dg/lto/pr48207-2_0.C: New testcase.
* g++.dg/lto/pr48207-3_0.C: Likewise.
From-SVN: r172830
2011-04-21 14:35:43 +00:00
Eric Botcazou
4d931f416b
* gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
...
From-SVN: r172828
2011-04-21 14:15:51 +00:00
Jakub Jelinek
3b6e9676fe
gcc_release (maybe_build_tarfile): Don't build a tarfile if the first directory doesn't exist.
...
* gcc_release (maybe_build_tarfile): Don't build a tarfile if
the first directory doesn't exist.
From-SVN: r172827
2011-04-21 15:15:02 +02:00
Richard Guenther
f103fa7a35
Makefile.in (site.exp): Do not use tmp0 but site.tmp as temporary file name.
...
2011-04-21 Richard Guenther <rguenther@suse.de>
* Makefile.in (site.exp): Do not use tmp0 but site.tmp as temporary
file name.
From-SVN: r172826
2011-04-21 13:08:58 +00:00
Richard Guenther
e19f665079
tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle MEM_REF and TARGET_MEM_REF, do not care about INDIRECT_REFs.
...
2011-04-21 Richard Guenther <rguenther@suse.de>
* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
MEM_REF and TARGET_MEM_REF, do not care about INDIRECT_REFs.
Use DECL_P, not SSA_VAR_P.
(ptr_derefs_may_alias_p): Likewise.
(ptr_deref_may_alias_ref_p_1): Likewise.
(decl_refs_may_alias_p): Likewise.
(refs_may_alias_p_1): Likewise.
(ref_maybe_used_by_call_p_1): Likewise.
(call_may_clobber_ref_p_1): Likewise.
(indirect_ref_may_alias_decl_p): Assume indirect refrences
are either MEM_REF or TARGET_MEM_REF.
(indirect_refs_may_alias_p): Likewise.
* calls.c (emit_call_1): Build a MEM_REF instead of an INDIRECT_REF
for MEM_EXPR of indirect calls.
From-SVN: r172825
2011-04-21 13:06:47 +00:00
Tristan Gingold
9d1831bb3e
vmsdbgout.c (write_srccorr): Compute file length from the string.
...
2011-04-21 Tristan Gingold <gingold@adacore.com>
* vmsdbgout.c (write_srccorr): Compute file length from the string.
(dst_file_info_struct): Remove flen field.
(lookup_filename): Remove code that set flen field.
From-SVN: r172824
2011-04-21 13:01:26 +00:00
Tristan Gingold
f199c02942
ia64.c (ia64_start_function): Add a guard.
...
2011-04-21 Tristan Gingold <gingold@adacore.com>
* config/ia64/ia64.c (ia64_start_function): Add a guard.
From-SVN: r172822
2011-04-21 12:47:17 +00:00
Uros Bizjak
2894086e18
re PR target/48708 (Invalid V2DI vector set insn generated)
...
PR target/48708
* config/i386/i386.c (ix86_expand_vector_set) <V2DImode>: Generate
vec_extract and vec_concat for non-SSE4_1 targets.
testsuite/ChangeLog:
PR target/48708
* gcc.target/i386/pr48708.c: New test.
From-SVN: r172821
2011-04-21 13:55:45 +02:00
Richard Guenther
53f94a5c18
tree-ssa-alias.c (ref_maybe_used_by_stmt_p): Handle return statements.
...
2011-04-21 Richard Guenther <rguenther@suse.de>
* tree-ssa-alias.c (ref_maybe_used_by_stmt_p): Handle
return statements.
From-SVN: r172820
2011-04-21 11:31:52 +00:00
Joseph Myers
f0dca5baf2
cygming.h (union tree_node, TREE): Don't define or undefine.
...
* config/i386/cygming.h (union tree_node, TREE): Don't define or
undefine.
(FILE): Don't undefine.
From-SVN: r172819
2011-04-21 11:50:24 +01:00
Joseph Myers
984514ac2e
alpha.c (struct machine_function): Use rtx, not struct rtx_def *.
...
* config/alpha/alpha.c (struct machine_function): Use rtx, not
struct rtx_def *.
* config/bfin/bfin.h (bfin_cc_rtx, bfin_rets_rtx): Use rtx, not
struct rtx_def *.
* config/cris/cris-protos.h (STDIO_INCLUDED): Don't define.
* config/h8300/h8300.h (struct cum_arg): Use rtx, not struct
rtx_def *.
* config/iq2000/iq2000.h (struct iq2000_args): Use rtx, not struct
rtx_def *.
* config/m32c/m32c-protos.h (MM, UINT): Don't define. Expand
definitions where used.
* config/microblaze/microblaze.h (struct microblaze_args): Use
rtx, not struct rtx_def *.
* config/pa/pa-protos.h (return_addr_rtx): Use rtx, not struct
rtx_def *.
* config/pa/pa.h (hppa_pic_save_rtx): Use rtx, not struct rtx_def
*.
* config/pdp11/pdp11.h (cc0_reg_rtx): Use rtx, not struct rtx_def
*.
* config/sh/sh-protos.h (sfunc_uses_reg, get_fpscr_rtx): Use rtx,
not struct rtx_def *.
* config/sh/sh.h (sh_compare_op0, sh_compare_op1): Use rtx, not
struct rtx_def *.
* config/spu/spu-protos.h (spu_float_const): Use rtx, not struct
rtx_def *.
* config/spu/spu.c (spu_float_const): Use rtx, not struct rtx_def
*.
From-SVN: r172818
2011-04-21 11:01:54 +01:00
Richard Sandiford
0b5a27249a
tree-vect-data-refs.c (vect_drs_dependent_in_basic_block): Use operand_equal_p to compare DR_BASE_ADDRESSes.
...
gcc/
* tree-vect-data-refs.c (vect_drs_dependent_in_basic_block): Use
operand_equal_p to compare DR_BASE_ADDRESSes.
(vect_check_interleaving): Likewise.
gcc/testsuite/
* gcc.dg/vect/vect-119.c: New test.
From-SVN: r172817
2011-04-21 09:39:57 +00:00
Richard Sandiford
5a2e560830
vect.exp: Run the main tests twice, one with -flto and once without.
...
gcc/testsuite/
* gcc.dg/vect/vect.exp: Run the main tests twice, one with -flto
and once without.
From-SVN: r172816
2011-04-21 09:39:41 +00:00
Richard Sandiford
4b18d68309
re PR target/46329 (ICE on ARM for __attribute__ ((vector_size (8 * sizeof(int)))) operations)
...
gcc/
PR target/46329
* config/arm/arm.c (arm_legitimate_constant_p_1): Return false
for all Neon struct constants.
gcc/testsuite/
2011-04-04 Richard Earnshaw <rearnsha@arm.com>
Richard Sandiford <richard.sandiford@linaro.org>
PR target/46329
* gcc.target/arm/pr46329.c: New test.
From-SVN: r172815
2011-04-21 09:39:03 +00:00
Richard Sandiford
1a627b35d3
target.def (legitimate_constant_p): New hook.
...
gcc/
* target.def (legitimate_constant_p): New hook.
* doc/tm.texi.in (LEGITIMATE_CONSTANT_P): Replace with...
(TARGET_LEGITIMATE_CONSTANT_P): ...this.
* doc/tm.texi: Regenerate.
* hooks.h (hook_bool_mode_rtx_true): Declare.
* hooks.c (hook_bool_mode_rtx_true): Define.
* system.h (LEGITIMATE_CONSTANT_P): Poison.
* calls.c (precompute_register_parameters): Replace uses of
LEGITIMATE_CONSTANT_P with targetm.legitimate_constant_p.
(emit_library_call_value_1): Likewise.
* expr.c (move_block_to_reg, can_store_by_pieces, emit_move_insn)
(compress_float_constant, emit_push_insn, expand_expr_real_1): Likewise.
* ira-costs.c (scan_one_insn): Likewise.
* recog.c (general_operand, immediate_operand): Likewise.
* reload.c (find_reloads_toplev, find_reloads_address_part): Likewise.
* reload1.c (init_eliminable_invariants): Likewise.
* config/alpha/alpha-protos.h (alpha_legitimate_constant_p): Add a
mode argument.
* config/alpha/alpha.h (LEGITIMATE_CONSTANT_P): Delete.
* config/alpha/alpha.c (alpha_legitimate_constant_p): Add a mode
argument.
(TARGET_LEGITIMATE_CONSTANT_P): Define.
* config/alpha/predicates.md (input_operand): Update call to
alpha_legitimate_constant_p.
* config/arm/arm-protos.h (arm_cannot_force_const_mem): Delete.
* config/arm/arm.h (ARM_LEGITIMATE_CONSTANT_P): Likewise.
(THUMB_LEGITIMATE_CONSTANT_P, LEGITIMATE_CONSTANT_P): Likewise.
* config/arm/arm.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
(arm_legitimate_constant_p_1, thumb_legitimate_constant_p)
(arm_legitimate_constant_p): New functions.
(arm_cannot_force_const_mem): Make static.
* config/avr/avr.h (LEGITIMATE_CONSTANT_P): Delete.
* config/bfin/bfin-protos.h (bfin_legitimate_constant_p): Delete.
* config/bfin/bfin.h (LEGITIMATE_CONSTANT_P): Delete.
* config/bfin/bfin.c (expand_move): Use targetm.legitimate_constant_p
instead of bfin_legitimate_constant_p.
(bfin_legitimate_constant_p): Make static. Add a mode argument.
(TARGET_LEGITIMATE_CONSTANT_P): Define.
* config/cris/cris.h (LEGITIMATE_CONSTANT_P): Delete.
* config/fr30/fr30.h (LEGITIMATE_CONSTANT_P): Delete.
* config/frv/frv-protos.h (frv_legitimate_constant_p): Delete.
* config/frv/frv.h (LEGITIMATE_CONSTANT_P): Delete.
* config/frv/frv.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
(frv_legitimate_constant_p): Make static. Add a mode argument.
* config/h8300/h8300-protos.h (h8300_legitimate_constant_p): Delete.
* config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Likewise.
* config/h8300/h8300.c (h8300_legitimate_constant_p): Likewise.
* config/i386/i386-protos.h (legitimate_constant_p): Delete.
* config/i386/i386.h (LEGITIMATE_CONSTANT_P): Likewise.
* config/i386/i386.c (legitimate_constant_p): Rename to...
(ix86_legitimate_constant_p): ...this. Make static. Add a mode
argument.
(ix86_cannot_force_const_mem): Update accordingly.
(ix86_legitimate_address_p): Likewise.
(TARGET_LEGITIMATE_CONSTANT_P): Define.
* config/i386/i386.md: Update commentary.
* config/ia64/ia64-protos.h (ia64_legitimate_constant_p): Delete.
* config/ia64/ia64.h (LEGITIMATE_CONSTANT_P): Likewise.
* config/ia64/ia64.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
(ia64_legitimate_constant_p): Make static. Add a mode argument.
* config/iq2000/iq2000.h (LEGITIMATE_CONSTANT_P): Delete.
* config/lm32/lm32-protos.h (lm32_legitimate_constant_p): Delete.
* config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Likewise.
* config/lm32/lm32.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
(lm32_legitimate_constant_p): Make static. Add a mode argument.
* config/m32c/m32c-protos.h (m32c_legitimate_constant_p): Delete.
* config/m32c/m32c.h (LEGITIMATE_CONSTANT_P): Likewise.
* config/m32c/m32c.c (m32c_legitimate_constant_p): Likewise.
* config/m32r/m32r.h (LEGITIMATE_CONSTANT_P): Delete.
* config/m32r/m32r.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
(m32r_legitimate_constant_p): New function.
* config/m68k/m68k-protos.h (m68k_legitimate_constant_p): Declare.
* config/m68k/m68k.h (CONSTANT_ADDRESS_P): Call it instead of
LEGITIMATE_CONSTANT_P.
(LEGITIMATE_CONSTANT_P): Delete.
* config/m68k/m68k.c (m68k_expand_prologue): Call
m68k_legitimate_constant_p instead of LEGITIMATE_CONSTANT_P.
(m68k_legitimate_constant_p): New function.
* config/m68k/m68k.md: Update comments.
* config/mcore/mcore.h (LEGITIMATE_CONSTANT_P): Delete.
* config/mcore/mcore.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
(mcore_legitimate_constant_p): New function.
* config/mep/mep-protos.h (mep_legitimate_constant_p): Delete.
* config/mep/mep.h (LEGITIMATE_CONSTANT_P): Likewise.
* config/mep/mep.c (mep_legitimate_constant_p): Make static.
Add a mode argument.
(mep_legitimate_address): Update accordingly.
(TARGET_LEGITIMATE_CONSTANT_P): Define.
* config/microblaze/microblaze-protos.h (microblaze_const_double_ok):
Delete.
* config/microblaze/microblaze.h (LEGITIMATE_CONSTANT_P): Likewise.
* config/microblaze/microblaze.c (microblaze_const_double_ok): Make
static. Check OP's mode for VOIDmode.
(microblaze_legitimate_constant_p): New function.
(TARGET_LEGITIMATE_CONSTANT_P): Define.
* config/mips/mips.h (LEGITIMATE_CONSTANT_P): Delete.
* config/mips/mips.c (mips_legitimate_constant_p): New function.
(mips_cannot_force_const_mem): Use it instead of LEGITIMATE_CONSTANT_P.
(TARGET_LEGITIMATE_CONSTANT_P): Define.
* config/mips/predicates.md: Update comments.
* config/mmix/mmix-protos.h (mmix_legitimate_constant_p): Delete.
* config/mmix/mmix.h (LEGITIMATE_CONSTANT_P): Likewise.
* config/mmix/mmix.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
(mmix_legitimate_constant_p): Make static, return a bool, and take
a mode argument.
(mmix_print_operand_address): Update accordingly.
* config/mn10300/mn10300-protos.h (mn10300_legitimate_constant_p):
Delete.
* config/mn10300/mn10300.h (LEGITIMATE_CONSTANT_P): Likewise.
* config/mn10300/mn10300.c (mn10300_legitimate_constant_p):
Make static. Add a mode argument.
(TARGET_LEGITIMATE_CONSTANT_P): Define.
* config/moxie/moxie.h (LEGITIMATE_CONSTANT_P): Delete.
* config/pa/pa.h (LEGITIMATE_CONSTANT_P): Delete.
* config/pa/pa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
(pa_legitimate_constant_p): New function.
* config/picochip/picochip.h (LEGITIMATE_CONSTANT_P): Delete.
* config/pdp11/pdp11.h (LEGITIMATE_CONSTANT_P): Delete.
* config/pdp11/pdp11.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
(pdp11_legitimate_constant_p): New function.
* config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Delete.
* config/rs6000/rs6000.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
(rs6000_legitimate_constant_p): New function.
* config/rx/rx-protos.h (rx_is_legitimate_constant): Replace with...
(rx_legitimate_constant_p): ...this.
* config/rx/rx.h (LEGITIMATE_CONSTANT_P): Delete.
* config/rx/rx.c (rx_is_legitimate_constant): Replace with...
(rx_legitimate_constant_p): ...this.
(TARGET_LEGITIMATE_CONSTANT_P): Define.
* config/rx/rx.md (mov<register_modes:mode>): Update accordingly.
* config/s390/s390-protos.h (legitimate_constant_p): Delete.
* config/s390/s390.h (LEGITIMATE_CONSTANT_P): Likewise.
* config/s390/s390.c (legitimate_constant_p): Rename to...
(s390_legitimate_constant_p): ...this. Make static, return a bool,
and add a mode argument.
(TARGET_LEGITIMATE_CONSTANT_P): Define.
* config/score/score.h (LEGITIMATE_CONSTANT_P): Delete.
* config/sh/sh.h (LEGITIMATE_CONSTANT_P): Delete.
* config/sh/sh.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
(sh_legitimate_constant_p): New function.
* config/sparc/sparc-protos.h (legitimate_constant_p): Delete.
* config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Delete.
* config/sparc/sparc.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
(legitimate_constant_p): Rename to...
(sparc_legitimate_constant_p): ...this. Make static. Add a mode
argument.
(constant_address_p): Update accordingly.
* config/spu/spu-protos.h (spu_legitimate_constant_p): Add a mode
argument and return a bool.
* config/spu/spu.h (LEGITIMATE_CONSTANT_P): Delete.
* config/spu/spu.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
(spu_legitimate_constant_p): Add a mode argument and return a bool.
(spu_rtx_costs): Update accordingly.
* config/spu/predicates.md (vec_imm_operand): Likewise.
* config/stormy16/stormy16.h (LEGITIMATE_CONSTANT_P): Delete.
* config/v850/v850.h (LEGITIMATE_CONSTANT_P): Delete.
* config/v850/v850.c (v850_legitimate_constant_p): New function.
(TARGET_LEGITIMATE_CONSTANT_P): Define.
* config/vax/vax-protos.h (legitimate_constant_p): Delete.
* config/vax/vax.h (LEGITIMATE_CONSTANT_P): Likewise.
* config/vax/vax.c (legitimate_constant_p): Likewise.
* config/xtensa/xtensa.h (LEGITIMATE_CONSTANT_P): Delete.
* config/xtensa/xtensa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
(xtensa_legitimate_constant_p): New function.
From-SVN: r172814
2011-04-21 09:38:43 +00:00
Richard Sandiford
fbbf66e77a
target.def (cannot_force_const_mem): Add a mode argument.
...
gcc/
* target.def (cannot_force_const_mem): Add a mode argument.
* doc/tm.texi.in (TARGET_CANNOT_FORCE_CONST_MEM): Update accordingly.
* doc/tm.texi: Regenerate.
* hooks.h (hook_bool_mode_rtx_false): Declare.
* hooks.c (hook_bool_mode_const_rtx_false): Fix commentary.
(hook_bool_mode_const_rtx_true): Likewise.
(hook_bool_mode_rtx_false): New function.
* reload.c (CONST_POOL_OK_P): Take a mode argument and require it
to be non-VOID. Update call to cannot_force_const_mem.
(find_reloads): Update accordingly.
* varasm.c (force_const_mem): Update call to cannot_force_const_mem.
* config/alpha/alpha.c (alpha_cannot_force_const_mem): Add a mode
argument.
* config/arm/arm-protos.h (arm_cannot_force_const_mem): Likewise.
* config/arm/arm.h (LEGITIMATE_CONSTANT_P): Update call.
* config/arm/arm.c (arm_cannot_force_const_mem): Add a mode argument.
* config/bfin/bfin.c (bfin_cannot_force_const_mem): Likewise.
* config/frv/frv.c (frv_cannot_force_const_mem): Likewise.
* config/i386/i386.c (ix86_cannot_force_const_mem): Likewise.
* config/ia64/ia64.c (ia64_cannot_force_const_mem): Likewise.
* config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
(m68k_cannot_force_const_mem): ...this new function.
* config/mips/mips.c (mips_cannot_force_const_mem): Add a mode
argument.
(mips_const_insns, mips_legitimize_const_move): Update calls.
(mips_secondary_reload_class): Likewise.
* config/pa/pa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
(pa_cannot_force_const_mem): ...this new function.
* config/rs6000/rs6000.c (TARGET_CANNOT_FORCE_CONST_MEM): Reefine
to...
(rs6000_cannot_force_const_mem): ...this new function.
* config/s390/s390.c (s390_cannot_force_const_mem): Add a mode
argument.
* config/sparc/sparc.c (sparc_cannot_force_const_mem): Likewise.
* config/xtensa/xtensa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine
to...
(xtensa_cannot_force_const_mem): ...this new function.
From-SVN: r172813
2011-04-21 09:37:44 +00:00
Tobias Burnus
e85df92e7d
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
...
2011-04-21 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* array.c (gfc_match_array_spec): Fix maximal rank(+corank) check.
2011-04-21 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* gfortran.dg/coarray_18.f90: New.
From-SVN: r172812
2011-04-21 10:29:41 +02:00
Ian Lance Taylor
470f5b53a2
Use mpfr_prec_round, not real_convert, to constraint floats.
...
From-SVN: r172811
2011-04-21 05:55:22 +00:00
Jason Merrill
fa9ef32107
semantics.c (finish_compound_literal): Don't put an array with a dtor in a static variable.
...
* semantics.c (finish_compound_literal): Don't put an array
with a dtor in a static variable.
From-SVN: r172810
2011-04-21 00:28:32 -04:00
Jason Merrill
f702927724
* call.c (build_over_call): Handle trivial dtor.
...
From-SVN: r172809
2011-04-21 00:28:25 -04:00
Jason Merrill
31603723a0
* search.c (lookup_fnfields_slot): Call complete_type.
...
From-SVN: r172808
2011-04-21 00:28:17 -04:00
Jason Merrill
8adaafcf03
re PR c++/48594 (Rejects valid with pointer-to-member in template)
...
PR c++/48594
* decl2.c (build_offset_ref_call_from_tree): Move
non-dependency of object outside condition.
From-SVN: r172807
2011-04-21 00:28:06 -04:00
GCC Administrator
8f69f5d0c9
Daily bump.
...
From-SVN: r172802
2011-04-21 00:18:21 +00:00
Nathan Froyd
b861891b12
mips.c (mips16_build_function_stub): Call build_function_type_list instead of build_function_type.
...
* config/mips/mips.c (mips16_build_function_stub): Call
build_function_type_list instead of build_function_type.
(mips16_build_call_stub): Likewise.
From-SVN: r172796
2011-04-20 20:24:31 +00:00
Nathan Froyd
34149ed568
mep.c (mep_init_builtins): Call build_function_type_list instead of build_function_type.
...
* config/mep/mep.c (mep_init_builtins): Call build_function_type_list
instead of build_function_type.
From-SVN: r172795
2011-04-20 20:22:52 +00:00
Nathan Froyd
1252641271
pa.c (pa_init_builtins): Call build_function_type_list instead of build_function_type.
...
* config/pa/pa.c (pa_init_builtins): Call build_function_type_list
instead of build_function_type.
From-SVN: r172794
2011-04-20 20:21:35 +00:00
Uros Bizjak
3b84d61f44
re PR target/48678 (unable to find a register to spill in class ‘GENERAL_REGS’)
...
PR target/48678
* config/i386/i386.md (insv): Change operand 0 constraint to
"register_operand". Change operand 1 and 2 constraint to
"const_int_operand". Expand to pinsr{b,w,d,q} * when appropriate.
* config/i386/sse.md (sse4_1_pinsrb): Export.
(sse2_pinsrw): Ditto.
(sse4_1_pinsrd): Ditto.
(sse4_1_pinsrq): Ditto.
* config/i386/i386-protos.h (ix86_expand_pinsr): Add prototype.
* config/i386/i386.c (ix86_expand_pinsr): New.
testsuite/ChangeLog:
PR target/48678
* gcc.target/i386/sse2-pinsrw.c: New test.
* gcc.target/i386/avx-vpinsrw.c: Ditto.
* gcc.target/i386/sse4_1-insvqi.c: Ditto.
* gcc.target/i386/sse2-insvhi.c: Ditto.
* gcc.target/i386/sse4_1-insvsi.c: Ditto.
* gcc.target/i386/sse4_1-insvdi.c: Ditto.
From-SVN: r172792
2011-04-20 21:58:23 +02:00
Jason Merrill
8efcbecad5
re PR c++/48657 (could not convert template argument ‘VectorDimension’ to ‘unsigned int’)
...
PR c++/48657
* decl.c (cp_finish_decl): Simplify template handling.
From-SVN: r172790
2011-04-20 15:39:02 -04:00
Easwaran Raman
4a25752bbd
cfgexpand.c (add_alias_set_conflicts): Add conflicts with a variable containing union type only with -fstrict-aliasing.
...
2011-04-20 Easwaran Raman <eraman@google.com>
* cfgexpand.c (add_alias_set_conflicts): Add conflicts with a variable
containing union type only with -fstrict-aliasing.
2011-04-20 Easwaran Raman <eraman@google.com>
* gcc.dg/stack-layout-1.c: New test.
From-SVN: r172788
2011-04-20 18:34:59 +00:00
Easwaran Raman
1809ba94d4
MAINTAINERS (Write After Approval): Add myself.
...
2011-04-20 Easwaran Raman <eraman@google.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r172787
2011-04-20 18:24:22 +00:00
Jim Meyering
046957830e
remove useless if-before-free tests
...
Change "if (E) free (E);" to "free (E);" everywhere except in the
libgo/, intl/, zlib/ and classpath/ directories.
Also transform equivalent variants like
"if (E != NULL) free (E);" and allow an extra cast on the
argument to free. Otherwise, the tested and freed "E"
expressions must be identical, modulo white space.
From-SVN: r172785
2011-04-20 18:19:03 +00:00
Jim Meyering
53eebfbf94
discourage unnecessary use of if before free
...
* README.Portability: Explain why "if (P) free (P)" is best avoided.
From-SVN: r172784
2011-04-20 18:18:43 +00:00
Jakub Jelinek
6788475ac1
re PR tree-optimization/48611 (ICE: SIGSEGV in remap_eh_region_nr (tree-inline.c:1194) with -Os -fopenmp -fexceptions -fno-tree-ccp -fno-tree-copy-prop on basic code)
...
PR tree-optimization/48611
* tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
beyond ERT_MUST_NOT_THROW region.
From-SVN: r172783
2011-04-20 20:18:16 +02:00
Tobias Burnus
8721a387af
re PR fortran/48588 (ICE (segfault) in gfc_get_nodesc_array_type)
...
2011-04-19 Tobias Burnus <burnus@net-b.de>
PR fortran/48588
PR fortran/48692
* module.c (fix_mio_expr): Commit created symbol.
From-SVN: r172782
2011-04-20 20:07:52 +02:00
Kai Tietz
c988e08f67
Fixed recent testcases for backslash hell typo.
...
From-SVN: r172781
2011-04-20 19:42:51 +02:00
Catherine Moore
0eda40338e
mips.opt (mfix-24k): New.
...
2011-04-20 Catherine Moore <clm@codesourcery.com>
* config/mips/mips.opt (mfix-24k): New.
* config/mips/mips.h (ASM_SPEC): Handle -mfix-24k.
* config/mips/mips.md (length): Increase by 4 for stores if
fixing 24K errata.
* config/mips/mips.c (mips_reorg_process_insns): Do not allow
all noreorder if fixing 24K errata.
* doc/invoke.texi: Document mfix-24k.
From-SVN: r172780
2011-04-20 12:54:32 -04:00
Chung-Lin Tang
0147574725
arm.c (arm_legitimize_reload_address): For NEON quad-word modes, reduce to 9-bit index range when above 1016 limit.
...
2011-04-20 Chung-Lin Tang <cltang@codesourcery.com>
* config/arm/arm.c (arm_legitimize_reload_address): For NEON
quad-word modes, reduce to 9-bit index range when above 1016
limit.
From-SVN: r172779
2011-04-20 16:48:28 +00:00
Daniel Jacobowitz
cfc99488e7
vect-shift-3.c, [...]: New.
...
2011-04-20 Daniel Jacobowitz <dan@codesourcery.com>
gcc/testsuite/
* gcc.dg/vect/vect-shift-3.c, gcc.dg/vect/vect-shift-4.c: New.
* lib/target-supports.exp (check_effective_target_vect_shift_char): New
function.
From-SVN: r172778
2011-04-20 16:39:37 +00:00
Andrew Stubbs
bc2c1a606a
arm.c (arm_gen_constant): Move movw support ....
...
2011-04-20 Andrew Stubbs <ams@codesourcery.com>
gcc/
* config/arm/arm.c (arm_gen_constant): Move movw support ....
(const_ok_for_op): ... to here.
From-SVN: r172777
2011-04-20 16:33:48 +00:00
Kai Tietz
583722ee58
ChangeLog gcc/
...
2011-04-20 Kai Tietz <ktietz@redhat.com>
* fold-const.c (fold_binary_loc): Add handling for
(X & ~Y) | (~X & Y) and (X && !Y) | (!X && Y) optimization
to (X ^ Y).
ChangeLog gcc/testsuite
2011-04-20 Kai Tietz <ktietz@redhat.com>
* gcc.dg/binio-xor1.c: New test.
* gcc.dg/binio-xor2.c: New test.
* gcc.dg/binio-xor3.c: New test.
* gcc.dg/binio-xor4.c: New test.
* gcc.dg/binio-xor5.c: New test.
From-SVN: r172776
2011-04-20 18:16:28 +02:00
Andrew Stubbs
422c0989b5
arm.c (arm_gen_constant): Remove redundant can_invert.
...
2011-04-20 Andrew Stubbs <ams@codesourcery.com>
gcc/
* config/arm/arm.c (arm_gen_constant): Remove redundant can_invert.
From-SVN: r172775
2011-04-20 16:14:02 +00:00
Richard Guenther
d7978bff88
re PR c/47892 (Fails to vectorize comparison code, if-conversion fails)
...
2011-04-20 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47892
* tree-if-conv.c (if_convertible_stmt_p): Const builtins
are if-convertible.
* gcc.dg/vect/fast-math-ifcvt-1.c: New testcase.
From-SVN: r172774
2011-04-20 15:50:26 +00:00
Eric Botcazou
9d12f71a54
Fix long line and tidy up
...
From-SVN: r172773
2011-04-20 15:30:47 +00:00
Eric Botcazou
818412ba52
vms.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not redefine.
...
2011-04-20 Eric Botcazou <ebotcazou@adacore.com>
* config/alpha/vms.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not redefine.
From-SVN: r172771
2011-04-20 15:00:15 +00:00
Tristan Gingold
b501ce4ebc
vms.h (LINK_SPEC): Do not use vms-dwarf2.o for gnu-ld.
...
2011-04-20 Tristan Gingold <gingold@adacore.com>
* config/alpha/vms.h (LINK_SPEC): Do not use vms-dwarf2.o for gnu-ld.
From-SVN: r172770
2011-04-20 14:30:58 +00:00
Georg-Johann Lay
516edfdd8a
re PR target/18145 (Do not emit __do_copy_data or __do_clear_bss if .data or .bss is empty.)
...
PR target/18145
* config/avr/avr.h (TARGET_ASM_INIT_SECTIONS): Delete.
(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
(ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
(TARGET_ASM_NAMED_SECTION): Change to avr_asm_named_section.
* config/avr/avr-protos.h (avr_asm_output_aligned_common):
New prototype.
* config/avr/avr.c (TARGET_ASM_INIT_SECTIONS): Define.
(avr_asm_named_section, avr_asm_output_aligned_common,
avr_output_data_section_asm_op, avr_output_bss_section_asm_op):
New functions to update...
(avr_need_clear_bss_p, avr_need_copy_data_p): ...these new variables.
(avr_asm_init_sections): Overwrite section callbacks for
data_section, bss_section.
(avr_file_start): Move output of __do_copy_data, __do_clear_bss
from here to...
(avr_file_end): ...here.
From-SVN: r172769
2011-04-20 13:38:05 +00:00
Richard Guenther
dafc951101
re PR rtl-optimization/48695 (Runtime with an array of std::vectors)
...
2011-04-20 Richard Guenther <rguenther@suse.de>
PR middle-end/48695
* tree-ssa-alias.c (aliasing_component_refs_p): Compute base
objects and types here. Adjust for their offset before
comparing.
* g++.dg/torture/pr48695.C: New testcase.
From-SVN: r172768
2011-04-20 13:11:06 +00:00
Richard Sandiford
d72dd5f9ec
Revert accidental commit.
...
From-SVN: r172764
2011-04-20 09:28:48 +00:00
Richard Sandiford
267d3070f7
Revert last patch.
...
From-SVN: r172763
2011-04-20 09:25:42 +00:00