platform/upstream/linaro-gcc.git
8 years ago PR tree-optimization/69207
jakub [Mon, 11 Jan 2016 17:55:38 +0000 (17:55 +0000)]
PR tree-optimization/69207
* tree-vect-slp.c (vect_get_constant_vectors): For
VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
fold_convertible_p to vector_type's element type, and always
use VCE for non-VECTOR_BOOLEAN_TYPE_P.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232233 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoallocator_traits<allocator<T>> partial specialization
redi [Mon, 11 Jan 2016 16:47:58 +0000 (16:47 +0000)]
allocator_traits<allocator<T>> partial specialization

PR libstdc++/60976
* include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
Define partial specialization.
* testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
destroy members to std::allocator explicit specialization.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232232 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc.target/i386/pr66232-10.c: Do not compile on ia32 target.
uros [Mon, 11 Jan 2016 16:31:55 +0000 (16:31 +0000)]
* gcc.target/i386/pr66232-10.c: Do not compile on ia32 target.
* gcc.target/i386/pr66232-11.c: Ditto.
* gcc.target/i386/pr66232-12.c: Ditto.
* gcc.target/i386/pr66232-13.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232231 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-01-11 Richard Biener <rguenther@suse.de>
rguenth [Mon, 11 Jan 2016 16:02:23 +0000 (16:02 +0000)]
2016-01-11  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69173
* tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
fixup the cycle if all stmts are in a pattern.

* gcc.dg/torture/pr69173.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232230 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR middle-end/68999
uros [Mon, 11 Jan 2016 15:48:40 +0000 (15:48 +0000)]
PR middle-end/68999
* alias.c (base_alias_check): Move check for addresses with
alignment ANDs before the call for compare_base_decls.
(memrefs_conflict_p): Return -1 for different decls
that went through alignment adjustments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232229 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] PR rtl-optimization/68796: Add patterns for QImode and HImode comparison...
ktkachov [Mon, 11 Jan 2016 14:44:22 +0000 (14:44 +0000)]
[AArch64] PR rtl-optimization/68796: Add patterns for QImode and HImode comparison with zero

PR rtl-optimization/68796
* config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
* config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
and QImode comparisons against zero with CC_NZmode.
* config/aarch64/iterators.md (short_mask): New mode_attr.

* gcc.target/aarch64/tst_5.c: New test.
* gcc.target/aarch64/tst_6.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232228 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agonvptx plugin: do not force JIT target SM version
amonakov [Mon, 11 Jan 2016 12:55:31 +0000 (12:55 +0000)]
nvptx plugin: do not force JIT target SM version

When link_ptx runs, a CUDA device is already bound to current thread, so the
driver library knows the target architecture.  There isn't any benefit from
forcing a specific target here; on the contrary, hardcoding sm_30 breaks
offloading on later (Maxwell, sm_5x) devices.

* plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232227 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRemove snprintf from <avx512>_(load|store)<mode>_mask
hjl [Mon, 11 Jan 2016 12:33:25 +0000 (12:33 +0000)]
Remove snprintf from <avx512>_(load|store)<mode>_mask

This patch removes snprintf from <avx512>_(load|store)<mode>_mask
patterns.

* config/i386/sse.md (<avx512>_load<mode>_mask): Remove
snprintf.
(<avx512>_store<mode>_mask): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232225 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[RTL-ifcvt] PR rtl-optimization/68841: Make sure one basic block doesn't clobber...
ktkachov [Mon, 11 Jan 2016 12:13:50 +0000 (12:13 +0000)]
[RTL-ifcvt] PR rtl-optimization/68841: Make sure one basic block doesn't clobber CC reg usage of the other

        PR rtl-optimization/68841
        * ifcvt.c (struct noce_if_info): Add orig_x field.
        (bbs_ok_for_cmove_arith): Add to_rename parameter.
        Don't record conflicts on to_rename if it's present.
        Allow memory destinations in sets.
        (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
        blocks, passing orig_x to the checks.
        (noce_process_if_block): Set if_info->orig_x appropriately.

        * gcc.dg/pr68841.c: New test.
        * gcc.c-torture/execute/pr68841.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232223 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdd missing phi args in create_parallel_loop
vries [Mon, 11 Jan 2016 12:08:38 +0000 (12:08 +0000)]
Add missing phi args in create_parallel_loop

2016-01-11  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/69069
* tree-parloops.c (create_parallel_loop): Add missing phi args.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232221 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
ienkovich [Mon, 11 Jan 2016 12:07:31 +0000 (12:07 +0000)]
gcc/

2016-01-11  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR rtl-optimization/68920
* config/i386/i386.c (ix86_option_override_internal): Restrict number
of conditional moves for  RTL if-conversion to 1 for
TARGET_ONE_IF_CONV_INSN.
* config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
* config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
* params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
parameter to restirct number of conditional moves for
RTL if-conversion.
* doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
conditionl moves.

gcc/testsuite/

2016-01-11  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR rtl-optimization/68920
* gcc.dg/ifcvt-4.c: Add "--param max-rtl-if-conversion-insns=3" option
for ix86 targets.
* gcc.dg/ifcvt-5.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232220 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PR69123] fix handling of MEMs in VTA to avoid dataflow oscillation
aoliva [Mon, 11 Jan 2016 10:40:33 +0000 (10:40 +0000)]
[PR69123] fix handling of MEMs in VTA to avoid dataflow oscillation

