Kai Tietz
d427aa2e04
re PR c++/61198 (Crash when selecting specializations through aliases.)
...
PR c++/61198
* g++.dg/template/using30.C: New file.
From-SVN: r218956
2014-12-19 17:47:59 +01:00
Kai Tietz
b00f4f15c1
re PR c++/61198 (Crash when selecting specializations through aliases.)
...
PR c++/61198
* pt.c (most_general_template): Don't break for template-alias.
From-SVN: r218955
2014-12-19 17:44:15 +01:00
Ian Lance Taylor
16f72d88dd
compiler: More cases that need a temporary for interface conversion.
...
From-SVN: r218952
2014-12-19 16:14:01 +00:00
Martin Liska
6b0e0695a5
re PR ipa/63569 (Wrong code with volatile and ICF)
...
Fix for PR ipa/63569.
PR ipa/63569
* gcc.dg/ipa/pr63569.c: New test.
PR ipa/63569
* ipa-icf-gimple.c (func_checker::compare_operand): Add missing
comparison for volatile flag.
From-SVN: r218949
2014-12-19 12:40:50 +00:00
Jakub Jelinek
1f8d3e84ee
re PR preprocessor/63831 (r217292 causes segfaults with -MM)
...
PR preprocessor/63831
* c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
and __has_cpp_attribute here.
* c-ppoutput.c (init_pp_output): Set cb->has_attribute to
c_common_has_attribute.
* c-common.h (c_common_has_attribute): New prototype.
* c-lex.c (init_c_lex): Set cb->has_attribute to
c_common_has_attribute instead of cb_has_attribute.
(get_token_no_padding): New function.
(cb_has_attribute): Renamed to ...
(c_common_has_attribute): ... this. No longer static. Use
get_token_no_padding, require ()s, don't build TREE_LIST
unnecessarily, fix up formatting, adjust diagnostics, call
init_attributes.
* directives.c (lex_macro_node): Remove __has_attribute__ handling.
* internal.h (struct spec_node): Remove n__has_attribute__ field.
(struct lexer_state): Remove in__has_attribute__ field.
* macro.c (_cpp_builtin_macro_text): Handle BT_HAS_ATTRIBUTE.
* identifiers.c (_cpp_init_hashtable): Remove __has_attribute__
handling.
* init.c (builtin_array): Add __has_attribute and __has_cpp_attribute.
(cpp_init_special_builtins): Don't initialize __has_attribute
or __has_cpp_attribute if CLK_ASM or pfile->cb.has_attribute is NULL.
* traditional.c (enum ls): Remove ls_has_attribute,
ls_has_attribute_close.
(_cpp_scan_out_logical_line): Remove __has_attribute__ handling.
* include/cpplib.h (enum cpp_builtin_type): Add BT_HAS_ATTRIBUTE.
* pch.c (cpp_read_state): Remove __has_attribute__ handling.
* expr.c (eval_token): Likewise.
(parse_has_attribute): Removed.
* c-c++-common/cpp/pr63831-1.c: New test.
* c-c++-common/cpp/pr63831-2.c: New test.
From-SVN: r218948
2014-12-19 13:20:58 +01:00
Kyrylo Tkachov
8a386c9113
[ARM][doc] Remove mention of Advanced RISC Machines
...
* doc/invoke.texi (ARM options): Remove mention of Advanced RISC
Machines.
From-SVN: r218897
2014-12-19 10:20:07 +00:00
James Greenhalgh
827785ddf6
Fix ChangeLog typo in 218895
...
From-SVN: r218896
2014-12-19 09:41:13 +00:00
Xingxing Pan
85e18759e7
[PATCH][ARM] Fix reservation pattern in cortex-a9-neon.md
...
gcc/
* config/arm/cortex-a9-neon.md (cortex_a9_neon_vmov): Change
reservation to cortex_a9_neon_dp.
From-SVN: r218895
2014-12-19 09:39:55 +00:00
Kaz Kojima
1e3e92b513
* [SH] Split QI/HImode load/store via r0 when LRA is enabled.
...
From-SVN: r218892
2014-12-19 04:56:26 +00:00
Kaz Kojima
74bd0da1fd
* [SH] Add splitter to addsi3_compact.
...
From-SVN: r218891
2014-12-19 04:53:57 +00:00
Kaz Kojima
6efc6b7f05
* [SH] Modify movsi_ie and movsf_ie patterns for LRA.
...
From-SVN: r218890
2014-12-19 04:51:53 +00:00
Kaz Kojima
fc1fcfa0b6
* [SH] Miscellaneous changes for LRA.
...
From-SVN: r218889
2014-12-19 04:49:16 +00:00
Kaz Kojima
106a52b7bf
* [SH] Add -mlra option.
...
From-SVN: r218888
2014-12-19 04:47:18 +00:00
Kaz Kojima
14133a4d8a
* Add TARGET_LEGITIMIZE_ADDRESS_DISPLACEMENT target macro.
...
From-SVN: r218887
2014-12-19 04:43:11 +00:00
Kaz Kojima
d6220b11a7
* Add TARGET_CANNOT_SUBSTITUTE_MEM_EQUIV target macro.
...
From-SVN: r218886
2014-12-19 04:40:11 +00:00
Kaz Kojima
70712859a1
lra-constraints.c (process_address_1): Swap base_term and index_term if INDEX_REG_CLASS is assigned to base_term...
...
* lra-constraints.c (process_address_1): Swap base_term and index_term
if INDEX_REG_CLASS is assigned to base_term already when INDEX_REG_CLASS
is a single register class.
From-SVN: r218885
2014-12-19 04:36:54 +00:00
Ian Lance Taylor
47b6f9825f
compiler: Avoid multiple evaluations in interface conversions.
...
Added assertions for cases that might lead to multiple
evaluations, and fixed all the problems I saw.
Test case already in master Go testsuite
(https://go-review.googlesource.com/#/c/1710/ ).
From-SVN: r218884
2014-12-19 04:05:59 +00:00
GCC Administrator
0f3e3f28e9
Daily bump.
...
From-SVN: r218883
2014-12-19 00:16:27 +00:00
Paolo Carlini
ac1a984a5f
re PR c++/63723 (Narrowing conversion allowed in braced init list in SFINAE context)
...
2014-12-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/63723
* g++.dg/cpp0x/sfinae54.C: New.
From-SVN: r218880
2014-12-19 00:02:05 +00:00
Jason Merrill
90f6debee4
re PR c++/64105 (ICE: in strip_typedefs, at cp/tree.c:1326)
...
PR c++/64105
* parser.c (cp_parser_simple_type_specifier): Make auto parameter
before -std=c++14 an error.
From-SVN: r218879
2014-12-18 18:53:15 -05:00
Paolo Carlini
18d27358a5
re PR c++/59204 (Incorrect metaprogram evaluation in SFINAE context)
...
2014-12-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59204
* g++.dg/cpp0x/sfinae53.C: New.
From-SVN: r218878
2014-12-18 23:43:46 +00:00
Jason Merrill
3696ea5851
re PR c++/64352 (No SFINAE with deleted function)
...
PR c++/64352
* pt.c (tsubst_copy_and_build): Pass complain to mark_used.
From-SVN: r218877
2014-12-18 17:22:42 -05:00
Jason Merrill
1b82e09e18
re PR c++/64251 (Chromium build error only with --enable-checking=yes)
...
PR c++/64251
* decl2.c (mark_used): Don't mark if in_template_function.
From-SVN: r218876
2014-12-18 17:22:36 -05:00
Vladimir Makarov
03b9b5ce20
lra-constraints.c (lra-constraints.c): Exchange places of sclass and dclass.
...
2014-12-18 Vladimir Makarov <vmakarov@redhat.com>
* lra-constraints.c (lra-constraints.c): Exchange places of sclass
and dclass.
From-SVN: r218875
2014-12-18 21:50:48 +00:00
Vladimir Makarov
32b38e8972
re PR rtl-optimization/64291 (Miscompile t-div in GMP's testsuite)
...
2014-12-18 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/64291
* lra-remat.c (bad_for_rematerialization_p): Add UNPSEC_VLOATILE.
(create_cands): Process only output reload insn with potential
cands.
2014-12-18 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/64291
* testsuite/gcc.target/i386/pr64291-[12].c: New tests.
From-SVN: r218874
2014-12-18 20:49:44 +00:00
Paolo Carlini
6e4992ca78
re PR c++/60955 (Erroneous warning about taking address of register with std=c++1y)
...
/cp
2014-12-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60955
* pt.c (struct warning_sentinel): Move it...
* cp-tree.h: ... here.
* semantics.c (force_paren_expr): Use it.
/testsuite
2014-12-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60955
* g++.dg/warn/register-parm-1.C: New.
From-SVN: r218871
2014-12-18 17:53:55 +00:00
H.J. Lu
fbe575b652
X86-64: Add -mskip-rax-setup
...
The Linux kernel never passes floating point arguments around, vararg
functions or not. Hence no vector registers are ever used when calling a
vararg function. But gcc still dutifully emits an "xor %eax,%eax" before
each and every call of a vararg function. Since no callee use that for
anything, these instructions are redundant.
This patch adds the -mskip-rax-setup option to skip setting up RAX
register when SSE is disabled and there are no variable arguments passed
in vector registers. Since RAX register is used to avoid unnecessarily
saving vector registers on stack when passing variable arguments, the
impacts of this option are callees may waste some stack space, misbehave
or jump to a random location. GCC 4.4 or newer don't those issues,
regardless the RAX register value since they don't check the RAX register
value when SSE is disabled.
gcc/
* config/i386/i386.c (ix86_expand_call): Skip setting up RAX
register for -mskip-rax-setup when there are no parameters
passed in vector registers.
* config/i386/i386.opt (mskip-rax-setup): New option.
* doc/invoke.texi: Document -mskip-rax-setup.
gcc/testsuite/
* gcc.target/i386/amd64-abi-7.c: New tests.
* gcc.target/i386/amd64-abi-8.c: Likwise.
* gcc.target/i386/amd64-abi-9.c: Likwise.
From-SVN: r218870
2014-12-18 09:35:45 -08:00
Alan Lawrence
8448880117
[AArch64] Simplify+improve patterns for ushr(d?)_n_u64 intrinsic
...
gcc/:
* config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): Handle shift
by 64 by moving const0_rtx.
(aarch64_ushr_simddi): Delete.
* config/aarch64/aarch64.md (enum unspec): Delete UNSPEC_USHR64.
gcc/testsuite/:
* gcc.target/aarch64/ushr64_1.c: Remove scan-assembler "ushr...64".
From-SVN: r218868
2014-12-18 15:20:11 +00:00
Alan Lawrence
b5b34d3759
[AArch64] Simplify patterns for sshr_n_[us]64 intrinsic
...
* config/aarch64/aarch64.md (enum "unspec"): Remove UNSPEC_SSHR64.
* config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): Change shift
amount to 63 if was 64.
(aarch64_sshr_simddi): Remove.
From-SVN: r218867
2014-12-18 15:00:51 +00:00
Wilco Dijkstra
26e0ff9411
[AArch64] Add TARGET_MIN_DIVISIONS_FOR_RECIP_MUL
...
2014-12-18 Wilco Dijkstra <wilco.dijkstra@arm.com>
* gcc/config/aarch64/aarch64.c (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL):
Define.
(aarch64_min_divisions_for_recip_mul): New function.
From-SVN: r218866
2014-12-18 13:48:34 +00:00
Wilco Dijkstra
0b82a5a253
[AArch64] Generalize code alignment
...
2014-12-18 Wilco Dijkstra <wilco.dijkstra@arm.com>
* config/aarch64/aarch64-protos.h (tune-params): Add code alignment
tuning parameters.
* gcc/config/aarch64/aarch64.c (generic_tunings): Add code alignment
tuning parameters.
(cortexa53_tunings): Likewise.
(cortexa57_tunings): Likewise.
(thunderx_tunings): Likewise.
(aarch64_override_options): Use new alignment tunings.
From-SVN: r218865
2014-12-18 13:46:22 +00:00
Martin Liska
09cb9532c4
re PR tree-optimization/64330 (IPA-ICF merges const exported vars that could be addressable in other TUs)
...
Fix for PR64330.
PR tree-optimization/64330
* ipa-icf.c (sem_variable::parse): Add checking
for externally visible symbols and do not introduce
an alias for an external declaration.
From-SVN: r218864
2014-12-18 13:32:18 +00:00
Jan Hubicka
2ddeb89bf5
re PR bootstrap/63573 (libgo: ICE building libgo on powerpc-linux-gnu)
...
Fix for PR bootstrap/63573.
PR bootstrap/63573
* tree-inline.c (remap_gimple_stmt): Handle gimple_call_from_thunk_p
predicate.
From-SVN: r218861
2014-12-18 12:06:34 +00:00
Martin Liska
544dafa696
re PR ipa/64146 (ipa-icf breaks gold dynamic_test_2 test)
...
Fix for PR ipa/64146
PR ipa/64146
* ipa-icf.c (sem_function::merge): Check for
decl_binds_to_current_def_p is newly added to merge operation.
* g++.dg/ipa/pr64146.C: New test.
From-SVN: r218860
2014-12-18 12:02:22 +00:00
Rainer Orth
72c122a20e
Change mpx effective-target test into link test
...
* lib/mpx-dg.exp (check_effective_target_mpx): Change into link test.
Add main.
From-SVN: r218859
2014-12-18 11:54:40 +00:00
Rainer Orth
d8b1c7f44b
Include target-utils.exp in boehm-gc testing
...
* testsuite/lib/boehm-gc.exp: Load target-utils.exp.
From-SVN: r218857
2014-12-18 09:42:22 +00:00
Prathamesh Kulkarni
0ecc12d8f0
Add myself to MAINTAINERS under Writer After Approval
...
From-SVN: r218856
2014-12-18 06:19:33 +00:00
Bin Cheng
6326a5f515
re PR middle-end/62178 ([AArch64] Performance regression on matrix matrix multiply due to r211211)
...
PR tree-optimization/62178
* tree-ssa-loop-ivopts.c (cheaper_cost_with_cand): New function.
(iv_ca_replace): New function.
(try_improve_iv_set): New parameter try_replace_p.
Break local optimal fixed-point by calling iv_ca_replace.
(find_optimal_iv_set_1): Pass new argument to try_improve_iv_set.
gcc/testsuite/ChangeLog
PR tree-optimization/62178
* gcc.target/aarch64/pr62178.c: New test.
From-SVN: r218855
2014-12-18 02:53:42 +00:00
Dehao Chen
29ca9bfb90
auto-profile.c (afdo_annotate_cfg): Invoke update_ssa in the right place.
...
gcc/ChangeLog:
2014-12-17 Dehao Chen <dehao@google.com>
* auto-profile.c (afdo_annotate_cfg): Invoke update_ssa in the right
place.
(auto_profile): Recompute inline summary after processing cgraph node.
From-SVN: r218854
2014-12-18 00:19:24 +00:00
GCC Administrator
6fc5f22af3
Daily bump.
...
From-SVN: r218853
2014-12-18 00:16:36 +00:00
Oleg Endo
89f8797ee1
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
...
gcc/
PR target/51244
* config/sh/sh_treg_combine.cc (is_conditional_insn): New function.
(cbranch_trace): Add member rtx* condition_rtx_in_insn, initialize it
accordingly in constructor.
(cbranch_trace::branch_condition_rtx_ref): New function.
(cbranch_trace::branch_condition_rtx): Use branch_condition_rtx_ref.
(sh_treg_combine::try_invert_branch_condition): Invert condition rtx
in insn using reversed_comparison_code and validate_change instead of
invert_jump_1.
(sh_treg_combine::execute): Look for conditional insns in basic blocks
in addition to conditional branches.
* config/sh/sh.md (*movsicc_div0s): Remove combine patterns.
From-SVN: r218850
2014-12-17 23:08:14 +00:00
Oleg Endo
ff49a9ba7b
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
...
gcc/
PR target/51244
* config/sh/sh_treg_combine.cc (sh_treg_combine::try_optimize_cbranch):
Combine ccreg inversion and cbranch into inverted cbranch.
From-SVN: r218847
2014-12-17 22:52:21 +00:00
Sergio Durigan Junior
64e6d5c442
dg-extract-results.sh: Use --text with grep to avoid issues with binary files.
...
2014-12-17 Sergio Durigan Junior <sergiodj@redhat.com>
* dg-extract-results.sh: Use --text with grep to avoid issues with
binary files. Fall back to cat -v, if that doesn't work.
From-SVN: r218843
2014-12-17 22:35:04 +00:00
Vladimir Makarov
113050e74b
Fix typo in changelog.
...
From-SVN: r218836
2014-12-17 21:29:01 +00:00
Vladimir Makarov
cdfc4dcf48
lra-constrints.c (process_alt_operands): Remove non allocatable hard regs when considering ira_prohibited_class_mode_regs.
...
2014-12-17 Vladimir Makarov <vmakarov@redhat.com>
* lra-constrints.c (process_alt_operands): Remove non allocatable
hard regs when considering ira_prohibited_class_mode_regs.
From-SVN: r218835
2014-12-17 21:25:18 +00:00
Janus Weil
f4e2df8970
re PR fortran/64173 ([F03] ICE involving procedure pointer component)
...
2014-12-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/64173
* trans-array.c (structure_alloc_comps): Do not nullify procedure
pointer components.
2014-12-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/64173
* gfortran.dg/proc_ptr_comp_40.f90: New.
From-SVN: r218834
2014-12-17 22:12:42 +01:00
Jan Hubicka
6c0c245e30
sreal.h (sreal::normalize): Implement inline.
...
* sreal.h (sreal::normalize): Implement inline.
(sreal::normalize_up): New function.
(sreal::normalize_down): New function.
* sreal.c (sreal::normalize): Remove.
From-SVN: r218833
2014-12-17 21:11:46 +00:00
Jason Merrill
12d9ce1903
re PR c++/64333 (C++14 constexpr gives wrong results when a looping constexpr function is evaluated twice)
...
PR c++/64333
* constexpr.c (cxx_bind_parameters_in_call): non_constant_args parm.
(cxx_eval_call_expression): Don't cache calls with non-constant args.
(cxx_eval_constant_expression) [COMPOUND_EXPR]: Pass true for lval.
(cxx_eval_unary_expression, cxx_eval_binary_expression)
(cxx_eval_conditional_expression): Pass false for lval.
From-SVN: r218832
2014-12-17 15:41:18 -05:00
Jason Merrill
92a596e856
* constexpr.c: Change "addr" parm names to "lval".
...
From-SVN: r218831
2014-12-17 15:41:12 -05:00
Jason Merrill
13f649f66c
* constexpr.c: Tweak comments and formatting.
...
From-SVN: r218830
2014-12-17 15:41:07 -05:00