Tom de 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.
From-SVN: r232211
Yury Gribov [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.
From-SVN: r232209
Tom de 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.
From-SVN: r232208
Andrew Burgess [Mon, 11 Jan 2016 04:11:19 +0000 (04:11 +0000)]
arc.opt (mdiv-rem): Add period to the end.
2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com>
* config/arc/arc.opt (mdiv-rem): Add period to the end.
(mcode-density): Likewise.
From-SVN: r232207
GCC Administrator [Mon, 11 Jan 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232206
Patrick Palka [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.
From-SVN: r232202
Thomas Koenig [Sun, 10 Jan 2016 13:18:54 +0000 (13:18 +0000)]
re PR fortran/69154 (ICE in gfc_trans_where_2, at fortran/trans-stmt.c:5005 on *-linux)
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.
From-SVN: r232201
Paul Thomas [Sun, 10 Jan 2016 12:56:28 +0000 (12:56 +0000)]
re PR fortran/67779 (Strange ordering with strings in extended object)
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.
From-SVN: r232200
Tom de 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.
From-SVN: r232199
Thomas Schwinge [Sun, 10 Jan 2016 12:12:38 +0000 (13:12 +0100)]
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.
From-SVN: r232197
Tom de 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.
From-SVN: r232196
GCC Administrator [Sun, 10 Jan 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232194
John David Anglin [Sat, 9 Jan 2016 18:13:44 +0000 (18:13 +0000)]
re PR middle-end/68743 (FAIL: gfortran.dg/aint_anint_1.f90 -O0 execution test)
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.
From-SVN: r232191
Gerald Pfeifer [Sat, 9 Jan 2016 13:25:22 +0000 (13:25 +0000)]
configure.ac (isl_options_set_schedule_serialize_sccs): Also use GMPINC.
* configure.ac (isl_options_set_schedule_serialize_sccs): Also
use GMPINC.
* configure: Regenerate.
From-SVN: r232190
Marek Polacek [Sat, 9 Jan 2016 11:15:26 +0000 (11:15 +0000)]
re PR c++/69113 (ICE: in vague_linkage_p, at cp/decl2.c:1875 with -fno-weak)
PR c++/69113
* decl2.c (comdat_linkage): Only set DECL_COMDAT if TREE_PUBLIC is set.
* g++.dg/pr69113.C: New test.
From-SVN: r232189
Jakub Jelinek [Sat, 9 Jan 2016 07:37:04 +0000 (08:37 +0100)]
re PR middle-end/50865 (Invalid code generation for INT64_MIN % 1 on x86_64)
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.
From-SVN: r232188
Jakub Jelinek [Sat, 9 Jan 2016 07:34:41 +0000 (08:34 +0100)]
re PR tree-optimization/69164 (ICE in create_tmp_var, at gimple-expr.c:468)
PR c++/69164
* class.c (layout_class_type): Use copy_node to copy FIELD_DECLs.
* g++.dg/opt/pr69164.C: New test.
From-SVN: r232187
Jason Merrill [Sat, 9 Jan 2016 05:12:03 +0000 (00:12 -0500)]
re PR c++/69158 (ICE in in cxx_eval_indirect_ref, at cp/constexpr.c:2598)
PR c++/69158
* constexpr.c (cxx_fold_indirect_ref): Handle array type differing
in completion.
From-SVN: r232186
GCC Administrator [Sat, 9 Jan 2016 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232184
Jan Hubicka [Fri, 8 Jan 2016 21:19:04 +0000 (22:19 +0100)]
ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL w/o DECL_NAME.
* ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
w/o DECL_NAME.
From-SVN: r232179
Jakub Jelinek [Fri, 8 Jan 2016 20:50:24 +0000 (21:50 +0100)]
re PR tree-optimization/69167 (internal compiler error: SSA corruption)
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.
From-SVN: r232178
Marek Polacek [Fri, 8 Jan 2016 19:08:37 +0000 (19:08 +0000)]
re PR c++/68449 (ICE in cxx_eval_constant_expression on atomic_load in C++)
PR c++/68449
* constexpr.c (cxx_eval_constant_expression): Handle NULL initializer.
* g++.dg/pr68449.C: New.
From-SVN: r232176
Alan Lawrence [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.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r232174
Uros Bizjak [Fri, 8 Jan 2016 16:13:18 +0000 (17:13 +0100)]
symtab.c (symtab_node::equal_address_to): Return -1 instead of 2 if we can't determine address equivalence.
* 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.
From-SVN: r232172
Jason Merrill [Fri, 8 Jan 2016 16:01:17 +0000 (11:01 -0500)]
constexpr.c (cxx_eval_call_expression): Remove convert_to_void workaround.
* constexpr.c (cxx_eval_call_expression): Remove convert_to_void
workaround.
From-SVN: r232168
Jason Merrill [Fri, 8 Jan 2016 16:01:12 +0000 (11:01 -0500)]
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.
From-SVN: r232167
Jason Merrill [Fri, 8 Jan 2016 16:01:05 +0000 (11:01 -0500)]
PR c++/68983 (FE)
PR c++/67557
* call.c (unsafe_copy_elision_p): Look through COMPOUND_EXPR.
From-SVN: r232166
Jonathan Wakely [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.
From-SVN: r232165
Olivier Hainque [Fri, 8 Jan 2016 14:34:08 +0000 (14:34 +0000)]
vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with libc_internal.
* config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
libc_internal.
From-SVN: r232164
Jonathan Wakely [Fri, 8 Jan 2016 13:19:25 +0000 (13:19 +0000)]
Fix PR number in previous commit
From-SVN: r232163
Jonathan Wakely [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.
From-SVN: r232162
Alan Lawrence [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.
From-SVN: r232158
Jakub Jelinek [Fri, 8 Jan 2016 10:14:29 +0000 (11:14 +0100)]
re PR tree-optimization/69162 (ICE in create_tmp_var, at gimple-expr.c:468)
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.
From-SVN: r232156
Jakub Jelinek [Fri, 8 Jan 2016 10:13:23 +0000 (11:13 +0100)]
re PR tree-optimization/69172 (ICE in make_ssa_name_fn, at tree-ssanames.c:266)
PR tree-optimization/69172
* gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
gimple_build.
* gcc.dg/pr69172.c: New test.
From-SVN: r232155
Thomas Preud'homme [Fri, 8 Jan 2016 09:21:19 +0000 (09:21 +0000)]
re PR tree-optimization/67781 (wrong code generated on big-endian with -O1 -fexpensive-optimizations)
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.
From-SVN: r232154
Jakub Jelinek [Fri, 8 Jan 2016 08:37:17 +0000 (09:37 +0100)]
re PR tree-optimization/69083 (ICE at -O3 in 64-bit mode on x86_64-linux-gnu (verify_gimple failed))
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.
From-SVN: r232153
Sujoy Saraswati [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.
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.
From-SVN: r232152
Jakub Jelinek [Fri, 8 Jan 2016 06:45:18 +0000 (07:45 +0100)]
re PR fortran/69128 (OpenMP workshare problem with SUM())
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.
From-SVN: r232151
Jakub Jelinek [Fri, 8 Jan 2016 06:43:31 +0000 (07:43 +0100)]
re PR c++/69145 (Bogus 'warning: #pragma implementation for ‘...’ appears after file is included')
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.
From-SVN: r232150
Segher Boessenkool [Fri, 8 Jan 2016 03:58:40 +0000 (04:58 +0100)]
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.
From-SVN: r232148
Martin Sebor [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.
From-SVN: r232147
GCC Administrator [Fri, 8 Jan 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232146
Mike Frysinger [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.
From-SVN: r232143
Andreas Tobler [Thu, 7 Jan 2016 20:35:53 +0000 (21:35 +0100)]
freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
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.
From-SVN: r232141
Uros Bizjak [Thu, 7 Jan 2016 19:06:37 +0000 (20:06 +0100)]
re PR target/69140 (stack alignment + O1 breaks with Microsoft ABI)
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.
From-SVN: r232140
H.J. Lu [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.
From-SVN: r232138
Sandra Loosemore [Thu, 7 Jan 2016 18:02:25 +0000 (13:02 -0500)]
re PR target/1078 (Problems with attributes documentation)
2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
PR 1078
gcc/
* doc/extend.texi (Nvidia PDX Function Attributes): New section.
From-SVN: r232136
Nick Clifton [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.
From-SVN: r232133
Jonathan Wakely [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.
From-SVN: r232129
Dominique d'Humieres [Thu, 7 Jan 2016 13:21:54 +0000 (14:21 +0100)]
re PR fortran/66680 (ICE with openmp, a loop and a type bound procedure)
2016-01-07 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/66680
gfortran.dg/gomp/pr66680.f90: New test.
From-SVN: r232127
H.J. Lu [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.
From-SVN: r232126
Bernd Schmidt [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.
From-SVN: r232125
Bernd Schmidt [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.
From-SVN: r232124
Jakub Jelinek [Thu, 7 Jan 2016 08:47:44 +0000 (09:47 +0100)]
re PR tree-optimization/69141 (-O2 -fdump-tree-fre ICEs)
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.
From-SVN: r232123
Jakub Jelinek [Thu, 7 Jan 2016 08:45:54 +0000 (09:45 +0100)]
re PR c/68960 (__attribute__ ((aligned ())) is ignored for OpenMP private variables)
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.
From-SVN: r232122
GCC Administrator [Thu, 7 Jan 2016 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232120
Eric Botcazou [Wed, 6 Jan 2016 23:34:10 +0000 (23:34 +0000)]
* gcc.target/sparc/
20151219-1.c: Skip in 64-bit mode.
From-SVN: r232116
Nathan Sidwell [Wed, 6 Jan 2016 21:26:47 +0000 (21:26 +0000)]
correct openacc.h filename
From-SVN: r232114
Robert Suchanek [Wed, 6 Jan 2016 21:10:59 +0000 (21:10 +0000)]
Reorder function types.
* config/mips/mips-ftypes.def: Sort to lexicographical order.
From-SVN: r232113
Jonathan Wakely [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.
From-SVN: r232112
Uros Bizjak [Wed, 6 Jan 2016 20:19:04 +0000 (21:19 +0100)]
re PR target/69140 (stack alignment + O1 breaks with Microsoft ABI)
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
From-SVN: r232111
David Malcolm [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.
From-SVN: r232110
Bill Schmidt [Wed, 6 Jan 2016 19:19:47 +0000 (19:19 +0000)]
vsx.md (*p9_vecload_<mode>): Replace VSX_M mode iterator with VSX_M2.
[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.
From-SVN: r232109
Nathan Sidwell [Wed, 6 Jan 2016 15:47:14 +0000 (15:47 +0000)]
openacc.c (acc_on_device): Add routine pragma for C++ wrapper.
* openacc.c (acc_on_device): Add routine pragma for C++ wrapper.
* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
From-SVN: r232104
Szabolcs Nagy [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.
From-SVN: r232102
Jonathan Wakely [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.
From-SVN: r232101
Andreas Schwab [Wed, 6 Jan 2016 10:46:20 +0000 (10:46 +0000)]
* gcc.dg/atomic-invalid-2.c: Remove duplicated content.
From-SVN: r232100
Marek Polacek [Wed, 6 Jan 2016 10:24:15 +0000 (10:24 +0000)]
re PR sanitizer/69099 (ICE when compiling gcc.dg/atomic/c11-atomic-exec-2.c with -fsanitize=float-cast-overflow)
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.
From-SVN: r232099
Pierre-Marie de Rodat [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.
From-SVN: r232098
GCC Administrator [Wed, 6 Jan 2016 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232096
Sandra Loosemore [Tue, 5 Jan 2016 20:51:48 +0000 (15:51 -0500)]
re PR target/1078 (Problems with attributes documentation)
2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
PR 1078
gcc/
* doc/extend.texi (RL78 Variable Attributes): New section.
From-SVN: r232092
Marek Polacek [Tue, 5 Jan 2016 20:24:02 +0000 (20:24 +0000)]
re PR c/69104 (invalid atomic memory order not diagnosed)
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.
From-SVN: r232090
Mike Frysinger [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.
From-SVN: r232089
H.J. Lu [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.
From-SVN: r232088
H.J. Lu [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.
From-SVN: r232087
Mike Frysinger [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.
From-SVN: r232086
Sandra Loosemore [Tue, 5 Jan 2016 19:45:43 +0000 (14:45 -0500)]
re PR target/1078 (Problems with attributes documentation)
2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
PR 1078
gcc/
* doc/extend.texi (V850 Function Attributes): New section.
(V850 Variable Attributes): New section.
From-SVN: r232085
Olivier Hainque [Tue, 5 Jan 2016 18:10:31 +0000 (18:10 +0000)]
aix-unwind.h (ucontext_for): Handle AIX 7.1 specificities.
2016-01-05 Olivier Hainque <hainque@adacore.com>
* config/rs6000/aix-unwind.h (ucontext_for): Handle AIX 7.1
specificities.
From-SVN: r232082
Sandra Loosemore [Tue, 5 Jan 2016 18:04:01 +0000 (13:04 -0500)]
re PR target/1078 (Problems with attributes documentation)
2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
PR 1078
gcc/
* doc/extend.texi (MicroBlaze Function Attributes): Document
interrupt_handler and fast_interrupt attributes.
From-SVN: r232081
Sergei Trofimovich [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
[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.
From-SVN: r232080
Kyrylo Tkachov [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.
From-SVN: r232077
David Malcolm [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.
From-SVN: r232076
Nathan Sidwell [Tue, 5 Jan 2016 14:40:11 +0000 (14:40 +0000)]
re PR c++/58583 ([c++11] ICE with invalid non-static data member initialization in template)
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.
From-SVN: r232075
Nathan Sidwell [Tue, 5 Jan 2016 14:15:01 +0000 (14:15 +0000)]
alias.c (compare_base_decls): Use symtab_node::get.
gcc/
* alias.c (compare_base_decls): Use symtab_node::get.
gcc/testsuite/
* gcc.dg/alias-15.c: New.
From-SVN: r232073
Nick Clifton [Tue, 5 Jan 2016 13:20:29 +0000 (13:20 +0000)]
re PR target/68770 (Conditional jump or move depends on uninitialised value(s) default_secondary_reload() targhooks.c:940)
PR target/68770
* ira-costs.c (copy_cost): Initialise the t_icode field of the
secondary_reload_info structure.
tests: * g++.dg/pr68770.C: New test.
From-SVN: r232072
Nick Clifton [Tue, 5 Jan 2016 10:57:01 +0000 (10:57 +0000)]
re PR target/66655 (miscompilation due to ipa-ra on MinGW)
PR target/66655
* config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
decls if weak support is available.
From-SVN: r232071
Martin Sebor [Tue, 5 Jan 2016 02:53:10 +0000 (02:53 +0000)]
* doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
From-SVN: r232070
GCC Administrator [Tue, 5 Jan 2016 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232069
Mike Stump [Mon, 4 Jan 2016 20:01:15 +0000 (20:01 +0000)]
(check_effective_target_cilkplus): Remove special case for NVPTX.
From-SVN: r232063
Mike Stump [Mon, 4 Jan 2016 19:06:07 +0000 (19:06 +0000)]
target-supports.exp (check_effective_target_cilkplus): cilkplus targets require pthreads.
* lib/target-supports.exp (check_effective_target_cilkplus):
cilkplus targets require pthreads.
From-SVN: r232062
Michael Meissner [Mon, 4 Jan 2016 19:04:49 +0000 (19:04 +0000)]
rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add OPTION_MASK_P9_DFORM.
2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
OPTION_MASK_P9_DFORM.
From-SVN: r232061
Michael Meissner [Mon, 4 Jan 2016 18:22:52 +0000 (18:22 +0000)]
constraints.md (wo constraint): New constraint for ISA 3.0 (power9).
[gcc]
2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/constraints.md (wo constraint): New constraint for
ISA 3.0 (power9).
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
for wo constraint.
(rs6000_init_hard_regno_mode_ok): Likewise.
* config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
wo constraint.
* config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
expanders not to have constraints. Add support for ISA 3.0 xxperm
instruction. Add support for fusing xxlor with xxperm.
(altivec_vperm_<mode>_internal): Likewise.
(altivec_vperm_v8hiv16qi): Likewise.
(altivec_vperm_<mode>v16q): Likewise.
(altivec_vperm_<mode>_uns): Likewise.
(vperm_v8hiv4si): Likewise.
(vperm_v16qiv8hi): Likewise.
* doc/md.texi (RS/6000 constraints): Document wo constraint.
[gcc/testsuite]
2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p9-permute.c: New test for xxperm code
generation.
From-SVN: r232060
Jakub Jelinek [Mon, 4 Jan 2016 14:41:50 +0000 (15:41 +0100)]
update-copyright.py (GCCCopyright): Add NVIDIA Corporation as external author.
* update-copyright.py (GCCCopyright): Add NVIDIA Corporation
as external author.
From-SVN: r232056
Jakub Jelinek [Mon, 4 Jan 2016 14:30:50 +0000 (15:30 +0100)]
Update copyright years.
From-SVN: r232055
Jakub Jelinek [Mon, 4 Jan 2016 13:03:35 +0000 (14:03 +0100)]
gcc.c (process_command): Update copyright notice dates.
gcc/
* gcc.c (process_command): Update copyright notice dates.
* gcov-dump.c (print_version): Ditto.
* gcov.c (print_version): Ditto.
* gcov-tool.c (print_version): Ditto.
* gengtype.c (create_file): Ditto.
* doc/cpp.texi: Bump @copying's copyright year.
* doc/cppinternals.texi: Ditto.
* doc/gcc.texi: Ditto.
* doc/gccint.texi: Ditto.
* doc/gcov.texi: Ditto.
* doc/install.texi: Ditto.
* doc/invoke.texi: Ditto.
gcc/ada/
* gnat_ugn.texi: Bump @copying's copyright year.
* gnat_rm.texi: Likewise.
gcc/fortran/
* gfortranspec.c (lang_specific_driver): Update copyright notice
dates.
* gfc-internals.texi: Bump @copying's copyright year.
* gfortran.texi: Ditto.
* intrinsic.texi: Ditto.
* invoke.texi: Ditto.
gcc/go/
* gccgo.texi: Bump @copyrights-go year.
gcc/java/
* jcf-dump.c (version): Update copyright notice dates.
libgomp/
* libgomp.texi: Bump @copying's copyright year.
libitm/
* libitm.texi: Bump @copying's copyright year.
libjava/
* classpath/gnu/java/rmi/registry/RegistryImpl.java (version): Update
copyright notice dates.
* classpath/tools/gnu/classpath/tools/orbd/Main.java (run): Ditto.
* gnu/gcj/convert/Convert.java (version): Update copyright notice
dates.
* gnu/gcj/tools/gcj_dbtool/Main.java (main): Ditto.
libquadmath/
* libquadmath.texi: Bump @copying's copyright year.
From-SVN: r232053
Marek Polacek [Mon, 4 Jan 2016 12:27:08 +0000 (12:27 +0000)]
re PR c/68908 (inefficient code for _Atomic operations)
PR c/68908
* c-typeck.c (build_atomic_assign): Improve commentary. Add
optimization to use __atomic_fetch_* built-in if possible.
* gcc.dg/atomic/c11-atomic-exec-6.c: New test.
* gcc.dg/atomic/c11-atomic-exec-7.c: New test.
* gcc.dg/atomic/stdatomic-op-5.c: New test.
From-SVN: r232052
Eric Botcazou [Mon, 4 Jan 2016 08:56:49 +0000 (08:56 +0000)]
arm.c (aapcs_vfp_allocate_return_reg): Treat all integer modes larger than TImode as TImode if NEON is not enabled.
* config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
modes larger than TImode as TImode if NEON is not enabled.
From-SVN: r232051
Eric Botcazou [Mon, 4 Jan 2016 08:14:12 +0000 (08:14 +0000)]
re PR target/69100 (ICE in final_scan_insn with -msoft-float and __builtin_apply)
PR target/69100
* config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
mode for %f0-%f31 only if TARGET_FPU.
From-SVN: r232050
Eric Botcazou [Mon, 4 Jan 2016 08:06:52 +0000 (08:06 +0000)]
re PR target/69072 (ICE in function_arg_record_value on 7th packed structure)
PR target/69072
* config/sparc/sparc.c (scan_record_type): Take into account subfields
to compute the PACKED_P predicate.
(function_arg_record_value): Minor tweaks.
From-SVN: r232049
Thomas Preud'homme [Mon, 4 Jan 2016 05:40:53 +0000 (05:40 +0000)]
install.texi (--with-multilib-list): Describe the meaning of the option for arm*-*-* targets.
2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
* doc/install.texi (--with-multilib-list): Describe the meaning of the
option for arm*-*-* targets.
From-SVN: r232048