The problem arises because we used to drop overwritten MEMs from loc
lists of VALUEs, but not of other onepart variables, and it just so
happens that, by doing so, block 6 in the testcase has no D#5 in its
output in the first pass, because the MEM holding its (previous) value
was correctly dropped from value 88:88, but gains it in the second
pass because D#5 has the MEM location incoming directly in its loc
list, rather than indirectly in a VALUE.

This incorrect binding enables other blocks to believe they have a
tentative binding for D#5 in some cycles, but others, still operating
on the early conclusion, believe there isn't, and they oscillate from
that.

Since we check for escaping MEMs in clobbers, we won't lose anything
relevant by dropping call-clobbered or overwritten MEMs in all onepart
variables, and this ensures the loc intersection operation in onepart
vars won't let a MEM through that wasn't present in earlier
iterations.

for  gcc/ChangeLog

PR bootstrap/69123
* var-tracking.c (drop_overlapping_mem_locs): Operate on all
onepart vars.  Fix typo in comment.  Fix reversed condition in
unshare test.
(dataflow_set_remove_mem_locs): Operate on all onepart vars.

for gcc/testsuite/ChangeLog

PR bootstrap/69123
* g++.dg/pr69123.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232218 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PR69123] make dataflow_set_different details more verbose
aoliva [Mon, 11 Jan 2016 10:40:12 +0000 (10:40 +0000)]
[PR69123] make dataflow_set_different details more verbose

for  gcc/ChangeLog

PR bootstrap/69123
* var-tracking.c (dump_onepart_variable_differences): New.
(dataflow_set_different): If a detailed dump is requested,
delay early returns and dump differences between onepart
variables present before and after, and added variables.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232217 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
ienkovich [Mon, 11 Jan 2016 10:27:17 +0000 (10:27 +0000)]
gcc/

PR target/69010
* expr.c (expand_expr_real_1): For boolean vector constants
with a scalar mode use const_scalar_mask_from_tree.
(const_scalar_mask_from_tree): New.
* optabs.c (expand_vec_cond_mask_expr): Use mask mode
assigned to a mask type to handle constants.

gcc/testsuite/

PR target/69010
* gcc.target/i386/pr69010.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232216 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PR ipa/69044] Do not clone for param removal when not possible
jamborm [Mon, 11 Jan 2016 10:09:17 +0000 (10:09 +0000)]
[PR ipa/69044] Do not clone for param removal when not possible

2016-01-11  Martin Jambor  <mjambor@suse.cz>

PR ipa/69044
* ipa-cp.c (estimate_local_effects): Do not clone for removal of
useless parameters if we cannot change function signature.

testsuite/
* gcc.target/i386/chkp-pr69044.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232215 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PR ipa/66616] Copy can_change_signature flag to artificial thunks
jamborm [Mon, 11 Jan 2016 10:03:44 +0000 (10:03 +0000)]
[PR ipa/66616] Copy can_change_signature flag to artificial thunks

2016-01-11  Martin Jambor  <mjambor@suse.cz>

PR ipa/66616
* cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
flag.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232214 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDon't allow latch with phi in try_transform_to_exit_first_loop_alt
vries [Mon, 11 Jan 2016 09:38:28 +0000 (09:38 +0000)]
Don't allow latch with phi in try_transform_to_exit_first_loop_alt

2016-01-11  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/69109
* tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
latch with phi.

* gcc.dg/autopar/pr69109-2.c: New test.
* gcc.dg/autopar/pr69109.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232212 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoHandle case that outer phi res is not used in a phi in gather_scalar_reductions
vries [Mon, 11 Jan 2016 09:19:33 +0000 (09:19 +0000)]
Handle case that outer phi res is not used in a phi in gather_scalar_reductions

2016-01-11  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/69108
* tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
res is not used in a phi.

* gcc.dg/autopar/pr69108.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232211 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix docs for -frandom-seed.
ygribov [Mon, 11 Jan 2016 09:06:14 +0000 (09:06 +0000)]
Fix docs for -frandom-seed.

2016-01-11  Yury Gribov  <y.gribov@samsung.com>

PR 67425
* common.opt (frandom-seed): Fix parameter name.
* doc/invoke.texi (frandom-seed): Ditto and describe parameter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232209 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDon't parallelize loops if libgomp not supported
vries [Mon, 11 Jan 2016 08:55:16 +0000 (08:55 +0000)]
Don't parallelize loops if libgomp not supported

2016-01-11  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/69058
* tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
not supported.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232208 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com>
amylaar [Mon, 11 Jan 2016 04:11:19 +0000 (04:11 +0000)]
2016-01-11  Andrew Burgess  <andrew.burgess@embecosm.com>

        * config/arc/arc.opt (mdiv-rem): Add period to the end.
        (mcode-density): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232207 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Mon, 11 Jan 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232206 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix -Wmisleading indentation false-positive for do-while statement
ppalka [Sun, 10 Jan 2016 16:39:39 +0000 (16:39 +0000)]
Fix -Wmisleading indentation false-positive for do-while statement

gcc/c-family/ChangeLog:

PR c++/69029
* c-indentation.c (should_warn_for_misleading_indentation):
Don't warn about do-while statements.

gcc/testsuite/ChangeLog:

PR c++/69029
* c-c++-common/Wisleading-indentation.c: Augment test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232202 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-01-10 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sun, 10 Jan 2016 13:18:54 +0000 (13:18 +0000)]
2016-01-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/69154
* frontend-passes.c (in_where):  New variable.
(inline_matmul_assign):  Don't try this if we are within
a WHERE statement.
(gfc_code_walker):  Keep track of in_where.

2016-01-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/69154
* gfortran.dg/inline_matmul_12.f90:  New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232201 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-01-10 Paul Thomas <pault@gcc.gnu.org>
pault [Sun, 10 Jan 2016 12:56:28 +0000 (12:56 +0000)]
2016-01-10  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/67779
* trans_array.c (gfc_conv_scalarized_array_ref): Add missing
se->use_offset from condition for calculation of 'base'.

2016-01-10  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/67779
* gfortran.dg/actual_array_offset_1: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232200 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDon't parallelize loops containing phis with addr_exprs
vries [Sun, 10 Jan 2016 12:44:57 +0000 (12:44 +0000)]
Don't parallelize loops containing phis with addr_exprs

2016-01-10  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/69062
* tree-parloops.c (loop_has_phi_with_address_arg): New function.
(parallelize_loops): Don't paralelize loop that has phi with address
arg.

* gcc.dg/autopar/pr69062.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232199 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix scan-tree-dump syntax
tschwinge [Sun, 10 Jan 2016 12:12:38 +0000 (12:12 +0000)]
Fix scan-tree-dump syntax

gcc/testsuite/
* gcc.dg/vect/slp-perm-1.c: Fix scan-tree-dump syntax.
* gcc.dg/vect/slp-perm-2.c: Likewise.
* gcc.dg/vect/slp-perm-3.c: Likewise.
* gcc.dg/vect/slp-perm-5.c: Likewise.
* gcc.dg/vect/slp-perm-6.c: Likewise.
* gcc.dg/vect/slp-perm-7.c: Likewise.
* gcc.dg/vect/slp-perm-8.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232197 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoOnly allow single exit phi for reduction in try_create_reduction_list
vries [Sun, 10 Jan 2016 09:12:03 +0000 (09:12 +0000)]
Only allow single exit phi for reduction in try_create_reduction_list

2016-01-10  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/69039
* tree-parloops.c (try_create_reduction_list): Only allow single exit
phi for reduction.

* gcc.dg/autopar/pr69039.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232196 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Sun, 10 Jan 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232194 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR middle-end/68743
danglin [Sat, 9 Jan 2016 18:13:44 +0000 (18:13 +0000)]
PR middle-end/68743
* match.pd: Require target has function_c99_misc before doing
truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232191 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * configure.ac (isl_options_set_schedule_serialize_sccs): Also
gerald [Sat, 9 Jan 2016 13:25:22 +0000 (13:25 +0000)]
* configure.ac (isl_options_set_schedule_serialize_sccs): Also
use GMPINC.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232190 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/69113
mpolacek [Sat, 9 Jan 2016 11:15:26 +0000 (11:15 +0000)]
PR c++/69113
* decl2.c (comdat_linkage): Only set DECL_COMDAT if TREE_PUBLIC is set.

* g++.dg/pr69113.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232189 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR middle-end/50865
jakub [Sat, 9 Jan 2016 07:37:04 +0000 (07:37 +0000)]
PR middle-end/50865
PR tree-optimization/69097
* fold-const.h (expr_not_equal_to): New prototype.
* fold-const.c: Include stringpool.h and tree-ssanames.h.
(expr_not_equal_to): New function.
* match.pd (X % -Y is the same as X % Y): Don't optimize
unless X is known not to be equal to minimum or Y is known
not to be equal to -1.
* tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
fold TRUNC_MOD_EXPR if the second argument is not a power of two.
(simplify_stmt_using_ranges): Adjust caller.
(vrp_finalize): Call set_value_range on SSA_NAMEs before calling
substitute_and_fold.

* gcc.c-torture/execute/pr50865.c: New test.
* gcc.c-torture/execute/pr69097-1.c: New test.
* gcc.c-torture/execute/pr69097-2.c: New test.
* gcc.dg/pr69097-1.c: New test.
* gcc.dg/pr69097-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232188 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/69164
jakub [Sat, 9 Jan 2016 07:34:41 +0000 (07:34 +0000)]
PR c++/69164
* class.c (layout_class_type): Use copy_node to copy FIELD_DECLs.

* g++.dg/opt/pr69164.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232187 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/69158
jason [Sat, 9 Jan 2016 05:12:03 +0000 (05:12 +0000)]
PR c++/69158

* constexpr.c (cxx_fold_indirect_ref): Handle array type differing
in completion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232186 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Sat, 9 Jan 2016 00:16:11 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232184 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
hubicka [Fri, 8 Jan 2016 21:19:04 +0000 (21:19 +0000)]
* ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
w/o DECL_NAME.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232179 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR tree-optimization/69167
jakub [Fri, 8 Jan 2016 20:50:24 +0000 (20:50 +0000)]
    PR tree-optimization/69167
        * gimple-fold.c (replace_stmt_with_simplification): Also punt if
new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
ops[0] comparison.
* gimple-match-head.c (maybe_push_res_to_seq): Likewise.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232178 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/68449
mpolacek [Fri, 8 Jan 2016 19:08:37 +0000 (19:08 +0000)]
PR c++/68449
* constexpr.c (cxx_eval_constant_expression): Handle NULL initializer.

