Commit Graph

129921 Commits

Author SHA1 Message Date
Paolo Carlini
54674a35bd re PR c++/51640 (Misleading error if the type in the catch() is ambiguous)
/cp
2014-05-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51640
	* parser.c (cp_parser_diagnose_invalid_type_name): Early return
	when cp_parser_lookup_name sets ambiguous_decls.

/testsuite
2014-05-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51640
	* g++.dg/parse/error54.C: New.

From-SVN: r210521
2014-05-16 17:42:23 +00:00
Vladimir Makarov
f4e075e7d9 re PR rtl-optimization/60969 (ICE in output_129 in MMXMOV of mode MODE_SF for march=pentium4)
2014-05-16  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/60969
	* ira-costs.c (record_reg_classes): Allow only memory for pseudo.
	Calculate costs for this case.

2014-05-16  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/60969
	* g++.dg/pr60969.C: New.

From-SVN: r210520
2014-05-16 17:37:17 +00:00
Eric Botcazou
8b628e86ec fold-const (fold_unary_loc): New case.
* fold-const (fold_unary_loc) <NON_LVALUE_EXPR>: New case.
	<CASE_CONVERT>: Pass arg0 instead of op0 to fold_convert_const.

From-SVN: r210518
2014-05-16 16:59:38 +00:00
Jonathan Wakely
53caffbe8d typedefs-1.cc: Fix test for 32-bit target.
* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
	test for 32-bit target.
	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
	Fix test.

From-SVN: r210517
2014-05-16 15:55:45 +01:00
Alexey Merzlyakov
2a2794f7be re PR libstdc++/60758 (Infinite backtrace in __cxa_end_cleanup)
2014-05-16  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>

	PR libstdc++/60758
	* libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
	and add unwind directives.

From-SVN: r210515
2014-05-16 13:16:33 +00:00
Richard Biener
52264dbf66 re PR tree-optimization/61194 (vectorization failed with "bit-precision arithmetic not supported" even if conversion to int is requested)
2014-05-16  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61194
	* tree-vect-patterns.c (adjust_bool_pattern): Also handle
	bool patterns ending in a COND_EXPR.

	* gcc.dg/vect/pr61194.c: New testcase.

From-SVN: r210514
2014-05-16 11:21:11 +00:00
Jonathan Wakely
cd1464dbc6 parse_numbers.h (__parse_int::_Number_help): Check for overflow.
* include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
	overflow.
	* include/std/chrono (chrono_literals::__select_type::_Select_type):
	Remove.
	(chrono_literals::_Checked_integral_constant): Define.
	Simplify UDL operator templates and check for overflow.
	* testsuite/20_util/duration/literals/range.cc: New.

From-SVN: r210513
2014-05-16 12:08:49 +01:00
James Greenhalgh
3d840f7d1f [AArch64 costs] Fixup to costing of FNMUL
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Fix FNMUL case.

From-SVN: r210512
2014-05-16 10:15:54 +00:00
Ed Smith-Rowland
a2f4bd2ae1 re PR libstdc++/61166 (overflow when parse number in std::duration operator"")
2014-05-15  Ed Smith-Rowland  <3dw4rd@verizon.net>
	    Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/61166
	* include/bits/parse_numbers.h: Use integral_constant to remove
	duplication and simplify.
	* testsuite/20_util/duration/literals/61166.cc: New.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>

From-SVN: r210511
2014-05-16 10:30:57 +01:00
James Greenhalgh
88d4fbcf50 [AArch64 costs 18/18] Dump a message if we are unable to cost an insn.
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle the case
	where we were unable to cost an RTX.

From-SVN: r210510
2014-05-16 09:27:55 +00:00
James Greenhalgh
909734beb7 [AArch64 costs 17/18] Cost for SYMBOL_REF, HIGH and LO_SUM
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Cost SYMBOL_REF,
	HIGH, LO_SUM.

From-SVN: r210509
2014-05-16 09:25:48 +00:00
James Greenhalgh
fb620c4a9a [AArch64 costs 16/18] Cost TRUNCATE
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Cost TRUNCATE.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210508
2014-05-16 09:23:28 +00:00
James Greenhalgh
b292109f9e [AArch64 costs 15/18] Cost more Floating point RTX.
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Cost FMA,
	FLOAT_EXTEND, FLOAT_TRUNCATE, ABS, SMAX, and SMIN.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210507
