Commit Graph

108801 Commits

Author SHA1 Message Date
Nick Clifton
a1d8754e7d rx.c (rx_memory_move_cost): Include cost of register moves.
* config/rx/rx.c (rx_memory_move_cost): Include cost of register
	moves.

From-SVN: r173824
2011-05-17 08:58:09 +00:00
Nick Clifton
39960f7a9f rx.md (bitset_in_memory): Use rx_restricted_mem_operand.
* config/rx/rx.md (bitset_in_memory): Use rx_restricted_mem_operand.
	(bitinvert_in_memory): Likewise.
	(bitclr_in_memory): Likewise.

From-SVN: r173822
2011-05-17 08:43:03 +00:00
Nick Clifton
4ffc4134c7 rx.md: Add peephole to remove redundant extensions after loads.
* config/rx/rx.md: Add peephole to remove redundant extensions
	after loads.

From-SVN: r173820
2011-05-17 08:36:44 +00:00
Kazuhio Inaoka
b3db92ac19 rx.md: Add peepholes to match a register move followed by a comparison of the moved...
* config/rx/rx.md: Add peepholes to match a register move followed
	by a comparison of the moved register.  Replace these with an
	addition of zero that does both actions in one instruction.

Co-Authored-By: Nick Clifton <nickc@redhat.com>

From-SVN: r173819
2011-05-17 08:27:40 +00:00
Tristan Gingold
f3450bc8d8 inclhack.def (solaris_complex_cxx): Fix syntax.
2011-05-17  Tristan Gingold  <gingold@adacore.com>

	* inclhack.def (solaris_complex_cxx): Fix syntax.
	* fixincl.x: Regenerate.

From-SVN: r173818
2011-05-17 08:00:15 +00:00
Jakub Jelinek
8637e32a7e re PR target/48986 (Missed optimization in atomic decrement on x86/x64)
PR target/48986
	* config/i386/sync.md (sync_old_add<mode>): Relax operand 2
	predicate to allow CONST_INT.
	(*sync_old_add_cmp<mode>): New insn and peephole2 for it.

From-SVN: r173816
2011-05-17 09:37:59 +02:00
Tristan Gingold
067e2f069d check.tpl: Shell-quote testing file.
2011-05-17  Tristan Gingold  <gingold@adacore.com>

	* check.tpl: Shell-quote testing file.

From-SVN: r173815
2011-05-17 07:25:07 +00:00
GCC Administrator
6528fc5697 Daily bump.
From-SVN: r173814
2011-05-17 00:19:44 +00:00
Joseph Myers
8023568eaa opts-common.c (opt_enum_arg_to_value): New.
* opts-common.c (opt_enum_arg_to_value): New.
	* opts.h (opt_enum_arg_to_value): Declare.
	* config/i386/i386.opt (fpmath): Remove.
	(mfpmath=): Use Enum, Init and Save.
	(fpmath_unit): New Enum and EnumValue entries.
	* config/i386/i386-c.c (ix86_pragma_target_parse): Update field
	name for function fpmath state.
	* config/i386/i386-opts.h (enum fpmath_unit): Move from i386.h.
	* config/i386/i386.c: Include diagnostic.h.
	(ix86_fpmath, IX86_FUNCTION_SPECIFIC_FPMATH): Remove.
	(ix86_target_string): Take enum fpmath_unit value instead of
	string.
	(ix86_debug_options): Update call to ix86_target_string.
	(ix86_option_override_internal): Don't process fpmath strings
	here.
	(x86_function_specific_save, ix86_function_specific_restore):
	Don't handle fpmath state specially.
	(ix86_function_specific_print): Pass fpmath state to
	ix86_target_string instead of printing in this function.
	(ix86_valid_target_attribute_inner_p): Take gcc_options pointer.
	Handle enum attributes.
	(IX86_ATTR_ENUM, ix86_opt_enum): New.
	(ix86_valid_target_attribute_tree): Update option_strings
	handling.  Handle fpmath as enum option.
	(ix86_can_inline_p): Update field names for function fpmath state.
	(ix86_expand_builtin): Update call to ix86_target_string.
	* config/i386/i386.h (enum fpmath_unit): Move to i386-opts.h.
	(ix86_fpmath): Remove.
	* config/i386/t-i386 (i386.o): Update dependencies.