* g++.dg/pr68449.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232176 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PATCH] Fix PR68707
alalaw01 [Fri, 8 Jan 2016 18:02:35 +0000 (18:02 +0000)]
[PATCH] Fix PR68707

gcc/:
* tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
instances that can be handled via vect_load_lanes.

gcc/testsuite/:

* lib/target-supports.exp (check_effective_target_vect_load_lanes): New.
* gcc.dg/vect/slp-perm-1.c: Look for vect_load_lanes instead of SLP
on platforms supporting it.
* gcc.dg/vect/slp-perm-2.c: Likewise.
* gcc.dg/vect/slp-perm-3.c: Likewise.
* gcc.dg/vect/slp-perm-5.c: Likewise.
* gcc.dg/vect/slp-perm-7.c: Likewise.
* gcc.dg/vect/slp-perm-8.c: Likewise.
* gcc.dg/vect/slp-perm-6.c: Look for vect_load_lanes in addition to SLP
on platforms supporting it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232174 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
uros [Fri, 8 Jan 2016 16:13:18 +0000 (16:13 +0000)]
* symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
if we can't determine address equivalence.
* alias.c (compare_base_decl): Update for changed return value of
symtab_node::equal_address_to.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232172 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * constexpr.c (cxx_eval_call_expression): Remove convert_to_void
jason [Fri, 8 Jan 2016 16:01:17 +0000 (16:01 +0000)]
* constexpr.c (cxx_eval_call_expression): Remove convert_to_void
workaround.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232168 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/68983 (BE)
jason [Fri, 8 Jan 2016 16:01:12 +0000 (16:01 +0000)]
PR c++/68983 (BE)

PR c++/67557
gcc/
* function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
* expr.c (store_field): Not here.
* tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
call with TREE_ADDRESSABLE type.
* tree-cfg.c (verify_gimple_call): Adjust.
gcc/cp/
* cvt.c (convert_to_void): Don't strip a TARGET_EXPR of
TREE_ADDRESSABLE type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232167 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/68983 (FE)
jason [Fri, 8 Jan 2016 16:01:05 +0000 (16:01 +0000)]
PR c++/68983 (FE)

PR c++/67557
* call.c (unsafe_copy_elision_p): Look through COMPOUND_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232166 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoUse -std option in test for C99 macros in <cmath>
redi [Fri, 8 Jan 2016 14:59:36 +0000 (14:59 +0000)]
Use -std option in test for C99 macros in <cmath>

* testsuite/26_numerics/headers/cmath/
c99_classification_macros_c++.cc: Rename to ...
* testsuite/26_numerics/headers/cmath/
c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
* testsuite/26_numerics/headers/cmath/
c99_classification_macros_c++0x.cc: Rename to ...
* testsuite/26_numerics/headers/cmath/
c99_classification_macros_c++11.cc: Here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232165 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
hainque [Fri, 8 Jan 2016 14:34:08 +0000 (14:34 +0000)]
* config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
libc_internal.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232164 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix PR number in previous commit
redi [Fri, 8 Jan 2016 13:19:25 +0000 (13:19 +0000)]
Fix PR number in previous commit

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232163 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdd missing include for std::__addressof
redi [Fri, 8 Jan 2016 13:14:01 +0000 (13:14 +0000)]
Add missing include for std::__addressof

PR libstdc++/69160
* include/bits/uses_allocator.h: Add missing include.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232162 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PATCH][RS6000] Migrate reduction optabs in paired.md
alalaw01 [Fri, 8 Jan 2016 11:15:58 +0000 (11:15 +0000)]
[PATCH][RS6000] Migrate reduction optabs in paired.md

* gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
(reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
(reduc_smin_v2sf): Rename to...
(reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
(reduc_splus_v2sf): Rename to...
(reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232158 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR tree-optimization/69162
jakub [Fri, 8 Jan 2016 10:14:29 +0000 (10:14 +0000)]
PR tree-optimization/69162
* gimplify.c (gimplify_va_arg_expr): Encode original type of
valist argument in another argument.
(gimplify_modify_expr): Adjust for the above change.  Cleanup.
* tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
to determine the va_list type, build a MEM_REF instead of
build_fold_indirect_ref.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232156 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR tree-optimization/69172
jakub [Fri, 8 Jan 2016 10:13:23 +0000 (10:13 +0000)]
PR tree-optimization/69172
* gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
gimple_build.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232155 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Fri, 8 Jan 2016 09:21:19 +0000 (09:21 +0000)]
2016-01-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR tree-optimization/67781
    * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
    and cmpnop in two steps: first the ones not accessed in original
    gimple expression in a endian independent way and then the ones not
    accessed in the final result in an endian-specific way.

    gcc/testsuite/
    PR tree-optimization/67781
    * gcc.c-torture/execute/pr67781.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232154 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR tree-optimization/69083
jakub [Fri, 8 Jan 2016 08:37:17 +0000 (08:37 +0000)]
PR tree-optimization/69083
* tree-vect-slp.c (vect_get_constant_vectors): For
VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
element type.  If op is fold_convertible_p to vector_type's element
type, use NOP_EXPR instead of VCE.

* gcc.dg/vect/pr69083.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232153 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRestrict to linux and gnu targets as not all math.h implementations support the
ssaraswati [Fri, 8 Jan 2016 08:35:02 +0000 (08:35 +0000)]
Restrict to linux and gnu targets as not all math.h implementations support the
issignaling macro. Use -fexcess-precision=standard for compiler options. Use fabs()
only when  __FLT_EVAL_METHOD__ == 0.

gcc/testsuite/
* gcc.dg/pr61441.c: Restrict to linux and gnu targets.
Use -fexcess-precision=standard for compiler options.
Use fabs() only when  __FLT_EVAL_METHOD__ == 0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232152 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR fortran/69128
jakub [Fri, 8 Jan 2016 06:45:18 +0000 (06:45 +0000)]
PR fortran/69128
* trans.h (OMPWS_SCALARIZER_BODY): Define.
(OMPWS_NOWAIT): Renumber.
* trans-stmt.c (gfc_trans_where_3): Only set OMPWS_SCALARIZER_WS
if OMPWS_SCALARIZER_BODY is not set already, and set also
OMPWS_SCALARIZER_BODY until the final loop creation.
* trans-expr.c (gfc_trans_assignment_1): Likewise.
* trans-openmp.c (gfc_trans_omp_workshare): Also clear
OMPWS_SCALARIZER_BODY.
* trans-array.c (gfc_trans_scalarized_loop_end): Don't create
OMP_FOR if OMPWS_SCALARIZER_BODY is set.

* gfortran.dg/gomp/pr69128.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232151 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/69145
jakub [Fri, 8 Jan 2016 06:43:31 +0000 (06:43 +0000)]
PR c++/69145
* files.c (cpp_included_before): If IS_ADHOC_LOC (location), lookup
real location from the line_table.

* g++.dg/ext/pr69145-1.C: New test.
* g++.dg/ext/pr69145-2-very-long-filename.cc: New file.
* g++.dg/ext/pr69145-2.h: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232150 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoshrink-wrap: Once more PRs 67778, 68634, and now 68909
segher [Fri, 8 Jan 2016 03:58:40 +0000 (03:58 +0000)]
shrink-wrap: Once more PRs 67778, 68634, and now 68909

If a candidate PRE cannot get the prologue because a block BB is
reachable from it, but PRE does not dominate BB, we try again with the
dominators of PRE.  That "try again" needs to again consider BB though,
we aren't done with it.

PR rtl-optimization/67778
PR rtl-optimization/68634
PR rtl-optimization/68909
* shrink-wrap.c (try_shrink_wrapping): Add comment.  Don't pop
block from the stack until done with it.  Remove a superfluous
bitmap set.  Remove a superfluous bitmap test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232148 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR c/68966 - atomic_fetch_* on atomic_bool not diagnosed
msebor [Fri, 8 Jan 2016 01:00:25 +0000 (01:00 +0000)]
PR c/68966 - atomic_fetch_* on atomic_bool not diagnosed

gcc/ChangeLog:
* doc/extend.texi (__atomic Builtins, __sync Builtins): Document
constraint on the type of arguments.

gcc/c-family/ChangeLog:
* c-common.c (sync_resolve_size): Reject first argument when it's
a pointer to _Bool.

gcc/testsuite/ChangeLog:
* gcc.dg/atomic-fetch-bool.c: New test.
* gcc.dg/sync-fetch-bool.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232147 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Fri, 8 Jan 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232146 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agolonglong: fix sh -Wundef builds
vapier [Thu, 7 Jan 2016 22:18:09 +0000 (22:18 +0000)]
longlong: fix sh -Wundef builds

This file fails when building for SuperH as it assumes __SHMEDIA__
is always defined.  Update the code to check if it's defined.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232143 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
andreast [Thu, 7 Jan 2016 20:35:53 +0000 (20:35 +0000)]
2016-01-07  Andreas Tobler  <andreast@gcc.gnu.org>

    * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
    SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
    unaligned_access on the gcc_options set.
    * config/arm/arm.c (arm_option_override_internal): Use
    SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232141 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-01-07 Uros Bizjak <ubizjak@gmail.com>
uros [Thu, 7 Jan 2016 19:06:37 +0000 (19:06 +0000)]
2016-01-07  Uros Bizjak  <ubizjak@gmail.com>

PR target/69140
* config/i386/i386.c (ix86_frame_pointer_required): Enable
frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.

2016-01-07  Uros Bizjak  <ubizjak@gmail.com>

Revert
2016-01-06  Uros Bizjak  <ubizjak@gmail.com>

PR target/69140
* config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
depending on frame_pointer_needed before remaining integer and SSE
registers are saved.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232140 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoMove pr66680.f90 to libgomp
hjl [Thu, 7 Jan 2016 18:18:29 +0000 (18:18 +0000)]
Move pr66680.f90 to libgomp

gcc/testsuite/

PR fortran/66680
gfortran.dg/gomp/pr66680.f90: Moved to libgomp.

libgomp/

PR fortran/66680
* testsuite/libgomp.fortran/pr66680.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232138 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
sandra [Thu, 7 Jan 2016 18:02:25 +0000 (18:02 +0000)]
2016-01-07  Sandra Loosemore <sandra@codesourcery.com>

PR 1078
gcc/
* doc/extend.texi (Nvidia PDX Function Attributes): New section.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232136 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdd a test for PR66655
nickc [Thu, 7 Jan 2016 17:13:50 +0000 (17:13 +0000)]
Add a test for PR66655

PR target/66655
* g++.dg/pr66655.C: New test.
* g++.dg/pr66655_1.cc: Test support file.
* g++.dg/pr66655.h: Test header file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232133 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoUse std::addressof in insert iterators, allocators and promises
redi [Thu, 7 Jan 2016 15:01:33 +0000 (15:01 +0000)]
Use std::addressof in insert iterators, allocators and promises

PR libstdc++/69105
PR libstdc++/69106
PR libstdc++/69114
* include/bits/stl_iterator.h (back_insert_iterator,
front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
* include/bits/uses_allocator.h (__use_alloc): Use __addressof.
* include/std/future (__future::base::_State_baseV2::__setter):
Likewise.
* include/std/scoped_allocator (__outermost): Likewise.
* testsuite/20_util/scoped_allocator/69114.cc: New.
* testsuite/20_util/uses_allocator/69114.cc: New.
* testsuite/30_threads/promise/69106.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232129 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-01-07 Dominique d'Humieres <dominiq@lps.ens.fr>
dominiq [Thu, 7 Jan 2016 13:21:54 +0000 (13:21 +0000)]
2016-01-07  Dominique d'Humieres <dominiq@lps.ens.fr>

PR fortran/66680
gfortran.dg/gomp/pr66680.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232127 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdd round_nimm_scalar_predicate and use xBm
hjl [Thu, 7 Jan 2016 12:43:06 +0000 (12:43 +0000)]
Add round_nimm_scalar_predicate and use xBm

Add round_nimm_scalar_predicate for scalar SSE integer to floating point
conversions since round_nimm_predicate is for vector operand.

round_constraint can't be used on vector SSE patterns since it is mapped
to "vm".  The "xBm" constraint must be used in this case.

gcc/

PR target/69171
* config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
Use the "xBm" constraint.
(float<sseintvecmodelower><mode>2<mask_name><round_name):
Likewise.
(sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
(sse_cvtsi2ssq<round_name>): Likewise.
(sse_cvtss2si<round_name>): Likewise.
(sse_cvtss2siq<round_name>): Likewise.
(sse2_cvtsi2sdq<round_name>): Likewise.
(sse2_cvtsd2si<round_name>): Likewise.
(sse2_cvtsd2siq<round_name>): Likewise.
* config/i386/subst.md (round_nimm_scalar_predicate): New
predicate.

gcc/testsuite/

PR target/69171
* gcc.target/i386/pr69171-1.c: New test.
* gcc.target/i386/pr69171-2.c: Likewise.
* gcc.target/i386/pr69171-3.c: Likewise.
* gcc.target/i386/pr69171-4.c: Likewise.
* gcc.target/i386/pr69171-5.c: Likewise.
* gcc.target/i386/pr69171-6.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232126 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix SSA inconsistencies with invalid asm reg names (PR67639)
bernds [Thu, 7 Jan 2016 12:17:39 +0000 (12:17 +0000)]
Fix SSA inconsistencies with invalid asm reg names (PR67639)

PR middle-end/67639
* varasm.c (make_decl_rtl): Mark invalid register vars as
DECL_EXTERNAL.

testsuite/
PR middle-end/67639
* c-c++-common/pr67639.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232125 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix a minor issue found by a static analyzer (PR66206).
bernds [Thu, 7 Jan 2016 12:15:59 +0000 (12:15 +0000)]
Fix a minor issue found by a static analyzer (PR66206).

PR rtl-optimization/66206
* bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
All callers changed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232124 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR tree-optimization/69141
jakub [Thu, 7 Jan 2016 08:47:44 +0000 (08:47 +0000)]
PR tree-optimization/69141
* tree-ssa-pre.c: Include langhooks.h.
(eliminate_dom_walker::before_dom_children): Use
lang_hooks.decl_printable_name instead of
cgraph_node::get ()->name ().

* g++.dg/opt/pr69141.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232123 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR middle-end/68960
jakub [Thu, 7 Jan 2016 08:45:54 +0000 (08:45 +0000)]
PR middle-end/68960
* gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
it and DECL_ALIGN too.

* testsuite/libgomp.c/pr68960.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232122 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Thu, 7 Jan 2016 00:16:11 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232120 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc.target/sparc/20151219-1.c: Skip in 64-bit mode.
ebotcazou [Wed, 6 Jan 2016 23:34:10 +0000 (23:34 +0000)]
* gcc.target/sparc/20151219-1.c: Skip in 64-bit mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232116 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agocorrect openacc.h filename
nathan [Wed, 6 Jan 2016 21:26:47 +0000 (21:26 +0000)]
correct openacc.h filename

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232114 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoReorder function types.
rts [Wed, 6 Jan 2016 21:10:59 +0000 (21:10 +0000)]
Reorder function types.

* config/mips/mips-ftypes.def: Sort to lexicographical order.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232113 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRemove noexcept from function template that can throw
redi [Wed, 6 Jan 2016 20:34:41 +0000 (20:34 +0000)]
Remove noexcept from function template that can throw

PR libstdc++/69092
* include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
Remove _GLIBCXX_NOEXCEPT.
testsuite/21_strings/basic_string/cons/char/69092.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232112 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/69140
uros [Wed, 6 Jan 2016 20:19:04 +0000 (20:19 +0000)]
PR target/69140
* config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
depending on frame_pointer_needed before remaining integer and SSE
registers are saved.

testsuite/ChangeLog:

PR target/69140
* gcc.target/i386/pr69140.c: New test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232111 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoC: fix reported range of invalid unary dereference.
dmalcolm [Wed, 6 Jan 2016 20:13:19 +0000 (20:13 +0000)]
C: fix reported range of invalid unary dereference.

gcc/c/ChangeLog:
* c-parser.c (c_parser_unary_expression): For dereferences, build
a combined location before calling build_indirect_ref, so that
error reports cover the full range, manually updating the c_expr
src_range.

gcc/testsuite/ChangeLog:
* gcc.dg/bad-dereference.c: New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232110 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[gcc]
wschmidt [Wed, 6 Jan 2016 19:19:47 +0000 (19:19 +0000)]
[gcc]

2015-01-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
mode iterator with VSX_M2.
(*p9_vecstore_<mode>): Likewise.
(*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
(*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
(*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
(define_split for VSX_LE128 stores): Likewise.
(define_peephole2 for TImode LE swaps): Likewise.
(define_split for VSX_LE128 post-reload stores): Likewise.

[gcc/testsuite]

2015-01-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/p9-lxvx-stxvx-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232109 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * openacc.c (acc_on_device): Add routine pragma for C++ wrapper.
nathan [Wed, 6 Jan 2016 15:47:14 +0000 (15:47 +0000)]
* openacc.c (acc_on_device): Add routine pragma for C++ wrapper.
* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232104 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix libatomic multilib parallel build (PR other/67627)
nsz [Wed, 6 Jan 2016 14:51:35 +0000 (14:51 +0000)]
Fix libatomic multilib parallel build (PR other/67627)

The all-multi target may be built in parallel with the %_.lo
targets which generate make dependencies that are parsed during
the build of all-multi.

This patch forces all-multi to only run after the *_.lo targets
are done.

libatomic:
PR other/67627
* Makefile.am (all-multi): Add dependency.
* Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232102 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRename bits/mutex.h to avoid clashing with glibc
redi [Wed, 6 Jan 2016 13:00:33 +0000 (13:00 +0000)]
Rename bits/mutex.h to avoid clashing with glibc

* include/Makefile.am: Adjust.
* include/Makefile.in: Regenerate.
* include/bits/mutex.h: Rename to bits/std_mutex.h.
* include/std/condition_variable: Adjust include.
* include/std/mutex: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232101 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago* gcc.dg/atomic-invalid-2.c: Remove duplicated content.
schwab [Wed, 6 Jan 2016 10:46:20 +0000 (10:46 +0000)]
* gcc.dg/atomic-invalid-2.c: Remove duplicated content.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232100 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR sanitizer/69099
mpolacek [Wed, 6 Jan 2016 10:24:15 +0000 (10:24 +0000)]
PR sanitizer/69099
* c-convert.c (convert) [INTEGER_TYPE]: Drop ARG.  Don't pass ARG to
ubsan_instrument_float_cast.  Fold EXPR.  Use NULL_TREE instead of
NULL.

* convert.c (convert_to_integer_1): Adjust call to
ubsan_instrument_float_cast.  Use NULL_TREE instead of NULL.
* ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter.  Use
EXPR instead of ARG.
* ubsan.h (ubsan_instrument_float_cast): Adjust declaration.

* gcc.dg/ubsan/float-cast-overflow-atomic.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232099 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAda: add XVE/XVU parallel types to lexical scopes
pmderodat [Wed, 6 Jan 2016 09:18:26 +0000 (09:18 +0000)]
Ada: add XVE/XVU parallel types to lexical scopes

This change adds TYPE_DECL nodes for XVE/XVU parallel types to lexical
scopes so that these types are properly scoped in the debug information.

gcc/ada/ChangeLog:

* gcc-interface/utils.c: Bump copyright year.
(rest_of_record_type_compilation): Add XVE/XVU parallel types to
the current lexical scope.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232098 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Wed, 6 Jan 2016 00:16:11 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232096 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
sandra [Tue, 5 Jan 2016 20:51:48 +0000 (20:51 +0000)]
2016-01-05  Sandra Loosemore <sandra@codesourcery.com>

PR 1078
gcc/
* doc/extend.texi (RL78 Variable Attributes): New section.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232092 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c/69104
mpolacek [Tue, 5 Jan 2016 20:24:02 +0000 (20:24 +0000)]
PR c/69104
* builtins.c (get_memmodel): Use expansion point location rather than
the input location.  Call warning_at rather than warning.
(expand_builtin_atomic_compare_exchange): Likewise.
(expand_builtin_atomic_load): Likewise.
(expand_builtin_atomic_store): Likewise.
(expand_builtin_atomic_clear): Likewise.

* gcc.dg/atomic-invalid-2.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232090 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agolibiberty: {count,dup,write}argv: constify argv input slightly
vapier [Tue, 5 Jan 2016 20:23:30 +0000 (20:23 +0000)]
libiberty: {count,dup,write}argv: constify argv input slightly

Would be more useful if we could use "const char * const *", but there's
a long standing bug where gcc warns about incompatible pointers when you
try to pass in "char **".  We can at least constify the array itself as
gcc will not warn in that case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232089 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoUse vector_operand on SSE with 16b memory operand
hjl [Tue, 5 Jan 2016 20:19:16 +0000 (20:19 +0000)]
Use vector_operand on SSE with 16b memory operand

Add vector_operand, which is vector_memory_operand or register_operand,
and use it, instead of nonimmediate_operand, in SSE patterns with 16-byte
memory operand.

gcc/

PR target/68991
* config/i386/i386.c (ix86_expand_vector_logical_operator):
Replace nonimmediate_operand with vector_operand.
* config/i386/predicates.md (vector_operand): New predicate.
(general_vector_operand): Replace nonimmediate_operand with
vector_operand.
* config/i386/sse.md: Replace nonimmediate_operand with
vector_operand and m constraint with Bm constraint on SSE
patterns with 16-byte memory operand.
* config/i386/subst.md (round_nimm_predicate): Replace
nonimmediate_operand with vector_operand.
(round_saeonly_nimm_predicate): Likewise.
(round_saeonly_nimm_scalar_predicate): New.

gcc/testsuite/

PR target/68991
* gcc.target/i386/pr68991.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232088 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdd vector_memory_operand and "Bm" constraint
hjl [Tue, 5 Jan 2016 20:17:26 +0000 (20:17 +0000)]
Add vector_memory_operand and "Bm" constraint

SSE vector arithmetic and logic instructions only accept aligned memory
operand.  This patch adds vector_memory_operand and "Bm" constraint for
aligned SSE memory operand.  They are applied to SSE plusminus and
any_logic patterns.

gcc/

PR target/68991
* config/i386/constraints.md (Bm): New constraint.
* config/i386/predicates.md (vector_memory_operand): New
predicate.
* config/i386/sse.md: Replace xm with xBm in plusminus and
any_logic patterns.

gcc/testsuite/

PR target/68991
* g++.dg/pr68991-1.C: New test.
* g++.dg/pr68991-2.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232087 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agolibiberty: dupargv: rewrite to use xstrdup
vapier [Tue, 5 Jan 2016 19:55:21 +0000 (19:55 +0000)]
libiberty: dupargv: rewrite to use xstrdup

This func is basically open coding the xstrdup function, so gut it
and use that directly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232086 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
sandra [Tue, 5 Jan 2016 19:45:43 +0000 (19:45 +0000)]
2016-01-05  Sandra Loosemore <sandra@codesourcery.com>

PR 1078
gcc/
* doc/extend.texi (V850 Function Attributes): New section.
(V850 Variable Attributes): New section.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232085 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-01-05 Olivier Hainque <hainque@adacore.com>
hainque [Tue, 5 Jan 2016 18:10:31 +0000 (18:10 +0000)]
2016-01-05  Olivier Hainque  <hainque@adacore.com>

* config/rs6000/aix-unwind.h (ucontext_for): Handle AIX 7.1
specificities.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232082 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
sandra [Tue, 5 Jan 2016 18:04:01 +0000 (18:04 +0000)]
2016-01-05  Sandra Loosemore <sandra@codesourcery.com>

PR 1078
gcc/
* doc/extend.texi (MicroBlaze Function Attributes): Document
interrupt_handler and fast_interrupt attributes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232081 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PATCH v2] ia64: don't use dynamic relocations for local symbols
law [Tue, 5 Jan 2016 17:57:05 +0000 (17:57 +0000)]
[PATCH v2] ia64: don't use dynamic relocations for local symbols
PR other/60465
* config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
for local symbolic operands.
* config/ia64/predicates.md (local_symbolic_operand64): New
predicate.

        PR other/60465
* gcc.target/ia64/pr60465-gprel64.c: New test.
* gcc.target/ia64/pr60465-gprel64-c37.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232080 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[combine][v2] Canonicalise (r + r) to (r << 1) to aid recognition
ktkachov [Tue, 5 Jan 2016 16:06:06 +0000 (16:06 +0000)]
[combine][v2] Canonicalise (r + r) to (r << 1) to aid recognition

PR rtl-optimization/68651
* combine.c (combine_simplify_rtx): Canonicalize x + x into
x << 1.

* gcc.target/aarch64/pr68651_1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232077 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix PR c/69122 (-Wmisleading-indentation false positive with empty macros)
dmalcolm [Tue, 5 Jan 2016 15:54:46 +0000 (15:54 +0000)]
Fix PR c/69122 (-Wmisleading-indentation false positive with empty macros)

gcc/c-family/ChangeLog:
PR c/69122
* c-indentation.c (get_visual_column): Remove default argument.
(should_warn_for_misleading_indentation): For the multiline case,
update call to get_visual_column for next_stmt_exploc so that it
captures the location of the first non-whitespace character in the
relevant line.  Don't issue warnings if there is non-whitespace
before the next statement.

gcc/testsuite/ChangeLog:
PR c/69122
* c-c++-common/Wmisleading-indentation.c (pr69122): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232076 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago gcc/cp/
nathan [Tue, 5 Jan 2016 14:40:11 +0000 (14:40 +0000)]
gcc/cp/
PR c++/58583
* pt.c (build_non_dependent_expr): Don't try a checking fold when
parsing an nsdmi.

gcc/testsuite/
PR c++/58583
* g++.dg/cpp0x/nsdmi-template14.C: Adjust test & errors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232075 138bc75d-0d04-0410-961f-82ee72b054a4