2014-05-16 09:20:22 +00:00
James Greenhalgh
a8eecd00ec [AArch64 costs 14/18] Cost comparisons, flag setting operators and IF_THEN_ELSE
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Cost comparison
	operators.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210506
2014-05-16 09:16:23 +00:00
James Greenhalgh
4105fe3885 [AArch64 costs 13/18] Improve costs for div/mod
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
	DIV/MOD.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210505
2014-05-16 09:12:14 +00:00
James Greenhalgh
7cc2145f54 [AArch64 costs 12/18] Improve costs for sign/zero extracts
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
	SIGN/ZERO_EXTRACT.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210504
2014-05-16 09:07:34 +00:00
James Greenhalgh
ba0cfa1700 [AArch64 costs 11/18] Improve costs for rotate and shift operations.
* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
	rotates and shifts.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210503
2014-05-16 09:03:19 +00:00
James Greenhalgh
b1685e6274 [AArch64 costs 10/18] Improve costs for sign/zero extend operations
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Cost
	ZERO_EXTEND and SIGN_EXTEND better.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210502
2014-05-16 09:01:28 +00:00
James Greenhalgh
268c3b4758 [AArch64 costs 9/18] Better cost logical operations
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve cost for
	logical operations.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210501
2014-05-16 08:59:07 +00:00
James Greenhalgh
2961177e7d [AArch64 costs 8/18] Cost memory accesses using address costs
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Use address
	costs when costing loads and stores to memory.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210500
2014-05-16 08:56:54 +00:00
James Greenhalgh
ba123b0de5 [AArch64 costs 7/18] Improve SET cost.
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costing
	for SET RTX.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210499
2014-05-16 08:55:04 +00:00
James Greenhalgh
7fc5ef02f4 [AArch64 costs 6/18] Set default costs and handle vector modes.
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Set default costs.

From-SVN: r210498
2014-05-16 08:52:30 +00:00
James Greenhalgh
4745e70151 [AArch64 costs 5/18] Factor out common MULT cases
gcc/

	* config/aarch64/aarch64.c (aarch64_strip_shift_or_extend): Rename
	to...
	(aarch64_strip_extend): ...this, don't strip shifts, check RTX is
	well formed.
	(aarch64_rtx_mult_cost): New.
	(aarch64_rtx_costs): Use it, refactor as appropriate.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210497
2014-05-16 08:50:51 +00:00
James Greenhalgh
9dfc162c47 [AArch64 costs 4/18] Better estimate cost of building a constant
gcc/

	* config/aarch64/aarch64.c (aarch64_build_constant): Conditionally
	emit instructions, return number of instructions which would
	be emitted.
	(aarch64_add_constant): Update call to aarch64_build_constant.
	(aarch64_output_mi_thunk): Likewise.
	(aarch64_rtx_costs): Estimate cost of a CONST_INT, cost
	a CONST_DOUBLE.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210496
2014-05-16 08:47:59 +00:00
James Greenhalgh
0ee859b53b [AArch64 costs 3/18] Wrap aarch64_rtx_costs to dump verbose output
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
	(TARGET_RTX_COSTS): Call it.

From-SVN: r210495
2014-05-16 08:45:39 +00:00
James Greenhalgh
60bff09020 [AArch64 costs 2/18] Add cost tables for Cortex-A57
gcc/

	* config/aarch64/aarch64.c (cortexa57_addrcost_table): New.
	(cortexa57_vector_cost): Likewise.
	(cortexa57_tunings): Use them.

From-SVN: r210494
2014-05-16 08:43:51 +00:00
James Greenhalgh
677473677a [AArch64 costs 1/18] Refactor aarch64_address_costs.
gcc/

	* config/aarch64/aarch64-protos.h (scale_addr_mode_cost): New.
	(cpu_addrcost_table): Use it.
	* config/aarch64/aarch64.c (generic_addrcost_table): Initialize it.
	(aarch64_address_cost): Rewrite using aarch64_classify_address,
	move it.