From-SVN: r173809
2011-05-16 22:26:29 +01:00
Jason Merrill
c22cb03b64 re PR c++/48969 (ICE with -std=c++0x)
PR c++/48969
	* pt.c (deduction_tsubst_fntype): Use a VEC initially.

From-SVN: r173805
2011-05-16 16:52:18 -04:00
Tobias Burnus
20c97ec9ba gfortran.texi (_gfortran_set_options): Add GFC_STD_F2008_TR.
2011-05-16  Tobias Burnus  <burnus@net-b.de>

        * gfortran.texi (_gfortran_set_options): Add GFC_STD_F2008_TR.
        (Fortran 2008 status): Multi-image support for coarrays.
        (TR 19113 status): New section.

From-SVN: r173804
2011-05-16 22:37:30 +02:00
Uros Bizjak
f402985af4 * config/i386/i386.md (TLS patterns): Fix whitespace.
From-SVN: r173802
2011-05-16 20:55:44 +02:00
Joseph Myers
9e8d926edd re PR preprocessor/48677 (cpp.exe broken ?)
PR preprocessor/48677
	* cppspec.c (lang_specific_driver): Set new_decoded_options[0]
	from decoded_options[0], not from itself.

From-SVN: r173801
2011-05-16 19:34:31 +01:00
Uros Bizjak
4bc2a7a7c3 * config/i386/constraints.md (z): Fix comment. Oh, well...
From-SVN: r173800
2011-05-16 20:30:07 +02:00
Paolo Carlini
7933dc2a80 utility: Simplify the last commit, the whole std::get code is C++0x only.
2011-05-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/utility: Simplify the last commit, the whole
	std::get code is C++0x only.

From-SVN: r173799
2011-05-16 18:24:01 +00:00
Paolo Carlini
18eeaec47b utility (get(std::pair<>&&)): Add.
2011-05-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/utility (get(std::pair<>&&)): Add.
	* include/bits/stl_pair.h (pair::swap(pair&),
	swap(pair<>&, pair<>&)): Use noexcept.
	* include/bits/random.h (discard_block_engine<>::base,
	independent_bits_engine<>::base, shuffle_order_engine<>::base,
	random_device::entropy): Use noexcept.
	* include/std/array: Use noexcept where appropriate.
	(get(array<>&&)): Add.
	* testsuite/23_containers/array/requirements/get.cc: New.
	* testsuite/20_util/pair/get.cc: Likewise.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Tweak dg-error
	line number.

From-SVN: r173798
2011-05-16 18:09:17 +00:00
Uros Bizjak
f644901160 constraints.md (z): New constraint.
* config/i386/constraints.md (z): New constraint.
	* config/i386/i386.c (c): New mode attribute.
	(*call): Merge insn pattern from *call_0, *call_1, *call_1_rex64 and
	*call_1_rex64_large patterns using "P" mode iterator. Use "<c>zm"
	constraint for operand 0.
	(*call_vzeroupper): Ditto.
	(*call_rex64_ms_sysv): Ditto.  Use "rzm" constraint for operand 0.
	(*call_rex64_ms_sysv_vzeroupper): Ditto.
	(*call_pop): Merge insn pattern from *call_pop_0 and *call_pop_1.
	Use "lzm" constraint for operand 0.
	(*call_pop_vzeroupper): Ditto.
	(*sibcall): Merge insn pattern from *sibcall_0, *sibcall_1 and
	*sibcall_1_rex64 patterns using "P" mode iterator.  Use "Uz"
	constraint for operand 0.
	(*sibcall_vzeroupper): Ditto.
	(*sibcall_rex64_ms_sysv): Ditto.
	(*sibcall_rex64_ms_sysv_vzeroupper): Ditto.
	(*sibcall_pop): Merge insn pattern from *sibcall_pop_0 and
	*sibcall_pop_1.  Use "Uz" constraint for operand 0.
	(*sibcall_pop_vzeroupper): Ditto.
	(*call_value): Merge insn pattern from *call_value_0, *call_value_1,
	*call_value_1_rex64 and *call_value_1_rex64_large patterns using "P"
	mode iterator.  Use "<c>zm" constraint for operand 1.
	(*call_value_vzeroupper): Ditto.
	(*call_value_rex64_ms_sysv): Ditto.  Use "rzm" constraint
	for operand 0.
	(*call_value_rex64_ms_sysv_vzeroupper): Ditto.
	(*call_value_pop): Merge insn pattern from *call_value_pop_0 and
	*call_value_pop_1.  Use "lzm" constraint for operand 1.
	(*call_value_pop_vzeroupper): Ditto.
	(*sibcall_value): Merge insn pattern from *sibcall_value_0,
	*sibcall_value_1 and *sibcall_value_1_rex64 patterns using "P"
	mode iterator.  Use "Uz" constraint for operand 1.
	(*sibcall_value_vzeroupper): Ditto.
	(*sibcall_value_rex64_ms_sysv): Ditto.
	(*sibcall_value_rex64_ms_sysv_vzeroupper): Ditto.
	(*sibcall_value_pop): Rename from *sibcall_pop_1.  Use "Uz"
	constraint for operand 1.
	(*sibcall_value_pop_vzeroupper): Ditto.
	(*tls_global_dynamic_64): Use constant_call_address_operand predicate
	and "z" constraint for operand 2.
	(*tls_global_dynamic_32_gnu): Ditto.
	(*tls_local_dynamic_base_32_gnu): Ditto.
	(*tls_local_dynamic_base_64): Ditto.
	(*tls_local_dynamic_32_once): Ditto.
	* config/i386/i386.c (ix86_output_call_insn): Remove int_addr argument.
	Update all callers.
	* config/i386/i386-protos.h (ix86_output_call_insn): Update prototype.

