Commit Graph

108265 Commits

Author SHA1 Message Date
François Dumont
0cfbd28838 libstdc++.exp (check_v3_target_time): Discard unused compilation result thanks to /dev/null.
2011-04-22  François Dumont  <francois.cppdevs@free.fr>

        * testsuite/lib/libstdc++.exp (check_v3_target_time): Discard
        unused compilation result thanks to /dev/null.
        * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode
        check_v3_target_profile_mode check_v3_target_normal_mode
        check_v3_target_cstdint check_v3_target_cmath
        check_v3_target_atomic_builtins check_v3_target_gthreads
        check_v3_target_nanosleep check_v3_target_sched_yield
        check_v3_target_string_conversions check_v3_target_swprintf
        check_v3_target_binary_io): Use simple preprocessing rather than
        compilation. Discard unused preprocessing result thanks to /dev/null.

From-SVN: r172872
2011-04-22 19:34:38 +00:00
Richard Guenther
1df5b0db1c tree.c (build_int_cst): Properly create canonicalized integer constants.
2011-04-22  Richard Guenther  <rguenther@suse.de>

	* tree.c (build_int_cst): Properly create canonicalized integer
	constants.
	(build_int_cst_type): Remove scary comments.

From-SVN: r172871
2011-04-22 19:29:54 +00:00
Xinliang David Li
ae01169c69 Proper handling of -Werror=coverage-mismatch
From-SVN: r172870
2011-04-22 19:11:49 +00:00
Jakub Jelinek
93dfac24ad re PR tree-optimization/48717 (integer wrong code bug)
PR tree-optimization/48717
	* tree-ssa-forwprop.c (associate_plusminus): For A + ~A and
	~A + A optimizations use build_int_cst_type instead of build_int_cst.

	* gcc.c-torture/execute/pr48717.c: New test.

From-SVN: r172868
2011-04-22 20:52:48 +02:00
Uros Bizjak
1d284ec5c8 re PR target/48723 (ICE on function returning structure with -fstack-check on corei7-avx)
PR target/48723
	* config/i386/i386.c (ix86_expand_prologue): Update m->fs.sp_offset
	after the call to ix86_adjust_stack_and_probe.

testsuite/ChangeLog:

	PR target/48723
	* gcc.target/i386/pr48723.c: New test.

From-SVN: r172866
2011-04-22 20:40:23 +02:00
Ian Lance Taylor
aa5b0a0df3 libgo: Support multilib testing.
From Rainer Orth.