From-SVN: r210493
2014-05-16 08:41:46 +00:00
Richard Biener
a764d66099 tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
2014-05-16  Richard Biener  <rguenther@suse.de>

	* tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
	(set_ssa_val_to): Handle unexpected sets to VN_TOP.
	(visit_phi): Ignore edges marked as not executable.
	(class cond_dom_walker): New.
	(cond_dom_walker::before_dom_children): Value-number
	control statements and mark successor edges as not
	executable if possible.
	(run_scc_vn): First walk all control statements in
	dominator order, marking edges as not executable.
	* tree-inline.c (copy_edges_for_bb): Be not confused
	about random edge flags.

	* gcc.dg/tree-ssa/ssa-fre-39.c: New testcase.
	* gcc.dg/tree-ssa/ssa-fre-40.c: Likewise.
	* gcc.dg/tree-ssa/ssa-pre-8.c: One more elimination.
	* gcc.dg/tree-ssa/struct-aliasing-2.c: Scan cddce1 dump.

From-SVN: r210492
2014-05-16 08:05:50 +00:00
Richard Biener
a27c386001 tree-ssa-sccvn.c (visit_use): Also constant-fold calls.
2014-05-16  Richard Biener  <rguenther@suse.de>

	* tree-ssa-sccvn.c (visit_use): Also constant-fold calls.

	* gcc.dg/tree-ssa/ssa-fre-41.c: New testcase.

From-SVN: r210491
2014-05-16 07:57:46 +00:00
Peter Bergner
d8c55b91ae re PR target/61193 (ABI incompatibility between POWER and Z HTM builtins and intrinsics)
PR target/61193
	* config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
	(__TM_simple_begin): Use it.
	(__TM_begin): Likewise.

From-SVN: r210486
2014-05-15 22:43:12 -05:00
GCC Administrator
ef1f23cc6b Daily bump.
From-SVN: r210484
2014-05-16 00:17:08 +00:00
Jonathan Wakely
c6139a7763 Fix typo in my name.
From-SVN: r210479
2014-05-15 20:12:04 +01:00
Martin Jambor
8a2256dda3 re PR ipa/61085 (wrong code with -O2 -fno-early-inlining (maybe wrong devirtualization))
2014-05-15  Martin Jambor  <mjambor@suse.cz>

	PR ipa/61085
	* ipa-prop.c (update_indirect_edges_after_inlining): Check
	type_preserved flag when the indirect edge is polymorphic.

testsuite/
	* g++.dg/ipa/pr61085.C: New test.

From-SVN: r210477
2014-05-15 17:04:18 +02:00
Martin Jambor
9d2681a399 re PR tree-optimization/61090 (ICE in build_ref_for_offset)
2014-05-15  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/61090
	* tree-sra.c (sra_modify_expr): Pass the current gsi to
	build_ref_for_model.

testsuite/
	* gcc.dg/tree-ssa/pr61090.c: New test.

From-SVN: r210476
2014-05-15 16:54:29 +02:00
Jason Merrill
8fa53379d5 * call.c (print_conversion_rejection): Use loc consistently.
From-SVN: r210475
2014-05-15 08:52:35 -04:00
Jonathan Wakely
c0eef1c8f2 re PR libstdc++/60326 (Incorrect type from std::make_unsigned<wchar_t>)
PR libstdc++/60326
	* include/std/type_traits (__make_unsigned, __make_signed): Define
	specializations for wchar_t, char16_t and char32_t.
	* testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
	* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
	test for make_unsigned<volatile wchar_t>.
	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
	line number.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.

From-SVN: r210473
2014-05-15 13:31:05 +01:00
Kyrylo Tkachov
927450d08c [ARM][cleanup] Use enum name instead of integer value for PARAM_SCHED_PRESSURE_ALGORITHM.
* config/arm/arm.c (arm_option_override): Use the SCHED_PRESSURE_MODEL
	enum name for PARAM_SCHED_PRESSURE_ALGORITHM.

From-SVN: r210471
2014-05-15 11:23:02 +00:00
Jonathan Wakely
3a004764ec tuple (tuple_size<cv _Tp>): Implement LWG 2313.
* include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
	* include/std/array (tuple_size, tuple_element): Add Doxygen comments.
	* include/std/utility (tuple_size, tuple_element): Likewise.
	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
	Adjust dg-error line number.

From-SVN: r210470
2014-05-15 11:35:29 +01:00
Jakub Jelinek
ceed6e6732 re PR middle-end/61158 (negative shift at fold-const.c:12095)
PR tree-optimization/61158
	* fold-const.c (fold_binary_loc): If X is zero-extended and
	shiftc >= prec, make sure zerobits is all ones instead of
	invoking undefined behavior.

	* gcc.dg/pr61158.c: New test.

