Commit Graph

108788 Commits

Author SHA1 Message Date
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
Jason Merrill
b8f2ad7cc5 re PR c++/48969 (ICE with -std=c++0x)
PR c++/48969
	* pt.c (deduction_tsubst_fntype): New.
	(fn_type_unification): Use it.

From-SVN: r173741
2011-05-13 18:25:12 -04:00
Jason Merrill
4877e471e3 call.c (build_op_call): Use timevar_cond_start/stop.
* call.c (build_op_call): Use timevar_cond_start/stop.
	(build_user_type_conversion): Likewise.

From-SVN: r173740
2011-05-13 18:25:01 -04:00
Martin Jambor
411a20d66c ipa-prop.c (ipa_cst_from_jfunc): New function.
2011-05-13  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.c (ipa_cst_from_jfunc): New function.
	* ipa-prop.h (ipa_cst_from_jfunc): Declare.
	* ipa-inline-analysis.c (evaluate_conditions_for_edge): Use it.
	(evaluate_conditions_for_ipcp_clone): Removed.
	(estimate_ipcp_clone_size_and_time): Accept vector of known constants.
	* ipa-cp.c (ipcp_estimate_growth): Build vector of known constants.
	* ipa-inline.h (estimate_ipcp_clone_size_and_time): Update.

From-SVN: r173739
2011-05-14 00:01:59 +02:00
Tobias Burnus
d61d771f3b re PR fortran/48972 (OPEN with Unicode file name)
2011-05-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48972
        PR fortran/48991
        * gfortran.dg/assign_8.f90: Update dg-error.

From-SVN: r173738
2011-05-13 22:59:07 +02:00
Eric Botcazou
dc764d10fa cfgrtl.c (cfg_layout_redirect_edge_and_branch): Adjust dump message.
* cfgrtl.c (cfg_layout_redirect_edge_and_branch): Adjust dump message.
	* regcprop.c (copyprop_hardreg_forward): Test MAY_HAVE_DEBUG_INSNS in
	lieu of MAY_HAVE_DEBUG_STMTS.
	* tree-cfgcleanup.c (remove_forwarder_block): Do not attempt to move
	debug statements if !MAY_HAVE_DEBUG_STMTS.

From-SVN: r173737
2011-05-13 20:02:42 +00:00
Tobias Burnus
75933b07b7 re PR fortran/48972 (OPEN with Unicode file name)
2011-05-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48972
        * io.c (resolve_tag_format, resolve_tag): Make sure
        that the string is of default kind.
        (gfc_resolve_inquire): Also resolve decimal tag.

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

        PR fortran/48972
        * gfortran.dg/io_constraints_8.f90: New.
        * gfortran.dg/io_constraints_9.f90: New.

From-SVN: r173736
2011-05-13 20:16:37 +02:00
Martin Thuresson
9f47a24e79 re PR gcov-profile/47793 (Relative path in fprofile-use turns into absolute path)
2011-05-13  Martin Thuresson  <martint@google.com>

	PR gcov-profile/47793
	* libgcov.c (gcov_exit): Support relative profile paths.
	* doc/invoke.texi (-fprofile-dir): Update for above change.

2011-05-13  Martin Thuresson  <martint@google.com>

	PR gcov-profile/47793
	* gcc.dg/pr47793.c: New.

From-SVN: r173735
2011-05-13 15:57:20 +00:00
Richard Guenther
b8a71aedd8 gimple.c (gimple_canonical_types_compatible_p): Do not use type-pair caching, do not compare hashes.
2011-05-13  Richard Guenther  <rguenther@suse.de>

	* gimple.c (gimple_canonical_types_compatible_p): Do not use
	type-pair caching, do not compare hashes.

From-SVN: r173734
2011-05-13 14:02:42 +00:00
Nathan Froyd
eb9f925985 Change edge_to_cases_cleanup to return true.
2011-05-13  Nathan Froyd  <froydnj@codesourcery.com>

	PR middle-end/48965
	* tree-cfg.c (edge_to_cases_cleanup): Return true.
	(verify_expr) [CASE_LABEL_EXPR]: Add checking.

From-SVN: r173733
2011-05-13 06:44:04 -07:00
Kai Tietz
3c6cbf7ad1 gimplify.c (gimplify_expr): Make sure operand is boolified.
2011-05-13  Kai Tietz  <ktietz@redhat.com>

        * gimplify.c (gimplify_expr): Make sure operand is boolified.
        * tree-cfg.c (verify_gimple_assign_unary): Check for boolean
        compatible type for TRUTH_NOT_EXPR.

From-SVN: r173732
2011-05-13 15:37:16 +02:00
H.J. Lu
2e7f5dc0e4 Change ix86_save_reg/ix86_hard_regno_mode_ok to return bool.
2011-05-13  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_save_reg): Change return type to
	bool.
	(ix86_hard_regno_mode_ok): Change return value to bool.  Use
	can_create_pseudo_p ().

From-SVN: r173731
2011-05-13 06:30:18 -07:00
Richard Guenther
e834e95c36 re PR lto/48978 (excessive hash table allocation for large lto build)
2011-05-13  Richard Guenther  <rguenther@suse.de>

	PR lto/48978
	* gimple.c (iterative_hash_gimple_type): Revert change in
	pointer target and function result and argument hashing.

From-SVN: r173730
2011-05-13 11:02:28 +00:00
Uros Bizjak
3420348330 i386.md (*movxf_internal): Use !can_create_pseudo ().
* config/i386/i386.md (*movxf_internal): Use !can_create_pseudo ().
	(*movxf_internal_nointeger): Ditto.
	(*movdf_internal_rex64): Ditto.
	(*movdf_internal): Ditto.
	(*movdf_internal_nointeger): Ditto.
	(*movsf_internal): Ditto.
	(sincos splitters): Use can_create_pseudo ().

From-SVN: r173729
2011-05-13 12:16:43 +02:00