From-SVN: r172865
2011-04-22 18:38:24 +00:00
Ian Lance Taylor
90eadacd1e re PR go/48503 (http/cgi FAILs if libgcc_s.so.1 isn't in default ld.so.1 search path)
PR go/48503
libgo: Bring over http/cgi environment inheritance patches.

From-SVN: r172864
2011-04-22 18:23:47 +00:00
Eric Botcazou
eb601ae15a decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE onto the new type.
* gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
	onto the new type.

From-SVN: r172863
2011-04-22 17:41:28 +00:00
Eric Botcazou
7d7fcb08c3 gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG parameter.
* gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
	parameter.
	* gcc-interface/utils.c (create_subprog_decl): Likewise.  Set
	DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
	ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
	<all>: Do not set flags on the reused DECL node coming from an alias.
	Set DECL_IGNORED_P on the DECL node built for subprograms if they
	don't need debug info here...
	* gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
	(gigi): Adjust calls to create_subprog_decl.
	(build_raise_check): Likewise.
	(establish_gnat_vms_condition_handler): Likewise.
	(Compilation_Unit_to_gnu): Likewise.
	(gnat_to_gnu): Likewise.

From-SVN: r172862
2011-04-22 17:35:08 +00:00
Joseph Myers
1b5f506948 bfin-protos.h (Mmode): Don't define.
* config/bfin/bfin-protos.h (Mmode): Don't define.  Expand
	definition where used.

From-SVN: r172861
2011-04-22 17:47:38 +01:00
Jakub Jelinek
144f4153e8 re PR c/48716 (gcc OpenMP static variable declared in scope inside construct is predetermined shared)
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.

From-SVN: r172859
2011-04-22 16:10:45 +02:00
Martin Jambor
f9fd305bd4 re PR middle-end/48585 (483.xalancbmk in SPEC CPU 2006 failed to build)
2011-04-22  Martin Jambor  <mjambor@suse.cz>

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

From-SVN: r172858
2011-04-22 14:52:30 +02:00
Alexander Monakov
49819fef62 re PR c/36750 (-Wmissing-field-initializers relaxation request)
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.

From-SVN: r172857
2011-04-22 15:53:01 +04:00
Alan Modra
6a1605adc6 missed hunk from last commit
missed hunk from last commit
	* config/rs6000/rs6000.c (rs6000_function_arg): Remove CALL_LIBCALL
	when returning call_cookie.

From-SVN: r172856
2011-04-22 13:49:40 +09:30
Alan Modra
401f66999f rs6000.c (rs6000_function_arg): Remove CALL_LIBCALL when returning call_cookie.
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.

From-SVN: r172855
2011-04-22 13:28:15 +09:30
Jie Zhang
98e2d93436 * MAINTAINERS: Update my email address.
From-SVN: r172854
2011-04-22 02:30:57 +00:00
GCC Administrator
7870577530 Daily bump.
From-SVN: r172853
2011-04-22 00:17:59 +00:00
Xinliang David Li
903d1e67c4 Remove cgraph pid
From-SVN: r172848
2011-04-22 00:03:41 +00:00
Ian Lance Taylor
7378e95ff1 godump.c (go_format_type): Use exported Go name for anonymous field name.
* godump.c (go_format_type): Use exported Go name for anonymous
	field name.

From-SVN: r172847
2011-04-21 23:38:34 +00:00
Ian Lance Taylor
26409c5246 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.

From-SVN: r172846
2011-04-21 22:54:23 +00:00
Easwaran Raman
3a6448ea91 Changelog: Remove gcc/ prefix from a changelog entry.
*Changelog: Remove gcc/ prefix from a changelog entry.

From-SVN: r172845
2011-04-21 20:37:35 +00:00
Nathan Froyd
491add7287 objc-act.c (synth_module_prologue): Call build_function_type_list instead of build_function_type.
* 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.

From-SVN: r172844
2011-04-21 20:29:55 +00:00
Nathan Froyd
e84a6fcfb7 frv.c (frv_init_builtins): Delete `endlink' variable.
* 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.

From-SVN: r172842
2011-04-21 20:14:21 +00:00
Nathan Froyd
4fe058e25b arm.c (arm_init_iwmmxt_builtins): Call build_function_type_list instead of build_function_type.
* config/arm/arm.c (arm_init_iwmmxt_builtins): Call
	build_function_type_list instead of build_function_type.
	Delete variable `endlink'.

From-SVN: r172841
2011-04-21 20:13:17 +00:00
Nathan Froyd
1ba0a2d230 s390.c (s390_init_builtins): Call build_function_type_list instead of build_function_type.
* config/s390/s390.c (s390_init_builtins): Call
	build_function_type_list instead of build_function_type.

From-SVN: r172840
2011-04-21 20:12:07 +00:00
Nathan Froyd
c06762198a ia64.c (ia64_init_builtins): Call build_function_type_list instead of builtin_function_type.
* config/ia64/ia64.c (ia64_init_builtins): Call
	build_function_type_list instead of builtin_function_type.

From-SVN: r172839
2011-04-21 20:11:12 +00:00
Thomas Koenig
82358e093f re PR fortran/48405 (Handle expressions in DO loops for front-end optimization)
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.

From-SVN: r172838
2011-04-21 19:23:34 +00:00
Easwaran Raman
6ddfda8a98 cfgexpand.c (stack_var): Remove OFFSET...
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.

From-SVN: r172837
2011-04-21 19:16:57 +00:00
Joseph Myers
8e20e8b13e * de.po: Update.
From-SVN: r172835
2011-04-21 18:02:17 +01:00
Eric Botcazou
e1876cacb0 Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
* 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).

From-SVN: r172834
2011-04-21 16:38:49 +00:00
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