testsuite/ChangeLog:

2011-05-16  Uros Bizjak  <ubizjak@gmail.com>

	* gcc.target/i386/avx-vzeroupper-16.c: Update scan-assembler-times
	scan pattern.
	* gcc.target/i386/avx-vzeroupper-17.c: Ditto.
	* gcc.target/i386/avx-vzeroupper-18.c: Ditto.

From-SVN: r173797
2011-05-16 20:08:41 +02:00
Richard Guenther
c11b690223 gimple.c (gimple_types_compatible_p_1): Use names of the type itself, not its main variant.
2011-05-16  Richard Guenther  <rguenther@suse.de>

	* gimple.c (gimple_types_compatible_p_1): Use names of the
	type itself, not its main variant.
	(iterative_hash_gimple_type): Likewise.

From-SVN: r173795
2011-05-16 16:07:35 +00:00
Richard Guenther
1e83b5f197 gimple.c (iterative_hash_gimple_type): Re-instantiate change to always visit pointer target and function result and...
2011-05-16  Richard Guenther  <rguenther@suse.de>

	* gimple.c (iterative_hash_gimple_type): Re-instantiate
	change to always visit pointer target and function result
	and argument types.

From-SVN: r173794
2011-05-16 15:10:05 +00:00
Jason Merrill
62e3638201 re PR c++/48999 (FAIL: g++.dg/torture/20090706-1.C due to an ICE on *-*-darwin*)
PR c++/48999
	* tree-inline.c (copy_statement_list): Put back recursion.

From-SVN: r173793
2011-05-16 10:30:30 -04:00
Georg-Johann Lay
687027a4d5 re PR middle-end/27663 (missed-optimization transforming a byte array to unsigned long)
PR target/27663
	PR target/41076
	* config/avr/predicates.md (const_8_16_24_operand): New predicate.
	* config/avr/avr.md ("*ior<mode>qi.byte0",
	"*ior<mode>qi.byte1-3"): New define_insn_and_split patterns.

From-SVN: r173792
2011-05-16 14:20:19 +00:00
Georg-Johann Lay
f24a5190c2 re PR target/45099 ([avr] Warning could be issued for use of register variables that will fail.)
PR target/45099
	* config/avr/avr.c (avr_function_arg_advance): Error if a fixed
	register is needed for a function argument.

From-SVN: r173791
2011-05-16 14:16:22 +00:00
Richard Guenther
3066f593a8 gimple.c (struct type_hash_pair): New type.
2011-05-16  Richard Guenther  <rguenther@suse.de>

	* gimple.c (struct type_hash_pair): New type.
	(type_hash_pair_compare): New function.
	(iterative_hash_gimple_type): Mix in SCC member hashes in
	hash-order.

From-SVN: r173790
2011-05-16 13:52:56 +00:00
Revital Eres
b2ab2cf4d1 Fix condition in doloop_register_get
From-SVN: r173786
2011-05-16 06:11:46 +00:00
GCC Administrator
f354a7b75a Daily bump.
From-SVN: r173785
2011-05-16 00:19:17 +00:00
Paolo Carlini
3c0d13bfab c-common.c (c_common_reswords): Reorder.
/c-family
2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* c-common.c (c_common_reswords): Reorder.
	* c-common.h (rid): Likewise.

