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
Cary Coutant
bc91b0e086
Change -g so that it will override -g1 but not -g3.
...
gcc/
PR debug/61013
* opts.c (common_handle_option): Don't special-case "-g".
(set_debug_level): Default to at least level 2 with "-g".
From-SVN: r210442
2014-05-14 14:48:47 -07:00
DJ Delorie
5f35dde552
msp430.c (msp430_builtin): Add MSP430_BUILTIN_DELAY_CYCLES.
...
* config/msp430/msp430.c (msp430_builtin): Add
MSP430_BUILTIN_DELAY_CYCLES.
(msp430_init_builtins): Register void __delay_cycles(long long).
(msp430_builtin_decl): Add it.
(cg_magic_constant): New.
(msp430_expand_delay_cycles): New.
(msp430_expand_builtin): Call it.
(msp430_print_operand_raw): Change integer printing from "int" to
HOST_WIDE_INT.
* config/msp430/msp430.md (define_constants): Add delay_cycles tags.
(delay_cycles_start): New.
(delay_cycles_end): New.
(delay_cycles_32): New.
(delay_cycles_32x): New.
(delay_cycles_16): New.
(delay_cycles_16x): New.
(delay_cycles_2): New.
(delay_cycles_1): New.
* doc/extend.texi: Document __delay_cycles().
From-SVN: r210441
2014-05-14 17:27:21 -04:00
Sandra Loosemore
5d40b20f6e
nios2.md (nios2_cbranch): Fix paste-o in length attribute computation.
...
2014-05-14 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/nios2/nios2.md (nios2_cbranch): Fix paste-o in
length attribute computation.
From-SVN: r210440
2014-05-14 17:18:33 -04:00
Paolo Carlini
014397c22e
cp-tree.h (DIRECT_LIST_INIT_P): Add.
...
2014-05-14 Paolo Carlini <paolo.carlini@oracle.com>
* cp-tree.h (DIRECT_LIST_INIT_P): Add.
* call.c (convert_like_real, build_new_method_call_1): Use it.
* decl2.c (grokfield): Likewise.
* init.c (perform_member_init, build_aggr_init, expand_default_init,
build_new_1): Likewise.
* mangle.c (write_expression): Likewise.
* parser.c (cp_parser_late_parse_one_default_arg): Likewise.
From-SVN: r210438
2014-05-14 20:56:04 +00:00
Bernd Edlinger
d40aeed84d
Fix current cygwin build problems.
...
2014-05-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
Fix current cygwin build problems.
* seh_init.c (__gnat_map_SEH): Compile also when __CYGWIN__ and __SEH__
are defined. Move include windows.h before system.h.
* s-oscons-tmplt.c (DTR_CONTROL_ENABLE, RTS_CONTROL_ENABLE): Compile
also when __CYGWIN__ is defined. Include windef.h before winbase.h.
From-SVN: r210437
2014-05-14 17:15:06 +00:00
Jason Merrill
d02f620dc0
re PR c++/20332 (poor diagnostic when bind non lvalue to a reference for default arguments)
...
PR c++/20332
PR c++/21631
* call.c (reference_binding): Treat lvalue/rvalue mismatch and
dropped cv-quals as a bad conversion.
(convert_like_real) [ck_ref_bind]: Explain them.
(compare_ics): Check badness before stripping reference
bindings. Handle comparing bad reference bindings.
* typeck.c (comp_cv_qualification): Add overload that just takes
integers.
* cp-tree.h: Declare it.
From-SVN: r210436
2014-05-14 12:48:07 -04:00