OSDN Git Service

pf3gnuchains/gcc-fork.git
13 years ago PR c/48716
jakub [Fri, 22 Apr 2011 14:10:45 +0000 (14:10 +0000)]
PR c/48716
* gimplify.c (gimplify_bind_expr): Mark as GOVD_LOCAL also
TREE_STATIC variables declared inside of some OpenMP construct.

* gcc.dg/gomp/pr48716.c: New test.
* g++.dg/gomp/pr48716.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172859 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-22 Martin Jambor <mjambor@suse.cz>
jamborm [Fri, 22 Apr 2011 12:52:30 +0000 (12:52 +0000)]
2011-04-22  Martin Jambor  <mjambor@suse.cz>

PR middle-end/48585
* tree-inline.c (copy_bb): Create new edges only for analyzed
nodes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172858 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c/36750
amonakov [Fri, 22 Apr 2011 11:53:01 +0000 (11:53 +0000)]
PR c/36750
* c-typeck.c (pop_init_level): Do not warn about initializing
with ` = {0}'.

testsuite:
* gcc.dg/missing-field-init-2.c: Update testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172857 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agomissed hunk from last commit
amodra [Fri, 22 Apr 2011 04:19:40 +0000 (04:19 +0000)]
missed hunk from last commit
* config/rs6000/rs6000.c (rs6000_function_arg): Remove CALL_LIBCALL
when returning call_cookie.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172856 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
amodra [Fri, 22 Apr 2011 03:58:15 +0000 (03:58 +0000)]
gcc/
* config/rs6000/rs6000.c (rs6000_function_arg): Remove CALL_LIBCALL
when returning call_cookie.
(rs6000_function_ok_for_sibcall): Allow sibcalls via function
pointers, to functions with no more vector args than the current
function, and some non-local calls for ABI_V4.
* config/rs6000/rs6000.md (sibcall_nonlocal_aix32,
sibcall_nonlocal_aix64): Combine to ..
(sibcall_nonlocal_aix<mode>): ..this.  Handle function pointer calls.
(sibcall_value_nonlocal_aix32, sibcall_value_nonlocal_aix64): Combine..
(sibcall_value_nonlocal_aix<mode>): ..likewise.
(*sibcall_nonlocal_sysv<mode>): Handle function pointer calls.
(sibcall_value_nonlocal_sysv<mode>): Likewise.  Correct call cookie
operand.
* config/rs6000/darwin.md (sibcall_nonlocal_darwin64,
sibcall_value_nonlocal_darwin64, sibcall_symbolic_64,
sibcall_value_symbolic_64): Delete.
gcc/testsuite/
* gcc.target/powerpc/ppc-pow.c: Allow for tail calls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172855 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * MAINTAINERS: Update my email address.
jiez [Fri, 22 Apr 2011 02:30:57 +0000 (02:30 +0000)]
* MAINTAINERS: Update my email address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172854 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Fri, 22 Apr 2011 00:17:59 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172853 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoRemove cgraph pid
davidxl [Fri, 22 Apr 2011 00:03:41 +0000 (00:03 +0000)]
Remove cgraph pid

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172848 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * godump.c (go_format_type): Use exported Go name for anonymous
ian [Thu, 21 Apr 2011 23:38:34 +0000 (23:38 +0000)]
* godump.c (go_format_type): Use exported Go name for anonymous
field name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172847 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDefine go_assert to replace gcc_assert
ian [Thu, 21 Apr 2011 22:54:23 +0000 (22:54 +0000)]
Define go_assert to replace gcc_assert

This is defined in go-system.h in the backend.

* go-system.h (go_assert, go_unreachable): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172846 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago*Changelog: Remove gcc/ prefix from a changelog entry.
eraman [Thu, 21 Apr 2011 20:37:35 +0000 (20:37 +0000)]
*Changelog: Remove gcc/ prefix from a changelog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172845 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * objc-act.c (synth_module_prologue): Call build_function_type_list
froydnj [Thu, 21 Apr 2011 20:29:55 +0000 (20:29 +0000)]
* objc-act.c (synth_module_prologue): Call build_function_type_list
instead of build_function_type.
* objc-next-runtime-abi-02.c (next_runtime_02_initialize):
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172844 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/frv/frv.c (frv_init_builtins): Delete `endlink' variable.
froydnj [Thu, 21 Apr 2011 20:14:21 +0000 (20:14 +0000)]
* config/frv/frv.c (frv_init_builtins): Delete `endlink' variable.
Call builtin_function_type_list instead of builtin_function_type.
(UNARY, BINARY, TRINARY, QUAD): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172842 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/arm/arm.c (arm_init_iwmmxt_builtins): Call
froydnj [Thu, 21 Apr 2011 20:13:17 +0000 (20:13 +0000)]
* config/arm/arm.c (arm_init_iwmmxt_builtins): Call
build_function_type_list instead of build_function_type.
Delete variable `endlink'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172841 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/s390/s390.c (s390_init_builtins): Call
froydnj [Thu, 21 Apr 2011 20:12:07 +0000 (20:12 +0000)]
* config/s390/s390.c (s390_init_builtins): Call
build_function_type_list instead of build_function_type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172840 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/ia64/ia64.c (ia64_init_builtins): Call
froydnj [Thu, 21 Apr 2011 20:11:12 +0000 (20:11 +0000)]
* config/ia64/ia64.c (ia64_init_builtins): Call
build_function_type_list instead of builtin_function_type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172839 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-21 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Thu, 21 Apr 2011 19:23:34 +0000 (19:23 +0000)]
2011-04-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/48405
* frontend_passes (cfe_register_funcs): Remove workaround for DO
loops.
(gfc_code_walker):  Make sure the pointer to the current
statement doen't change when other statements are inserted.