/cp
2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* cxx-pretty-print.c: Update comment.
	* semantics.c (trait_expr_value, finish_trait_expr):
	Reorder the cases.
	* parser.c (cp_parser_primary_expression): Likewise.

From-SVN: r173780
2011-05-15 23:40:57 +00:00
Jonathan Wakely
5bef11c8e7 re PR c++/48994 ([C++0x] error for trivial use of range-based 'for')
PR c++/48994
	* parser.c (cp_parser_perform_range_for_lookup): Call complete_type.

From-SVN: r173778
2011-05-16 00:04:04 +01:00
Uros Bizjak
dfb737fcca i386.md (floating point move splitters): Fix usage of standard_80387_constant_p.
* config/i386/i386.md (floating point move splitters): Fix
	usage of standard_80387_constant_p.
	(ix86_preferred_reload_class): Ditto.

From-SVN: r173775
2011-05-15 21:31:32 +02:00
Paolo Carlini
4d4cf1444d c++config (_GLIBCXX_NOEXCEPT, [...]): Add.
2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/c++config (_GLIBCXX_NOEXCEPT, _GLIBCXX_USE_NOEXCEPT):
	Add.
	* include/std/limits: Use the latter everywhere.
	(numeric_limits<char16_t>, numeric_limits<char32_t>): Simplify
	macro usages, the specializations exist only in C++0x mode.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error
	line number.

From-SVN: r173774
2011-05-15 18:21:03 +00:00
Uros Bizjak
8caa1de002 i386.md (*movdf_internal): Simplify insn condition.
* config/i386/i386.md (*movdf_internal): Simplify insn condition.

From-SVN: r173773
2011-05-15 19:44:03 +02:00
Tobias Burnus
4ca9939b79 re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-05-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        actual argument is not an array; rank mismatch is diagnosted later.
        * trans-decl.c (gfc_get_symbol_decl, gfc_trans_deferred_vars):
        * Handle
        scalar coarrays.
        * trans-types.c (gfc_get_array_type_bounds): Ditto.

2011-05-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray/image_index_2.f90: New.

From-SVN: r173772
2011-05-15 18:20:18 +02:00
Joern Rennecke
29eabd788f re PR middle-end/46500 (target.h includes tm.h)
PR middle-end/46500
gcc/fortran:
	* trans-types.c: Include "tm.h".
	[0] (c_size_t_size): Remove.

From-SVN: r173771
2011-05-15 13:50:57 +01:00
Janne Blomqvist
817f24d98e PR 48915 Clarify _gfortran_set_options documentation
From-SVN: r173770
2011-05-15 13:23:53 +03:00
GCC Administrator
e36d28bd11 Daily bump.
From-SVN: r173768
2011-05-15 00:18:21 +00:00
Eric Botcazou
8a5190956b tree-ssa-loop-im.c (SET_ALWAYS_EXECUTED_IN): New macro.
* tree-ssa-loop-im.c (SET_ALWAYS_EXECUTED_IN): New macro.
	(fill_always_executed_in): Use [SET_]ALWAYS_EXECUTED_IN.
	(tree_ssa_lim_finalize): Likewise.

From-SVN: r173762
2011-05-14 19:45:28 +00:00
Ville Voutilainen
486d481b39 Implement final on class.
* class.c (check_bases): Diagnose derivation from a final class.
	* cp-tree.h (lang_type_class): Add is_final and adjust dummy.
	(CLASSTYPE_FINAL): New.
	* parser.c (cp_parser_class_head): Parse class-virt-specifier, set
	CLASSTYPE_FINAL.
	* pt.c (instantiate_class_template_1): Copy CLASSTYPE_FINAL.

From-SVN: r173761
2011-05-14 14:13:23 -04:00
Tobias Burnus
ade2e40389 lang.opt (fdump-core): Re-add as ignored option for backward compatibility.
2011-05-14  Tobias Burnus  <burnus@net-b.de>

        * lang.opt (fdump-core): Re-add as ignored option
        for backward compatibility.

2011-05-14  Tobias Burnus  <burnus@net-b.de>

        * runtime/stop.c (error_stop_string, error_stop_numeric):
        Do not backtrace for ERROR STOP.