From-SVN: r210467
2014-05-15 12:01:11 +02:00
Rainer Orth
a2555c65a0 Check for -static-libgcc before use (PR lto/60981)
PR lto/60981
	* configure.ac: Check for -static-libgcc.
	* configure: Regenerate.

From-SVN: r210465
2014-05-15 09:52:37 +00:00
Andreas Schwab
c4622c2bed exceptions-3.mm: Remove check for message no longer emitted.
* obj-c++.dg/exceptions-3.mm: Remove check for message no longer
emitted.
* obj-c++.dg/exceptions-5.mm: Likewise.

From-SVN: r210464
2014-05-15 09:34:27 +00:00
Zhenqiang Chen
a2e6c10cbd regcprop.h: New file.
2014-05-15  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* regcprop.h: New file.
	* regcprop.c (skip_debug_insn_p): New decl.
	(replace_oldest_value_reg): Check skip_debug_insn_p.
	(copyprop_hardreg_forward_bb_without_debug_insn.): New function.
	* shrink-wrap.c: include regcprop.h
	(prepare_shrink_wrap):
	Call copyprop_hardreg_forward_bb_without_debug_insn.

testsuite/ChangeLog:
2014-05-15  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* shrink-wrap-loop.c: New test case.

From-SVN: r210458
2014-05-15 06:54:48 +00:00
Zhenqiang Chen
e974b93b6c shrink-wrap.h: Update comment.
2014-05-15  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* shrink-wrap.h: Update comment.
	* shrink-wrap.c: Update comment.
	(next_block_for_reg): Rename to live_edge_for_reg.
	(live_edge_for_reg): Allow live_edge->dest has two predecessors.
	(move_insn_for_shrink_wrap): Split live_edge.
	(prepre_shrink_wrap): One more parameter for move_insn_for_shrink_wrap.

From-SVN: r210457
2014-05-15 06:30:58 +00:00
GCC Administrator
be60271113 Daily bump.
From-SVN: r210455
2014-05-15 00:17:01 +00:00
Sandra Loosemore
707f18393a configure.ac (target_makefile_frag): Set for nios2-*-elf*.
2014-05-14  Sandra Loosemore  <sandra@codesourcery.com>

	* configure.ac (target_makefile_frag): Set for nios2-*-elf*.
	* configure: Regenerated.

	config/
	* mt-nios2-elf: New file.

From-SVN: r210451
2014-05-14 19:20:59 -04:00
Joseph Myers
e494d89c37 * zh_CN.po: Update.
From-SVN: r210449
2014-05-15 00:04:48 +01:00
Torvald Riegel
7321dc60f4 Add myself as maintainer for libitm.
From-SVN: r210448
2014-05-14 22:37:28 +00:00
Jonathan Wakely
af222e7486 tuple (__add_c_ref, [...]): Remove.
* include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
	(__tuple_element_t): Define.
	(tuple_element): Use __tuple_element_t.
	(__cv_tuple_size): Define.
	(tuple_size<cv _Tp>): Use __cv_tuple_size.
	(get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
	(get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
	(__tuple_compare): Remove size check, re-order parameters.
	(operator==, operator<): Use static_assert to check requirements.
	* include/std/functional (__volget): use __tuple_element_t.
	* testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.

From-SVN: r210447
2014-05-14 23:16:35 +01:00
Eric Botcazou
88fe5e91e4 sparc-protos.h (sparc_absnegfloat_split_legitimate): Delete.
* config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
	Delete.
	* config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
	* config/sparc/sparc.md (fptype_ut699): New attribute.
	(in_branch_delay): Return false if -mfix-ut699 is specified and
	fptype_ut699 is set to single.
	(truncdfsf2): Add fptype_ut699 attribute.
	(fix_truncdfsi2): Likewise.
	(floatsisf2): Change fptype attribute.
	(fix_truncsfsi2): Likewise.
	(negtf2_notv9): Delete.
	(negtf2_v9): Likewise.
	(negtf2_hq): New instruction.
	(negtf2): New instruction and splitter.
	(negdf2_notv9): Rewrite.
	(abstf2_notv9): Delete.
	(abstf2_hq_v9): Likewise.
	(abstf2_v9): Likewise.
	(abstf2_hq): New instruction.
	(abstf2): New instruction and splitter.
	(absdf2_notv9): Rewrite.

From-SVN: r210444
2014-05-14 22:09:26 +00:00
Eric Botcazou
0263d67803 * seh_init.c: Fix copyright year.
From-SVN: r210443
2014-05-14 22:00:49 +00:00