2011-04-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/48405
* gfortran.dg/function_optimize_6.f90:  New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172838 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-21 Easwaran Raman <eraman@google.com>
eraman [Thu, 21 Apr 2011 19:16:57 +0000 (19:16 +0000)]
2011-04-21  Easwaran Raman  <eraman@google.com>

* gcc/cfgexpand.c (stack_var): Remove OFFSET...
(add_stack_var): ...and its reference here...
(expand_stack_vars): ...and here.
(stack_var_cmp): Sort by descending order of size.
(partition_stack_vars): Change heuristic.
(union_stack_vars): Fix to reflect changes in
partition_stack_vars.
(dump_stack_var_partition): Add newline after each partition.

testsuite/Changelog:

2011-04-21  Easwaran Raman  <eraman@google.com>

* gcc.dg/stack-layout-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172837 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * de.po: Update.
jsm28 [Thu, 21 Apr 2011 17:02:17 +0000 (17:02 +0000)]
* de.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172835 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
ebotcazou [Thu, 21 Apr 2011 16:38:49 +0000 (16:38 +0000)]
* gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
(NO_REORDER_ADAFLAGS): New variable.
(EXTRA_GNATTOOLS): Always define.
(../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
Clean up and adjust list of files compiled with special options.
* gcc-interface/Make-lang.in: Likewise.
(ada/decl.o): Cosmetical change.
(ada/misc.o): Remove dependency on $(PLUGIN_H).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172834 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gengtype-state.c (read_a_state_token): Fix argument to
law [Thu, 21 Apr 2011 14:53:43 +0000 (14:53 +0000)]
* gengtype-state.c (read_a_state_token): Fix argument to
obstack_free.
* gengtype.c (matching_file_name_substitute): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172832 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-21 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 21 Apr 2011 14:35:43 +0000 (14:35 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172830 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
ebotcazou [Thu, 21 Apr 2011 14:15:51 +0000 (14:15 +0000)]
* gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172828 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc_release (maybe_build_tarfile): Don't build a tarfile if
jakub [Thu, 21 Apr 2011 13:15:02 +0000 (13:15 +0000)]
* gcc_release (maybe_build_tarfile): Don't build a tarfile if
the first directory doesn't exist.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172827 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-21 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 21 Apr 2011 13:08:58 +0000 (13:08 +0000)]
2011-04-21  Richard Guenther  <rguenther@suse.de>

* Makefile.in (site.exp): Do not use tmp0 but site.tmp as temporary
file name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172826 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-21 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 21 Apr 2011 13:06:47 +0000 (13:06 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172825 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-21 Tristan Gingold <gingold@adacore.com>
gingold [Thu, 21 Apr 2011 13:01:26 +0000 (13:01 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172824 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-21 Tristan Gingold <gingold@adacore.com>
gingold [Thu, 21 Apr 2011 12:47:17 +0000 (12:47 +0000)]
2011-04-21  Tristan Gingold  <gingold@adacore.com>

* config/ia64/ia64.c (ia64_start_function): Add a guard.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172822 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/48708
uros [Thu, 21 Apr 2011 11:55:45 +0000 (11:55 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172821 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-21 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 21 Apr 2011 11:31:52 +0000 (11:31 +0000)]
2011-04-21  Richard Guenther  <rguenther@suse.de>

* tree-ssa-alias.c (ref_maybe_used_by_stmt_p): Handle
return statements.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172820 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/cygming.h (union tree_node, TREE): Don't define or
jsm28 [Thu, 21 Apr 2011 10:50:24 +0000 (10:50 +0000)]
* config/i386/cygming.h (union tree_node, TREE): Don't define or
undefine.
(FILE): Don't undefine.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172819 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/alpha/alpha.c (struct machine_function): Use rtx, not
jsm28 [Thu, 21 Apr 2011 10:01:54 +0000 (10:01 +0000)]
* 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
*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172818 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Thu, 21 Apr 2011 09:39:57 +0000 (09:39 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172817 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/testsuite/
rsandifo [Thu, 21 Apr 2011 09:39:41 +0000 (09:39 +0000)]
gcc/testsuite/
* gcc.dg/vect/vect.exp: Run the main tests twice, one with -flto
and once without.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172816 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Thu, 21 Apr 2011 09:39:03 +0000 (09:39 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172815 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Thu, 21 Apr 2011 09:38:43 +0000 (09:38 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172814 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Thu, 21 Apr 2011 09:37:44 +0000 (09:37 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172813 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-21 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 21 Apr 2011 08:29:41 +0000 (08:29 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172812 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoUse mpfr_prec_round, not real_convert, to constraint floats.
ian [Thu, 21 Apr 2011 05:55:22 +0000 (05:55 +0000)]
Use mpfr_prec_round, not real_convert, to constraint floats.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172811 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * semantics.c (finish_compound_literal): Don't put an array
jason [Thu, 21 Apr 2011 04:28:32 +0000 (04:28 +0000)]
* semantics.c (finish_compound_literal): Don't put an array
with a dtor in a static variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172810 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * call.c (build_over_call): Handle trivial dtor.
jason [Thu, 21 Apr 2011 04:28:25 +0000 (04:28 +0000)]
* call.c (build_over_call): Handle trivial dtor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172809 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * search.c (lookup_fnfields_slot): Call complete_type.
jason [Thu, 21 Apr 2011 04:28:17 +0000 (04:28 +0000)]
* search.c (lookup_fnfields_slot): Call complete_type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172808 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/48594
jason [Thu, 21 Apr 2011 04:28:06 +0000 (04:28 +0000)]
PR c++/48594
* decl2.c (build_offset_ref_call_from_tree): Move
non-dependency of object outside condition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172807 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Thu, 21 Apr 2011 00:18:21 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172802 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/mips/mips.c (mips16_build_function_stub): Call
froydnj [Wed, 20 Apr 2011 20:24:31 +0000 (20:24 +0000)]
* config/mips/mips.c (mips16_build_function_stub): Call
build_function_type_list instead of build_function_type.
(mips16_build_call_stub): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172796 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/mep/mep.c (mep_init_builtins): Call build_function_type_list
froydnj [Wed, 20 Apr 2011 20:22:52 +0000 (20:22 +0000)]
* config/mep/mep.c (mep_init_builtins): Call build_function_type_list
instead of build_function_type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172795 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/pa/pa.c (pa_init_builtins): Call build_function_type_list
froydnj [Wed, 20 Apr 2011 20:21:35 +0000 (20:21 +0000)]
* config/pa/pa.c (pa_init_builtins): Call build_function_type_list
instead of build_function_type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172794 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/48678
uros [Wed, 20 Apr 2011 19:58:23 +0000 (19:58 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172792 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/48657
jason [Wed, 20 Apr 2011 19:39:02 +0000 (19:39 +0000)]
PR c++/48657
* decl.c (cp_finish_decl): Simplify template handling.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172790 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-20 Easwaran Raman <eraman@google.com>
eraman [Wed, 20 Apr 2011 18:34:59 +0000 (18:34 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172788 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-20 Easwaran Raman <eraman@google.com>
eraman [Wed, 20 Apr 2011 18:24:22 +0000 (18:24 +0000)]
2011-04-20  Easwaran Raman  <eraman@google.com>

* MAINTAINERS (Write After Approval): Add myself.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172787 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoremove useless if-before-free tests
meyering [Wed, 20 Apr 2011 18:19:03 +0000 (18:19 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172785 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agodiscourage unnecessary use of if before free
meyering [Wed, 20 Apr 2011 18:18:43 +0000 (18:18 +0000)]
discourage unnecessary use of if before free

* README.Portability: Explain why "if (P) free (P)" is best avoided.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172784 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR tree-optimization/48611
jakub [Wed, 20 Apr 2011 18:18:16 +0000 (18:18 +0000)]
PR tree-optimization/48611
* tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
beyond ERT_MUST_NOT_THROW region.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172783 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-19 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 20 Apr 2011 18:07:52 +0000 (18:07 +0000)]
2011-04-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48588
        PR fortran/48692

        * module.c (fix_mio_expr): Commit created symbol.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172782 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFixed recent testcases for backslash hell typo.
ktietz [Wed, 20 Apr 2011 17:42:51 +0000 (17:42 +0000)]
Fixed recent testcases for backslash hell typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172781 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-20 Catherine Moore <clm@codesourcery.com>
clm [Wed, 20 Apr 2011 16:54:32 +0000 (16:54 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172780 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-20 Chung-Lin Tang <cltang@codesourcery.com>
cltang [Wed, 20 Apr 2011 16:48:28 +0000 (16:48 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172779 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-20 Daniel Jacobowitz <dan@codesourcery.com>
ams [Wed, 20 Apr 2011 16:39:37 +0000 (16:39 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172778 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-20 Andrew Stubbs <ams@codesourcery.com>
ams [Wed, 20 Apr 2011 16:33:48 +0000 (16:33 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172777 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoChangeLog gcc/
ktietz [Wed, 20 Apr 2011 16:16:28 +0000 (16:16 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172776 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-20 Andrew Stubbs <ams@codesourcery.com>
ams [Wed, 20 Apr 2011 16:14:02 +0000 (16:14 +0000)]
2011-04-20  Andrew Stubbs  <ams@codesourcery.com>

gcc/
* config/arm/arm.c (arm_gen_constant): Remove redundant can_invert.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172775 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-20 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 20 Apr 2011 15:50:26 +0000 (15:50 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172774 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix long line and tidy up
ebotcazou [Wed, 20 Apr 2011 15:30:47 +0000 (15:30 +0000)]
Fix long line and tidy up

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172773 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoRemove empty directory.
ian [Wed, 20 Apr 2011 15:25:37 +0000 (15:25 +0000)]
Remove empty directory.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172772 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-20 Eric Botcazou <ebotcazou@adacore.com>
gingold [Wed, 20 Apr 2011 15:00:15 +0000 (15:00 +0000)]
2011-04-20  Eric Botcazou  <ebotcazou@adacore.com>

        * config/alpha/vms.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not redefine.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172771 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-20 Tristan Gingold <gingold@adacore.com>
gingold [Wed, 20 Apr 2011 14:30:58 +0000 (14:30 +0000)]
2011-04-20  Tristan Gingold  <gingold@adacore.com>

* config/alpha/vms.h (LINK_SPEC): Do not use vms-dwarf2.o for gnu-ld.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172770 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/18145
gjl [Wed, 20 Apr 2011 13:38:05 +0000 (13:38 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172769 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-20 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 20 Apr 2011 13:11:06 +0000 (13:11 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172768 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoRevert accidental commit.
rsandifo [Wed, 20 Apr 2011 09:28:48 +0000 (09:28 +0000)]
Revert accidental commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172764 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoRevert last patch.
rsandifo [Wed, 20 Apr 2011 09:25:42 +0000 (09:25 +0000)]
Revert last patch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172763 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * bootstrap-lto.mk: Remove obsolete requirement.
ebotcazou [Wed, 20 Apr 2011 09:24:48 +0000 (09:24 +0000)]
* bootstrap-lto.mk: Remove obsolete requirement.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172761 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Wed, 20 Apr 2011 09:10:36 +0000 (09:10 +0000)]
gcc/
* doc/md.texi (vec_load_lanes, vec_store_lanes): Document.
* optabs.h (COI_vec_load_lanes, COI_vec_store_lanes): New
convert_optab_index values.
(vec_load_lanes_optab, vec_store_lanes_optab): New convert optabs.
* genopinit.c (optabs): Initialize the new optabs.
* internal-fn.def (LOAD_LANES, STORE_LANES): New internal functions.
* internal-fn.c (get_multi_vector_move, expand_LOAD_LANES)
(expand_STORE_LANES): New functions.
* tree.h (build_array_type_nelts): Declare.
* tree.c (build_array_type_nelts): New function.
* tree-vectorizer.h (vect_model_store_cost): Add a bool argument.
(vect_model_load_cost): Likewise.
(vect_store_lanes_supported, vect_load_lanes_supported)
(vect_record_strided_load_vectors): Declare.
* tree-vect-data-refs.c (vect_lanes_optab_supported_p)
(vect_store_lanes_supported, vect_load_lanes_supported): New functions.
(vect_transform_strided_load): Split out statement recording into...
(vect_record_strided_load_vectors): ...this new function.
* tree-vect-stmts.c (create_vector_array, read_vector_array)
(write_vector_array, create_array_ref): New functions.
(vect_model_store_cost): Add store_lanes_p argument.
(vect_model_load_cost): Add load_lanes_p argument.
(vectorizable_store): Try to use store-lanes functions for
interleaved stores.
(vectorizable_load): Likewise load-lanes and loads.
* tree-vect-slp.c (vect_get_and_check_slp_defs)
(vect_build_slp_tree):

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172760 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Wed, 20 Apr 2011 08:23:03 +0000 (08:23 +0000)]
gcc/
* tree-vect-stmts.c (vectorizable_store): Only chain one related
statement per copy.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172759 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
rsandifo [Wed, 20 Apr 2011 08:21:25 +0000 (08:21 +0000)]
gcc/
* Makefile.in (INTERNAL_FN_DEF, INTERNAL_FN_H): Define.
(GIMPLE_H): Include $(INTERNAL_FN_H).
(OBJS-common): Add internal-fn.o.
(internal-fn.o): New rule.
* internal-fn.def: New file.
* internal-fn.h: Likewise.
* internal-fn.c: Likewise.
* gimple.h: Include internal-fn.h.
(GF_CALL_INTERNAL): New gf_mask.
(gimple_statement_call): Put fntype into a union with a new
internal_fn field.
(gimple_build_call_internal): Declare.
(gimple_build_call_internal_vec): Likewise.
(gimple_call_same_target_p): Likewise.
(gimple_call_internal_p): New function.
(gimple_call_internal_fn): Likewise.
(gimple_call_fntype): Return null for internal calls.
(gimple_call_set_fntype): Assert that the function is not internal.
(gimple_call_set_fn): Likewise.
(gimple_call_set_fndecl): Likewise.
(gimple_call_set_internal_fn): New function.
(gimple_call_addr_fndecl): Handle null functions.
(gimple_call_return_type): Likewise null types.
* gimple.c (gimple_build_call_internal_1): New function.
(gimple_build_call_internal): Likewise.
(gimple_build_call_internal_vec): Likewise.
(gimple_call_same_target_p): Likewise.
(gimple_call_flags): Handle calls to internal functions.
(gimple_call_fnspec): New function.
(gimple_call_arg_flags, gimple_call_return_flags): Use it.
(gimple_has_side_effects): Handle null functions.
(gimple_rhs_has_side_effects): Likewise.
(gimple_call_copy_skip_args): Handle calls to internal functions.
* cfgexpand.c (expand_call_stmt): Likewise.
* expr.c (expand_expr_real_1): Assert that the call isn't internal.
* gimple-fold.c (gimple_fold_call): Handle null functions.
(gimple_fold_stmt_to_constant_1): Don't fold
calls to internal functions.
* gimple-low.c (gimple_check_call_args): Handle calls to internal
functions.
* gimple-pretty-print.c (dump_gimple_call): Likewise.
* ipa-prop.c (ipa_analyze_call_uses): Handle null functions.
* tree-cfg.c (verify_gimple_call): Handle calls to internal functions.
(do_warn_unused_result): Likewise.
* tree-eh.c (same_handler_p): Use gimple_call_same_target_p.
* tree-ssa-ccp.c (ccp_fold_stmt): Handle calls to internal functions.
* tree-ssa-dom.c (hashable_expr): Use the gimple statement to record
the target of a call.
(initialize_hash_element): Update accordingly.
(hashable_expr_equal_p): Use gimple_call_same_target_p.
(iterative_hash_hashable_expr): Handle calls to internal functions.
(print_expr_hash_elt): Likewise.
* tree-ssa-pre.c (can_value_number_call): Likewise.
(eliminate): Handle null functions.
* tree-ssa-sccvn.c (visit_use): Handle calls to internal functions.
* tree-ssa-structalias.c (get_fi_for_callee): Likewise.
(find_func_aliases): Likewise.
* value-prof.c (gimple_ic_transform): Likewise.
(gimple_indirect_call_to_profile): Likewise.
* lto-streamer-in.c (input_gimple_stmt): Likewise.
* lto-streamer-out.c (output_gimple_stmt): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172758 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc.dg/pr42629.c: Add dg-require-effective-target int32plus
gjl [Wed, 20 Apr 2011 06:33:01 +0000 (06:33 +0000)]
* gcc.dg/pr42629.c: Add dg-require-effective-target int32plus
* gcc.c-torture/execute/cmpsi-2.c: Ditto
* gcc.c-torture/execute/pr45262.c: Ditto
* gcc.dg/torture/pr43165.c: Ditto.
* gcc.dg/torture/pr47228.c: Ditto.
* gcc.dg/tree-ssa/pr45144.c: Ditto.
* gcc.dg/ipa/pr45644.c: Ditto.
* gcc.c-torture/compile/pr43191.c: Ditto. Remove dg-skip-if for
PDP11.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172757 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/46304
jason [Wed, 20 Apr 2011 06:30:41 +0000 (06:30 +0000)]
PR c++/46304
* typeck.c (cp_build_binary_op): Fold COMPLEX_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172754 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Wed, 20 Apr 2011 04:18:25 +0000 (04:18 +0000)]
2011-04-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/48602
* io/write_float.def (output_float_FMT_G): Fix reversal in conditional.
Use asm volatile to mark temp variable, avoiding optimization errors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172753 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * ipa-inline-transform.c (save_inline_function_body): Add comments.
hubicka [Wed, 20 Apr 2011 01:04:51 +0000 (01:04 +0000)]
* ipa-inline-transform.c (save_inline_function_body): Add comments.
* ipa-inline.c (inline_small_functions): Compute summaries first, populate
heap later.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172751 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Wed, 20 Apr 2011 00:18:18 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172750 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/45267
jason [Wed, 20 Apr 2011 00:06:19 +0000 (00:06 +0000)]
PR c++/45267
* decl.c (duplicate_decls): Keep always_inline attribute
in sync with DECL_DISREGARD_INLINE_LIMITS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172744 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agostatement.cc no longer includes gcc headers.
ian [Tue, 19 Apr 2011 23:26:19 +0000 (23:26 +0000)]
statement.cc no longer includes gcc headers.

* go-system.h: Include "intl.h".
* Make-lang.in (GO_SYSTEM_H): Add intl.h.
(go/statements.o): Remove dependencies on intl.h $(TREE_H)
$(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172743 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoChange general statement method to always use backend interface.
ian [Tue, 19 Apr 2011 22:30:46 +0000 (22:30 +0000)]
Change general statement method to always use backend interface.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172740 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * cgraph.h (save_inline_function_body): Remove.
hubicka [Tue, 19 Apr 2011 22:28:54 +0000 (22:28 +0000)]
* cgraph.h (save_inline_function_body): Remove.
* ipa-inline-transform.c: New file, broke out of...
* ipa-inline.c: ... this one; Update toplevel comment.
(ncalls_inlined, nfunctions_inlined): Move to ipa-inline-transform.c;
make global.
(update_noncloned_frequencies): Move to ipa-inline-transform.c
(cgraph_mark_inline_edge): Rename to inline_call; move to
ipa-inline-transform.c.
(cgraph_clone_inlined_nodes): Rename to clone_inlined_nodes;
move to ipa-inline-transform.c
(recursive_inlining, inline_small_functions, flatten_function,
ipa_inline, inline_always_inline_functions,
early_inline_small_functions): Update.
(inline_transform): Move to ipa-inline-transform.c.
* ipa-inline.h (inline_call, inline_transform, clone_inlined_nodes):
Declare.
* Makefile.in (ipa-inline-transform.o): New file.
* cgraphunit.c (save_inline_function_body): Move to
ipa-inline-transform.c

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172739 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR testsuite/48676
kkojima [Tue, 19 Apr 2011 21:58:41 +0000 (21:58 +0000)]
PR testsuite/48676
* gcc.dg/torture/pr37868.c: Skip on sh*-*-*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172738 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoUse backend interface for temporary variables.
ian [Tue, 19 Apr 2011 21:52:41 +0000 (21:52 +0000)]
Use backend interface for temporary variables.

* go-gcc.cc (Gcc_backend::temporary_variable): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172737 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago* config/m32c/m32c.c (m32c_emit_epilogue): Don't try to push
dj [Tue, 19 Apr 2011 20:37:11 +0000 (20:37 +0000)]
* config/m32c/m32c.c (m32c_emit_epilogue): Don't try to push
registers if we already know there aren't any.
(m32c_emit_epilogue): Don't emit a barrier here.
(m32c_emit_eh_epilogue): Likewise.
* config/m32c/blkmov.md (movstr): Don't fail on wrong-type
operands at expand time.
* config/m32c/m32c.h (WCHAR_TYPE_SIZE): Change to 4 to match "long
int" wchar type.
(REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): Remove
duplicates.  Provide aliases instead.
* config/m32c/prologue.md (eh_return): Emit a barrier here.
(eh_epilogue): Add a "(return)" here as a hint to other parts of
the compiler.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172735 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/sparc/sparc.h (GENERAL_OR_I64, REGISTER_MOVE_COST): Remove.
aesok [Tue, 19 Apr 2011 18:23:23 +0000 (18:23 +0000)]
* config/sparc/sparc.h (GENERAL_OR_I64, REGISTER_MOVE_COST): Remove.
* config/sparc/sparc.c (TARGET_REGISTER_MOVE_COST): Define.
(general_or_i64_p, sparc_register_move_cost): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172732 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoUse backend interface for blocks.
ian [Tue, 19 Apr 2011 18:20:05 +0000 (18:20 +0000)]
Use backend interface for blocks.

* go-gcc.cc (class Bblock): Define.
(Gcc_backend::if_statement): Change then_block and else_block to
Bblock*.
(Gcc_backend::block): New function.
(Gcc_backend::block_add_statements): New function.
(Gcc_backend::block_statement): New function.
(tree_to_block, block_to_tree): New functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172731 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoUse XCNEWVAR instead of xcalloc
jb [Tue, 19 Apr 2011 18:18:08 +0000 (18:18 +0000)]
Use XCNEWVAR instead of xcalloc

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172730 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoUse XDELETEVEC instead of free
jb [Tue, 19 Apr 2011 17:57:05 +0000 (17:57 +0000)]
Use XDELETEVEC instead of free

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172729 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoReplace gfc_getmem with XCNEW, XCNEWVEC or xcalloc
jb [Tue, 19 Apr 2011 17:42:51 +0000 (17:42 +0000)]
Replace gfc_getmem with XCNEW, XCNEWVEC or xcalloc

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172728 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago gcc:
ro [Tue, 19 Apr 2011 17:22:28 +0000 (17:22 +0000)]
gcc:
* doc/install.texi (Configuration, --enable-threads): Remove mach.
Add lynx, mipssde.
Sort table.

boehm-gc:
* configure.ac (THREADS): Remove decosf1, irix, mach, os2.
* configure: Regenerate

libjava:
* configure.ac (THREADS): Remove decosf1, irix, mach, os2.
* configure: Regenerate

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172726 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agorevert 172213 and add assertion
davidxl [Tue, 19 Apr 2011 16:48:40 +0000 (16:48 +0000)]
revert 172213 and add assertion

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172722 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/48678
jakub [Tue, 19 Apr 2011 16:47:06 +0000 (16:47 +0000)]
PR target/48678
* config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
is a SUBREG with non-MODE_INT mode inside of it.

* gcc.target/i386/pr48678.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172721 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-19 Martin Jambor <mjambor@suse.cz>
jamborm [Tue, 19 Apr 2011 16:35:33 +0000 (16:35 +0000)]
2011-04-19  Martin Jambor  <mjambor@suse.cz>

* ipa-cp.c (ipcp_process_devirtualization_opportunities): Devirtualize
also according to actual contants.
* gimple-fold.c (gimple_extract_devirt_binfo_from_cst): New function.
(gimple_fold_call): Use it.
* gimple.h (gimple_extract_devirt_binfo_from_cst): Declare.

* testsuite/g++.dg/opt/devirt1.C: Bump to -O2, remove XFAIL.
* testsuite/g++.dg/opt/devirt2.C: New test.
* testsuite/g++.dg/ipa/devirt-g-1.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172719 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-19 Tobias Burnus <burnus@net-b.de>
burnus [Tue, 19 Apr 2011 16:26:13 +0000 (16:26 +0000)]
2011-04-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48588
        * parse.c (resolve_all_program_units): Skip modules.
        (translate_all_program_units): Handle modules.
        (gfc_parse_file): Defer code generation for modules.

2011-04-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48588
        * gfortran.dg/whole_file_33.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172718 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-19 Martin Jambor <mjambor@suse.cz>
jamborm [Tue, 19 Apr 2011 16:19:13 +0000 (16:19 +0000)]
2011-04-19  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (stmt_may_be_vtbl_ptr_store): Return false for scalar
non-pointer assignments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172717 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-19 Martin Jambor <mjambor@suse.cz>
jamborm [Tue, 19 Apr 2011 16:15:08 +0000 (16:15 +0000)]
2011-04-19  Martin Jambor  <mjambor@suse.cz>

* ipa-cp.c (ipcp_process_devirtualization_opportunities): Take into
account anc_offset and otr_type from the indirect edge info.
* ipa-prop.c (get_ancestor_addr_info): New function.
(compute_complex_ancestor_jump_func): Assignment analysis moved to
get_ancestor_addr_info, call it.
(ipa_note_param_call): Do not initialize information about polymorphic
calls, return the indirect call graph edge.  Remove the last
parameter, adjust all callers.
(ipa_analyze_virtual_call_uses): Process also calls to ancestors of
parameters.  Initialize polymorphic information in the indirect edge.

* testsuite/g++.dg/ipa/devirt-7.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172716 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-04-19 Martin Jambor <mjambor@suse.cz>
jamborm [Tue, 19 Apr 2011 16:08:50 +0000 (16:08 +0000)]
2011-04-19  Martin Jambor  <mjambor@suse.cz>

gcc/fotrean/
* trans-decl.c (gfc_generate_function_code): Call cgraph_create_node
instead of cgraph_get_create_node.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172715 138bc75d-0d04-0410-961f-82ee72b054a4