From-SVN: r173760
2011-05-14 18:02:07 +02:00
Joseph Myers
858afbce4e * zh_CN.po: Update.
From-SVN: r173758
2011-05-14 17:00:34 +01:00
Uros Bizjak
479fecd31e constraint.md (Yd, Yx): New register constraints.
* config/i386/constraint.md (Yd, Yx): New register constraints.
	* config/i386/i386.md (*pushdf): Merge with *pushdf_nointeger.  Use
	Yd conditional register constraint.
	(*movtf_internal): Use standard_sse_constant_opcode.
	(*movxf_internal): Merge with *movxf_internal_nointeger.  Use
	Yx conditional register constraint.
	(*movdf_internal): Merge with *movdf_internal_nointeger.  Use
	Yd conditional register constraint.  Use standard_sse_constant_p to
	check for valid SSE constants and call standard_sse_constant_opcode to
	output SSE insn.
	(*movsf_internal): Use standard_sse_constant_p to check for valid SSE
	constants and call standard_sse_constant_opcode to output SSE insn.
	* config/i386/i386.c (ix86_option_ovverride_internal): Set
	TARGET_INTEGER_DFMODE_MOVES for 64bit targets.  Clear it when
	optimize_size is set.
	(standard_sse_constant_opcode): Output conditional AVX insn templates.

From-SVN: r173757
2011-05-14 17:33:02 +02:00
Eric Botcazou
748f7574e8 Remove conflict marker
From-SVN: r173756
2011-05-14 10:38:45 +00:00
Tobias Burnus
e6242bc79e re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-05-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * interface.c (compare_parameter): Skip diagnostic if
        actual argument is not an array; rank mismatch is diagnosted later.

2011-05-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.de/coarray_20.f90: New.

From-SVN: r173755
2011-05-14 12:34:44 +02:00
Janne Blomqvist
4e4c4f4161 PR 48915 Update mixed-language programming documentation
From-SVN: r173754
2011-05-14 13:24:18 +03:00
Janne Blomqvist
7daa7b1da3 PR 48915 Update mixed-language programming documentation
From-SVN: r173753
2011-05-14 13:20:56 +03:00
Thomas Koenig
222c2a6395 re PR fortran/22572 (Double occurrence of matmul intrinsic not optimised)
2011-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/22572
	* frontend-passes.c (cfe_register_funcs):  Also register functions
	for potential elimination if the rank is > 0, the shape is unknown
	and reallocate on assignment is active.
	(create_var):  For rank > 0 functions with unknown shape, create
	an allocatable temporary.

2011-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/22572
	* function_optimize_7.f90:  New test case.

From-SVN: r173752
2011-05-14 09:48:08 +00:00
Tobias Burnus
2d8c9ad5c9 invoke.texi (-Ofast): Also enables -fstack-arrays.
2011-05-14  Tobias Burnus  <burnus@net-b.de>

        * doc/invoke.texi (-Ofast): Also enables -fstack-arrays.

2011-05-14  Tobias Burnus  <burnus@net-b.de>

        * options.c (gfc_init_options, gfc_post_options): Enable
        -fstack-arrays by default if -Ofast is used.
        * invoke.texi (-fstack-arrays): Document this.

From-SVN: r173751
2011-05-14 11:39:38 +02:00
Janne Blomqvist
de8bd1420e PR 48915 Abort handling
From-SVN: r173750
2011-05-14 11:44:09 +03:00
Janne Blomqvist
1028b2bded Error printing thread safety, remove GFORTRAN_USE_STDERR
From-SVN: r173749
2011-05-14 10:55:51 +03:00
Tobias Burnus
b4224aec54 re PR libfortran/48961 (EXECUTE_COMMAND_LINE(WAIT=.false.) fails on MinGW)
2011-05-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48961
        * intrinsics/execute_command_line.c (set_cmdstat): Don't abort if
        synchronously executing with WAIT=.false.
        (execute_command_line): Fix setting of cmdstat and exitstat.

From-SVN: r173748
2011-05-14 08:35:18 +02:00
GCC Administrator
2d9d4585c6 Daily bump.
From-SVN: r173747
2011-05-14 00:19:21 +00:00
Ian Lance Taylor
26793fb5fd Fix bug with multiple results returning structs with invalid sizes.
* go-gcc.cc (Gcc_backend::function_type): When building a struct
	for multiple results, check that all fields types have a size.
	(Gcc_backend::placeholder_pointer_type): Permit name to be empty.

From-SVN: r173742
2011-05-13 22:34:56 +00:00