Jason Merrill [Thu, 14 Apr 2016 16:23:06 +0000 (12:23 -0400)]
Revert empty class parameter passing ABI changes.
From-SVN: r234977
Martin Sebor [Thu, 14 Apr 2016 15:25:40 +0000 (15:25 +0000)]
g++.dg/cpp1y/vla11.C...
g++.dg/cpp1y/vla11.C: Avoid using attribute aligned to increase type
size to prevent failures on targets with very low maximum alignment.
From-SVN: r234976
Cesar Philippidis [Thu, 14 Apr 2016 13:44:17 +0000 (06:44 -0700)]
re PR middle-end/70643 (broken openacc reduction inside a fortran module)
PR middle-end/70643
gcc/
* omp-low.c (lower_oacc_reductions): Check for TREE_CONSTANT
when building a mem ref for the incoming reduction variable.
libgomp/
* testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
From-SVN: r234973
Richard Biener [Thu, 14 Apr 2016 13:21:40 +0000 (13:21 +0000)]
re PR tree-optimization/70614 (GCC gets stuck with -O)
2016-04-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/70614
* tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate
loop if the evolution dropped to chrec_dont_know.
(interpret_condition_phi): Likewise.
From-SVN: r234972
Richard Biener [Thu, 14 Apr 2016 07:30:53 +0000 (07:30 +0000)]
re PR tree-optimization/70623 (ICE in compute_antic at -O2)
2016-04-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/70623
* tree-ssa-pre.c (changed_blocks): Make global ...
(compute_antic): ... local here. Move and fix worklist
handling here. Do not clear EDGE_DFS_BACK or call mark_dfs_back_edges.
(compute_antic_aux): Add dumping for MAX assumed succs. Remove
worklist handling, dump when ANTIC_IN changed.
(compute_partial_antic_aux): Remove worklist handling.
(init_pre): Do not compute post dominators. Add a comment about
the CFG order chosen.
(fini_pre): Do not free post dominators.
* gcc.dg/torture/pr70623.c: New testcase.
* gcc.dg/torture/pr70623-2.c: Likewise.
From-SVN: r234970
GCC Administrator [Thu, 14 Apr 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234969
Martin Sebor [Wed, 13 Apr 2016 23:26:41 +0000 (23:26 +0000)]
PR c++/69517 - [5/6 regression] SEGV on a VLA with excess initializer elements
PR c++/69517 - [5/6 regression] SEGV on a VLA with excess initializer elements
PR c++/70019 - VLA size overflow not detected
PR c++/70588 - SIGBUS on a VLA larger than SIZE_MAX / 2
gcc/testsuite/ChangeLog:
2016-04-13 Martin Sebor <msebor@redhat.com>
PR c++/69517
PR c++/70019
PR c++/70588
* c-c++-common/ubsan/vla-1.c (main): Catch exceptions.
* g++.dg/cpp1y/vla11.C: New test.
* g++.dg/cpp1y/vla12.C: New test.
* g++.dg/cpp1y/vla13.C: New test.
* g++.dg/cpp1y/vla14.C: New test.
* g++.dg/cpp1y/vla3.C: Restore deleted test.
* gcc/testsuite/g++.dg/init/array24.C: Fully brace VLA initializer.
* g++.dg/ubsan/vla-1.C: Disable exceptions.
gcc/cp/ChangeLog:
2016-04-13 Martin Sebor <msebor@redhat.com>
PR c++/69517
PR c++/70019
PR c++/70588
* cp-tree.h (throw_bad_array_length, build_vla_check): Declare new
functions.
* decl.c (check_initializer, cp_finish_decl): Call them.
(reshape_init_r): Reject incompletely braced intializer-lists
for VLAs.
* init.c (throw_bad_array_length, build_vla_check)
(build_vla_size_check, build_vla_init_check): Define new functions.
* typeck2.c (split_nonconstant_init_1): Use variably_modified_type_p()
to detect a VLA.
(store_init_value): Same.
gcc/doc/ChangeLog:
2016-04-13 Martin Sebor <msebor@redhat.com>
PR c++/69517
PR c++/70019
PR c++/70588
* extend.texi (Variable Length): Document C++ specifics.
libstdc++-v3/ChangeLog:
2016-04-13 Martin Sebor <msebor@redhat.com>
PR c++/69517
* testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
upper bound is positive.
From-SVN: r234966
Martin Sebor [Wed, 13 Apr 2016 22:05:30 +0000 (22:05 +0000)]
check_GNU_style.sh: Avoid false posivies in trailing operator checks.
From-SVN: r234965
Jonathan Wakely [Wed, 13 Apr 2016 22:00:50 +0000 (23:00 +0100)]
Adjust for new empty class parameter passing ABI.
* include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
_GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
* include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
of functions taking empty structs by value. Add a template parameter
to overloads without hints. Rename overloads with hints to
_M_emplace_hint.
(_Hashtable::_M_erase(true_type, const_iterator),
_Hashtable::_M_erase(false_type, const_iterator)): Change signatures
by reordering parameters.
* include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
_M_emplace_hint instead of _M_emplace.
* include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
* include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
__shared_ptr): Likewise.
* include/bits/stl_algo.h (replace_if): Likewise.
* include/bits/stl_pair.h (piecewise_construct_t,
piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
* include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
__uses_alloc0): Likewise.
* include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
* testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
* testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
* testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
* testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
From-SVN: r234964
Jakub Jelinek [Wed, 13 Apr 2016 20:43:10 +0000 (22:43 +0200)]
re PR c++/70641 (ICE on valid code at -O1 and above on x86_64-linux-gnu: verify_gimple failed)
PR c++/70641
* ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt
on all recursive call stmts. Return TODO_cleanup_cfg if any dead
eh edges have been purged.
* g++.dg/opt/pr70641.C: New test.
From-SVN: r234962
Jakub Jelinek [Wed, 13 Apr 2016 20:35:59 +0000 (22:35 +0200)]
re PR c++/70594 (-fcompare-debug failure)
PR c++/70594
* tree-sra.c (create_access_replacement,
get_replaced_param_substitute): Set DECL_NAMELESS on repl if it
gets fancy name.
* tree-pretty-print.c (dump_fancy_name): New function.
(dump_decl_name, dump_generic_node): Use it.
From-SVN: r234961
Jason Merrill [Wed, 13 Apr 2016 20:11:29 +0000 (16:11 -0400)]
Warn about empty parameter ABI with -Wabi=9.
* call.c (empty_class_msg, mark_for_abi_warning)
(warn_empty_class_abi): New.
(build_call_a): Use them.
* decl.c (store_parm_decls): Use mark_for_abi_warning.
* error.c (pp_format_to_string): New.
From-SVN: r234960
Jason Merrill [Wed, 13 Apr 2016 20:11:20 +0000 (16:11 -0400)]
Pass empty class parameters like C.
* call.c (pass_as_empty_struct, empty_class_arg): New.
(type_passed_as, build_x_va_arg): Use pass_as_empty_struct.
(build_call_a): Use empty_class_arg.
* cp-tree.h (CPTI_EMPTY_STRUCT, empty_struct_type): New.
* decl.c (cxx_init_decl_processing): Create empty_struct_type.
From-SVN: r234959
Ian Lance Taylor [Wed, 13 Apr 2016 19:11:16 +0000 (19:11 +0000)]
libgo: update to Go 1.6.1 release
Reviewed-on: https://go-review.googlesource.com/22007
From-SVN: r234958
Cesar Philippidis [Wed, 13 Apr 2016 18:54:41 +0000 (11:54 -0700)]
re PR testsuite/68242 (FAIL: libgomp.oacc-c-c++-common/reduction-2.c, and other OpenACC reduction test case "oddities")
libgomp/
PR testsuite/68242
* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
From-SVN: r234957
Jason Merrill [Wed, 13 Apr 2016 18:32:11 +0000 (14:32 -0400)]
re PR c++/70627 (internal compiler error: verify_type failed)
PR c++/70627
* decl.c (start_enum): Don't change an existing ENUM_UNDERLYING_TYPE.
From-SVN: r234956
Rainer Orth [Wed, 13 Apr 2016 18:13:31 +0000 (18:13 +0000)]
Fix gcc.dg/ifcvt-4.c on 64-bit SPARC (PR rtl-optimization/68749)
PR rtl-optimization/68749
* gcc.dg/ifcvt-4.c: Use "word_mode" rather than "int" to limit the
effects of argument promotions.
Remove default args to dg-skip-if.
From-SVN: r234955
Segher Boessenkool [Wed, 13 Apr 2016 18:02:08 +0000 (20:02 +0200)]
Make distclean clean up more (PR70173)
Currently, distclean does not remove the libcc1, gnattools, and gotools
directories, and not the stage_final file either. Fix that.
PR bootstrap/70173
* Makefile.tpl (local-distclean): Delete the libcc1, gnattools,
and gotools directories. Delete the stage_final file.
* Makefile.in: Regenerate.
From-SVN: r234954
Paolo Carlini [Wed, 13 Apr 2016 17:11:03 +0000 (17:11 +0000)]
re PR c++/70635 (ICE on (and rejects) valid code on x86_64-linux-gnu: Segmentation fault (program cc1plus))
/cp
2016-04-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/70635
* pt.c (resolve_typename_type): Fix typos in infinite recursion
avoidance mechanism.
/testsuite
2016-04-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/70635
* g++.dg/parse/pr70635.C: New.
From-SVN: r234953
Marek Polacek [Wed, 13 Apr 2016 16:28:46 +0000 (16:28 +0000)]
re PR c++/70639 (internal compiler error: in guard_tinfo_to_string, at c-family/c-indentation.c:560)
PR c++/70639
* c-indentation.c (should_warn_for_misleading_indentation): Bail out
for switch statements, too.
* c-c++-common/Wmisleading-indentation-4.c: New test.
From-SVN: r234952
Marek Polacek [Wed, 13 Apr 2016 16:00:52 +0000 (16:00 +0000)]
re PR c/70436 (-Wparentheses missing ambiguous else warning)
PR c/70436
* c-parser.c (c_parser_statement_after_labels): Add IF_P argument and
adjust callers.
(c_parser_statement): Likewise.
(c_parser_c99_block_statement): Likewise.
(c_parser_while_statement): Likewise.
(c_parser_for_statement): Likewise.
(c_parser_if_body): Don't set IF_P here.
(c_parser_if_statement): Add IF_P argument. Set IF_P here. Warn
about dangling else here.
* c-tree.h (c_finish_if_stmt): Adjust declaration.
* c-typeck.c (c_finish_if_stmt): Remove NESTED_IF parameter. Don't
warn about dangling else here.
* testsuite/gcc.dg/Wparentheses-12.c: New test.
* testsuite/gcc.dg/Wparentheses-13.c: New test.
From-SVN: r234949
Dominique d'Humieres [Wed, 13 Apr 2016 15:04:57 +0000 (17:04 +0200)]
re PR fortran/67039 (Documentation of pseudorandom number intrinsics is incorrect)
2016-04-13 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/67039
* intrinsic.texi: Correct the documentation of pseudorandom
number intrinsics.
From-SVN: r234946
Jason Merrill [Wed, 13 Apr 2016 15:02:23 +0000 (11:02 -0400)]
re PR c++/70634 (ICE on valid code on x86_64-linux-gnu: Segmentation fault (program cc1plus))
PR c++/70634
* pt.c (instantiation_dependent_uneval_expression_p): Split out
from instantiation_dependent_expression_p.
(value_dependent_expression_p): Use it for unevaluated operands.
(instantiation_dependent_r): Don't check value-dependence.
(instantiation_dependent_expression_p): Check
value-dependence of the expression as a whole.
* cp-tree.h: Declare instantiation_dependent_uneval_expression_p.
* semantics.c (finish_decltype_type): Use it.
From-SVN: r234945
Jason Merrill [Wed, 13 Apr 2016 15:02:17 +0000 (11:02 -0400)]
constexpr.c (potential_nondependent_constant_expression): New.
* constexpr.c (potential_nondependent_constant_expression): New.
(potential_nondependent_static_init_expression): New.
(maybe_constant_value_1, fold_non_dependent_expr)
(maybe_constant_init): Use them.
* pt.c (instantiate_non_dependent_expr_sfinae)
(instantiate_non_dependent_or_null, convert_nontype_argument): Use
them.
* cp-tree.h: Declare them.
From-SVN: r234944
Jakub Jelinek [Wed, 13 Apr 2016 14:45:46 +0000 (16:45 +0200)]
re PR c++/70594 (-fcompare-debug failure)
PR c++/70594
* decl.c (pop_labels_1): Removed.
(note_label, sort_labels): New functions.
(pop_labels): During named_labels traversal, just push the slot
pointers into a vector, then qsort it by DECL_UID and only then
call pop_label and chain it into BLOCK_VARS.
From-SVN: r234942
Jason Merrill [Wed, 13 Apr 2016 14:33:53 +0000 (10:33 -0400)]
re PR c++/70615 (ICE on valid code at -O1 and above on x86_64-linux-gnu in add_expr, at tree.c:7870)
PR c++/70615
* cp-gimplify.c (cp_genericize_r): Expand PTRMEM_CST here.
(cp_gimplify_expr): Not here.
From-SVN: r234940
Ilya Enkovich [Wed, 13 Apr 2016 14:00:42 +0000 (14:00 +0000)]
i386.md (kunpckhi): Swap operands.
gcc/
* config/i386/i386.md (kunpckhi): Swap operands.
(kunpcksi): Likewise.
(kunpckdi): Likewise.
* config/i386/sse.md (vec_pack_trunc_qi): Likewise.
(vec_pack_trunc_<mode>): Likewise.
gcc/testsuite/
* gcc.target/i386/avx512bw-kunpckdq-2.c: New test.
* gcc.target/i386/avx512bw-kunpckwd-2.c: New test.
* gcc.target/i386/avx512f-kunpckbw-2.c: New test.
From-SVN: r234938
Jakub Jelinek [Wed, 13 Apr 2016 13:57:29 +0000 (15:57 +0200)]
re PR debug/70628 (ICE in get_reg_rtx, at emit-rtl.c:1025)
PR debug/70628
* explow.c (convert_memory_address_addr_space_1): Formatting fix.
From-SVN: r234937
Dominique d'Humieres [Wed, 13 Apr 2016 13:17:45 +0000 (15:17 +0200)]
re PR fortran/58000 (Accept OPEN( ... NAME=) with -std=legacy)
2016-04-13 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/58000
* gfortran.texi: Document OPEN( ... NAME=) as not implemented
in GNU Fortran
From-SVN: r234936
Jakub Jelinek [Wed, 13 Apr 2016 12:27:52 +0000 (14:27 +0200)]
re PR target/70633 (ICE on valid code at -Os (in 32-bit mode) on x86_64-linux-gnu: output_operand: invalid expression as operand)
PR middle-end/70633
* gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if
gimplification turns some element into non-constant.
* gcc.c-torture/compile/pr70633.c: New test.
From-SVN: r234934
Jakub Jelinek [Wed, 13 Apr 2016 12:26:26 +0000 (14:26 +0200)]
re PR debug/70628 (ICE in get_reg_rtx, at emit-rtl.c:1025)
PR debug/70628
* rtl.h (convert_memory_address_addr_space_1): New prototype.
* explow.c (convert_memory_address_addr_space_1): No longer static,
add NO_EMIT argument and don't call convert_modes if true, pass
it down recursively, remove break after return.
(convert_memory_address_addr_space): Adjust caller.
* simplify-rtx.c (simplify_unary_operation_1): Call
convert_memory_address_addr_space_1 instead of convert_memory_address,
if it returns NULL, don't simplify.
* gcc.dg/torture/pr70628.c: New test.
From-SVN: r234933
Bernd Schmidt [Wed, 13 Apr 2016 11:40:37 +0000 (11:40 +0000)]
re PR preprocessor/69650 (ICE in linemap_line_start, at libcpp/line-map.c:803)
Patch from Roger Orr <rogero@howzatt.demon.co.uk>
PR preprocessor/69650
* directives.c (do_linemarker): Reread map after calling
cpp_get_token.
From-SVN: r234932
GCC Administrator [Wed, 13 Apr 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234929
Patrick Palka [Wed, 13 Apr 2016 00:06:51 +0000 (00:06 +0000)]
Fix PR c++/70610 (wrong overload resolution during template processing)
gcc/cp/ChangeLog:
PR c++/70610
* tree.c (lvalue_kind) [NON_DEPENDENT_EXPR]: Unconditionally
recurse into it.
* typeck.c (build_x_conditional_expr): Unconditionally remember
that the result is an lvalue or xvalue.
gcc/testsuite/ChangeLog:
PR c++/70610
* g++.dg/template/pr70610.C: New test.
* g++.dg/template/pr70610-2.C: New test.
* g++.dg/template/pr70610-3.C: New test.
* g++.dg/template/pr70610-4.C: New test.
From-SVN: r234926
Ian Lance Taylor [Tue, 12 Apr 2016 22:20:30 +0000 (22:20 +0000)]
reflect: change Value.Call results to not be addressable
Leaving them incorrectly marked as addressable broke a use of the
text/template package, because state.evalField checks CanAddr and takes
the address if it is addressable.
Reviewed-on: https://go-review.googlesource.com/21908
From-SVN: r234923
Michael Meissner [Tue, 12 Apr 2016 21:06:47 +0000 (21:06 +0000)]
Fix ChangeLog bug id to be 70640, not 70680
From-SVN: r234922
Eric Botcazou [Tue, 12 Apr 2016 20:55:05 +0000 (20:55 +0000)]
re PR target/70630 (sparc bootstrap failure: sparc.c:4919:6: error: suggest explicit braces to avoid ambiguous 'else')
2016-04-12 Eric Botcazou <ebotcazou@adacore.com>
PR target/70630
* config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses.
From-SVN: r234918
Jason Merrill [Tue, 12 Apr 2016 20:28:40 +0000 (16:28 -0400)]
class.c (is_really_empty_class): A zero-length array is empty.
* class.c (is_really_empty_class): A zero-length array is empty.
An unnamed bit-field doesn't make a class non-empty.
From-SVN: r234916
Jakub Jelinek [Tue, 12 Apr 2016 19:37:21 +0000 (21:37 +0200)]
i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): Bump the upper SIMDLEN limits...
* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
Bump the upper SIMDLEN limits, so that if the return type or
characteristic type if the return type is void can be passed in
all available SSE2/AVX/AVX2/AVX512-F registers, the SIMDLEN is
allowed.
* c-c++-common/cilk-plus/SE/ef_error2.c (func2): Use vectorlength
128 instead of 32.
From-SVN: r234913
Jakub Jelinek [Tue, 12 Apr 2016 19:35:23 +0000 (21:35 +0200)]
re PR c++/70571 (ICE on valid code on x86_64-linux-gnu in verify_ctor_sanity, at cp/constexpr.c:2259)
PR c++/70571
* g++.dg/ext/pr70571.C: New test.
From-SVN: r234911
Michael Meissner [Tue, 12 Apr 2016 19:25:56 +0000 (19:25 +0000)]
re PR middle-end/70680 (OpenMP SIMD linear variable privatized too eagerly)
[gcc]
2016-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70680
* config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2_internal):
Do not use "=" constraint on an input constraint.
(ieee_128bit_vsx_abs<mode>2_internal): Likewise.
(ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
(ieee_128bit_vsx_nabs<mode>2): Correct splitter so that it
generates (neg (abs ...)) instead of (abs ...).
[gcc/testsuite]
2016-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70680
* gcc.target/powerpc/pr70640.c: New test.
From-SVN: r234910
Paolo Carlini [Tue, 12 Apr 2016 17:54:34 +0000 (17:54 +0000)]
re PR c++/68722 (internal compiler error: in merge_exception_specifiers, at cp/typeck2.c:2108)
/cp
2016-04-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/68722
* parser.c (cp_parser_cache_defarg): When file ends in default
argument simply return error_mark_node.
/testsuite
2016-04-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/68722
* g++.dg/parse/pr68722.C: New.
From-SVN: r234909
Jakub Jelinek [Tue, 12 Apr 2016 17:18:31 +0000 (19:18 +0200)]
re PR rtl-optimization/70596 (-fcompare-debug failure with one extra NOTE_INSN_DELETED)
PR rtl-optimization/70596
* lra-spills.c (spill_pseudos): Don't delete debug insns, instead
just invalidate LRA data and reset them. Adjust dump wording.
* gcc.target/i386/pr70596.c: New test.
From-SVN: r234906
Edward Smith-Rowland [Tue, 12 Apr 2016 16:31:25 +0000 (16:31 +0000)]
Document C++17/TR29124 C++ Special Math Functions.
2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
Document C++17/TR29124 C++ Special Math Functions.
* include/bits/specfun.h: Add Doxygen markup.
From-SVN: r234905
Nathan Sidwell [Tue, 12 Apr 2016 16:24:11 +0000 (16:24 +0000)]
re PR c++/70501 (internal compiler error: in verify_ctor_sanity, at cp/constexpr.c:2249)
PR c++/70501
cp/
* constexpr.c (cxx_eval_bare_aggregate): Handle VECTOR_TYPE
similarly to PMF.
testsuite/
* g++.dg/init/pr70501.C: New.
From-SVN: r234904
Andre Vieira [Tue, 12 Apr 2016 13:51:40 +0000 (13:51 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2016-04-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r234903
Martin Liska [Tue, 12 Apr 2016 13:38:46 +0000 (15:38 +0200)]
Revert r234572 (aka PR testsuite/70577)
Revert
2016-03-30 Jan Hubicka <hubicka@ucw.cz>
* tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
estimates here.
* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
max_loop_iterations_int.
(tree_unswitch_outer_loop): Likewise.
* tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
* tree-vect-loop.c (vect_analyze_loop_2): Likewise.
From-SVN: r234902
Thomas Schwinge [Tue, 12 Apr 2016 13:13:53 +0000 (15:13 +0200)]
libgomp external ABI prototypes maintenance
libgomp/
* libgomp_g.h: Rename GOACC_parallel_keyd prototype to
GOACC_parallel_keyed, restore GOACC_parallel prototype, new
GOACC_declare prototype.
From-SVN: r234901
David Wohlferd [Tue, 12 Apr 2016 13:04:44 +0000 (13:04 +0000)]
Executable test case for asm flags, by David Wohlferd.
* gcc.target/i386/asm-flag-6.c: New test.
From-SVN: r234900
Thomas Schwinge [Tue, 12 Apr 2016 11:02:32 +0000 (13:02 +0200)]
Merge libgomp.oacc-c-c++-common/loop-reduction-*.c into libgomp.oacc-c-c++-common/reduction-7.c
libgomp/
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
Merge this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
... this file, and...
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
... this file into...
* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
file.
From-SVN: r234899
Thomas Schwinge [Tue, 12 Apr 2016 10:40:22 +0000 (12:40 +0200)]
Improve libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c
libgomp/
* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
Make failure observable.
From-SVN: r234897
Tom de Vries [Tue, 12 Apr 2016 10:08:48 +0000 (10:08 +0000)]
Fix typo in copy_cond_phi_args
2016-04-12 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/68756
* graphite-isl-ast-to-gimple.c (copy_cond_phi_args): Use new_expr
instead of new_name.
* gcc.dg/graphite/pr68756.c: New test.
From-SVN: r234896
Jakub Jelinek [Tue, 12 Apr 2016 09:08:43 +0000 (11:08 +0200)]
re PR tree-optimization/70602 (wrong code at -O1 and above on x86_64-linux-gnu in 32-bit mode (and at -Os only in 64-bit mode))
PR tree-optimization/70602
* tree-sra.c (generate_subtree_copies): Don't write anything into
constant pool decls.
* gcc.c-torture/execute/pr70602.c: New test.
From-SVN: r234895
Jakub Jelinek [Tue, 12 Apr 2016 07:05:29 +0000 (09:05 +0200)]
omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT regardless whether there are depend clauses or not.
* omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT
regardless whether there are depend clauses or not.
* libgomp.h (struct gomp_target_task): Remove firstprivate_copies
field.
* target.c (gomp_target_fallback_firstprivate,
gomp_target_unshare_firstprivate): Removed.
(GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
before waiting for dependencies.
(gomp_target_task_fn): Don't copy firstprivate vars here.
* task.c (GOMP_PLUGIN_target_task_completion): Don't free
firstprivate_copies here.
(gomp_create_target_task): Don't initialize firstprivate_copies field.
* testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
explicit/implicit firstprivate.
From-SVN: r234894
GCC Administrator [Tue, 12 Apr 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234892
Michael Meissner [Mon, 11 Apr 2016 19:45:35 +0000 (19:45 +0000)]
re PR target/70381 (On powerpc, -mfloat128 is on by default for all VSX systems)
[gcc]
2016-04-11 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70381
* config/rs6000/rs6000.c (rs6000_opt_masks): Disable using the
target attribute and pragma from changing the -mfloat128
and -mfloat128-hardware options.
* doc/extend.texi (Additional Floating Types): Document PowerPC
__float128 restrictions.
[libgcc]
2016-04-11 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70381
* configure.ac (powerpc*-*-linux*): Rework tests to build
__float128 emulation routines to not depend on using #pragma GCC
target to enable -mfloat128.
* configure: Regnerate.
[gcc/testsuite]
2016-04-11 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70381
* gcc.target/powerpc/float128-1.c: New tests to make sure the
__float128 emulator is built and runs.
* gcc.target/powerpc/float128-1.c: Likewise.
* lib/target-supports.exp (check_ppc_float128_sw_available):
Rework tests for __float128 software and hardware
availability. Fix exit condition to return 0 on success.
From-SVN: r234884
Jason Merrill [Mon, 11 Apr 2016 13:38:34 +0000 (09:38 -0400)]
mangle.c (decl_is_template_id): The template itself counts as a template-id.
* mangle.c (decl_is_template_id): The template itself counts as a
template-id.
From-SVN: r234879
James Greenhalgh [Mon, 11 Apr 2016 10:16:26 +0000 (10:16 +0000)]
[Patch AArch64 3/3] Fix up for pr70133
gcc/
PR target/70133
* config/aarch64/driver-aarch64.c
(aarch64_get_extension_string_for_isa_flags): New.
(arch_extension): Rename to...
(aarch64_arch_extension): ...This.
(ext_to_feat_string): Rename to...
(aarch64_extensions): ...This.
(aarch64_core_data): Keep track of architecture extension flags.
(cpu_data): Rename to...
(aarch64_cpu_data): ...This.
(aarch64_arch_driver_info): Keep track of architecture extension
flags.
(get_arch_name_from_id): Rename to...
(get_arch_from_id): ...This, change return type.
(host_detect_local_cpu): Update and reformat for renames, handle
extensions through common infrastructure.
From-SVN: r234877
James Greenhalgh [Mon, 11 Apr 2016 10:14:59 +0000 (10:14 +0000)]
[Patch AArch64 2/3] Rework the code to print extension strings (pr70133)
gcc/
PR target/70133
* config/aarch64/aarch64-common.c (aarch64_option_extension): Keep
track of a canonical flag name.
(all_extensions): Likewise.
(arch_to_arch_name): Also track extension flags enabled by the arch.
(all_architectures): Likewise.
(aarch64_parse_extension): Move to here.
(aarch64_get_extension_string_for_isa_flags): Take a new argument,
rework.
(aarch64_rewrite_selected_cpu): Update for above change.
* config/aarch64/aarch64-option-extensions.def: Rework the way flags
are handled, such that the single explicit value enabled by an
extension is kept seperate from the implicit values it also enables.
* config/aarch64/aarch64-protos.h (aarch64_parse_opt_result): Move
to here.
(aarch64_parse_extension): New.
* config/aarch64/aarch64.c (aarch64_parse_opt_result): Move from
here to config/aarch64/aarch64-protos.h.
(aarch64_parse_extension): Move from here to
common/config/aarch64/aarch64-common.c.
(aarch64_option_print): Update.
(aarch64_declare_function_name): Likewise.
(aarch64_start_file): Likewise.
* config/aarch64/driver-aarch64.c (arch_extension): Keep track of
the canonical flag for extensions.
* config.gcc (aarch64*-*-*): Extend regex for capturing extension
flags.
gcc/testsuite/
PR target/70133
* gcc.target/aarch64/mgeneral-regs_4.c: Fix expected output.
* gcc.target/aarch64/target_attr_15.c: Likewise.
From-SVN: r234876
James Greenhalgh [Mon, 11 Apr 2016 10:11:59 +0000 (10:11 +0000)]
[Patch AArch64 1/3] Enable CRC by default for armv8.1-a
gcc/
* config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_1): Also add
AARCH64_FL_CRC.
From-SVN: r234875
Segher Boessenkool [Mon, 11 Apr 2016 07:26:36 +0000 (09:26 +0200)]
libcc1: Clean compiler-name.h (PR70173)
Since the file is generated from a Makefile fragment, it needs to be
added to MOSTLYCLEANFILES. The directory itself is still not deleted
(just like the gnattools and gotools directories).
2016-04-11 Segher Boessenkool <segher@kernel.crashing.org>
libcc1/
PR bootstrap/70173
* Makefile.am (MOSTLYCLEANFILES): New, add compiler-name.h .
(compiler-name.h): Shorten recipe so that it fits the line.
* Makefile.in: Regenerate.
From-SVN: r234874
GCC Administrator [Mon, 11 Apr 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234872
Paolo Carlini [Sun, 10 Apr 2016 09:32:46 +0000 (09:32 +0000)]
re PR c++/69066 (SFINAE compilation error on lambda with trailing return type)
2016-04-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/69066
* g++.dg/cpp1y/pr69066.C: New.
From-SVN: r234869
Steven G. Kargl [Sun, 10 Apr 2016 05:53:06 +0000 (05:53 +0000)]
MAINTAINERS (Fortran maintainer): Remove myself.
2016-04-09 Steven G. Kargl <kargl@gcc.gnu.org>
* MAINTAINERS (Fortran maintainer): Remove myself.
From-SVN: r234868
GCC Administrator [Sun, 10 Apr 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234867
Jerry DeLisle [Sat, 9 Apr 2016 19:09:02 +0000 (19:09 +0000)]
re PR fortran/68566 (ICE on using unusable array in reshape (double free or corruption))
2016-04-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/68566
* array.c (match_array_element_spec): Add check for non-integer.
* simplify.c (gfc_simplify_reshape): If source shape is NULL return.
PR fortran/68566
* gfortran.dg/pr36192.f90: Update test.
* gfortran.dg/pr36192_1.f90: Update test.
* gfortran.dg/real_dimension_1.f: Update test.
* gfortran.dg/parameter_array_init_7.f90: New test.
From-SVN: r234864
John David Anglin [Sat, 9 Apr 2016 17:36:24 +0000 (17:36 +0000)]
re PR testsuite/64039 (FAIL: gcc.dg/tree-ssa/ssa-dom-cse-2.c scan-tree-dump optimized "return 28;")
PR testsuite/64039
* gcc.dg/tree-ssa/ssa-dom-cse-2.c: xfail scan-tree-dump on hppa*64*-*-*.
From-SVN: r234863
John David Anglin [Sat, 9 Apr 2016 17:21:50 +0000 (17:21 +0000)]
pr70317.c: Add -fno-common on hppa*-*-hpux*.
* gcc.dg/pr70317.c: Add -fno-common on hppa*-*-hpux*.
From-SVN: r234862
John David Anglin [Sat, 9 Apr 2016 17:15:15 +0000 (17:15 +0000)]
re PR rtl-optimization/66669 (FAIL: gcc.dg/loop-8.c)
PR rtl-optimization/66669
* gcc.dg/loop-8.c: Skip on hppa*-*-*.
From-SVN: r234861
John David Anglin [Sat, 9 Apr 2016 17:09:43 +0000 (17:09 +0000)]
prod-options.c: Adjust scan for hppa*64*-*-*.
* gcc.dg/debug/dwarf2/prod-options.c: Adjust scan for hppa*64*-*-*.
From-SVN: r234860
John David Anglin [Sat, 9 Apr 2016 16:45:31 +0000 (16:45 +0000)]
pic-1.c: Skip on hppa*-*-*.
* gcc.dg/pic-1.c: Skip on hppa*-*-*.
* gcc.dg/pie-1.c: Likewise.
* gcc.dg/pic-3.c: Skip on hppa*64*-*-*.
* gcc.dg/pic-4.c: Likewise.
* gcc.dg/pie-3.c: Likewise.
* gcc.dg/pie-4.c: Likewise.
From-SVN: r234859
John David Anglin [Sat, 9 Apr 2016 16:04:36 +0000 (16:04 +0000)]
uninit-19.c: Fix warning line for hppa*64*-*-*.
* gcc.dg/uninit-19.c: Fix warning line for hppa*64*-*-*.
From-SVN: r234856
John David Anglin [Sat, 9 Apr 2016 15:54:29 +0000 (15:54 +0000)]
re PR tree-optimization/68644 (FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump-times ivopts "PHI <p_" 1)
PR tree-optimization/68644
* gcc.dg/tree-ssa/ivopts-lt-2.c: Skip on hppa*-*-*.
From-SVN: r234854
John David Anglin [Sat, 9 Apr 2016 15:43:05 +0000 (15:43 +0000)]
re PR testsuite/64886 (FAIL: gcc.dg/pr64434.c scan-rtl-dump-times expand "Swap operands" 1)
PR rtl-optimization/64886
* gcc.dg/pr64434.c: Skip on hppa*-*-hpux*.
From-SVN: r234852
Tom de Vries [Sat, 9 Apr 2016 15:28:24 +0000 (15:28 +0000)]
Fix pdr accesses order
2016-04-09 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/68953
* graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from
first to last subscript.
* gcc.dg/graphite/pr68953.c: New test.
From-SVN: r234851
Dominique d'Humieres [Sat, 9 Apr 2016 13:29:32 +0000 (15:29 +0200)]
re PR fortran/70592 (Addressing error in dynamically-allocated character array)
2016-04-09 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/70592
* gfortran.dg/deferred_character_16.f90: New test.
From-SVN: r234850
Jakub Jelinek [Sat, 9 Apr 2016 11:23:51 +0000 (13:23 +0200)]
re PR tree-optimization/70586 (wrong code at -O2 and -O3 on x86_64-linux-gnu in 32-bit and 64-bit modes)
PR tree-optimization/70586
* tree-ssa-ifcombine.c (bb_no_side_effects_p): Return false
for any calls.
* gcc.c-torture/execute/pr70586.c: New test.
From-SVN: r234849
Dominique d'Humieres [Sat, 9 Apr 2016 09:24:45 +0000 (11:24 +0200)]
re PR sanitizer/70573 (FAIL: c-c++-common/asan/halt_on_error-1.c -O* execution test x86_64-apple-darwin15)
2016-04-09 Dominique d'Humieres <dominiq@lps.ens.fr>
PR sanitizer/70573
* c-c++-common/asan/halt_on_error-1.c: Replace memset
with __builtin_memset
* c-c++-common/asan/halt_on_error-2.c: Likewise.
From-SVN: r234848
GCC Administrator [Sat, 9 Apr 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234846
Cesar Philippidis [Fri, 8 Apr 2016 21:09:47 +0000 (14:09 -0700)]
re PR lto/70289 ([openacc] ICE in input_varpool_node)
gcc/
PR lto/70289
PR ipa/70348
PR tree-optimization/70373
PR middle-end/70533
PR middle-end/70534
PR middle-end/70535
* gimplify.c (gimplify_adjust_omp_clauses): Add or adjust data
clauses for acc parallel reductions as necessary. Error on those
that are private.
* omp-low.c (scan_sharing_clauses): Don't install variables which
are used in acc parallel reductions.
(lower_rec_input_clauses): Remove dead code.
(lower_oacc_reductions): Add support for reference reductions.
(lower_reduction_clauses): Remove dead code.
(lower_omp_target): Don't remap variables appearing in acc parallel
reductions.
* tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): New macro.
gcc/testsuite/
* c-c++-common/goacc/reduction-5.c: New test.
* c-c++-common/goacc/reduction-promotions.c: New test.
* gfortran.dg/goacc/reduction-3.f95: New test.
* gfortran.dg/goacc/reduction-promotions.f90: New test.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
* testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
coverage.
* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
* testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
* testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
coverage.
* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
* testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
* testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
* testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
* testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
From-SVN: r234840
Joseph Myers [Fri, 8 Apr 2016 20:57:02 +0000 (21:57 +0100)]
Regenerate .pot files.
gcc/po:
* gcc.pot: Regenerate.
libcpp/po:
* cpplib.pot: Regenerate.
From-SVN: r234839
Patrick Palka [Fri, 8 Apr 2016 20:17:10 +0000 (20:17 +0000)]
Fix PR c++/70590 (error: location references block not in block tree)
gcc/cp/ChangeLog:
PR c++/70590
PR c++/70452
* constexpr.c (cxx_eval_outermost_expression): Call unshare_expr
on the result if it's not a CONSTRUCTOR.
gcc/testsuite/ChangeLog:
PR c++/70590
PR c++/70452
* g++.dg/pr70590.C: New test.
* g++.dg/pr70590-2.C: New test.
From-SVN: r234837
Jakub Jelinek [Fri, 8 Apr 2016 17:28:20 +0000 (19:28 +0200)]
re PR middle-end/70593 (Miscompilation of xen starting with r226901)
PR middle-end/70593
* tree-ssa-coalesce.c (build_ssa_conflict_graph): For stmt
with multiple SSA_NAME defs, force the outputs other than first
to be live before calling live_track_process_def on each output.
* gcc.target/i386/pr70593.c: New test.
From-SVN: r234834
Jakub Jelinek [Fri, 8 Apr 2016 17:21:17 +0000 (19:21 +0200)]
re PR target/70574 (wrong code with -mavx2, read of partially initialised stack variable)
PR rtl-optimization/70574
* fwprop.c (forward_propagate_and_simplify): Don't add
REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg.
(try_fwprop_subst): Don't add REG_EQUAL note if there are any
paradoxical subregs within *loc.
* gcc.target/i386/avx2-pr70574.c: New test.
From-SVN: r234833
Thomas Schwinge [Fri, 8 Apr 2016 13:47:37 +0000 (15:47 +0200)]
Complete changes to "Ignore -ftree-parallelize-loops={0,1} using gt"
Apply the r225764 and r233573 changes to all relevant spec strings.
gcc/
* config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore
-ftree-parallelize-loops={0,1}.
* config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
* config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
* config/ia64/hpux.h (LIB_SPEC): Likewise.
* config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
* config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
From-SVN: r234831
Bernd Schmidt [Fri, 8 Apr 2016 12:17:03 +0000 (12:17 +0000)]
Fix PR number in ChangeLog
From-SVN: r234830
Marcel Böhme [Fri, 8 Apr 2016 12:10:21 +0000 (12:10 +0000)]
Fix memory allocation size overflows (PR69687, patch by Marcel Böhme)
PR c++/69687
* cplus-dem.c: Include <limits.h> if available.
(INT_MAX): Define if necessary.
(remember_type, remember_Ktype, register_Btype, string_need):
Abort if we detect cases where we the size of the allocation would
overflow.
From-SVN: r234829
Marcel Böhme [Fri, 8 Apr 2016 12:06:59 +0000 (12:06 +0000)]
Handle an overflow case (PR70498, patch by Marcel Böhme).
PR c++/70498
* cplus-dem.c (gnu_special): Handle case where consume_count returns
-1.
From-SVN: r234828
Maxim Ostapenko [Fri, 8 Apr 2016 10:46:13 +0000 (10:46 +0000)]
re PR sanitizer/70541 (unnoticed invalid dereference when using address sanitizer)
2016-04-08 Maxim Ostapenko <m.ostapenko@samsung.com>
PR sanitizer/70541
* asan.c (instrument_derefs): If we get unknown location, extract it
with EXPR_LOCATION.
(maybe_instrument_call): Instrument gimple_call's arguments if needed.
* c-c++-common/asan/pr70541.c: New test.
From-SVN: r234827
Tom de Vries [Fri, 8 Apr 2016 09:41:16 +0000 (09:41 +0000)]
Remove incorrect warning for parallel implicit firstprivate clause
2016-04-08 Tom de Vries <tom@codesourcery.com>
* omp-low.c (lower_omp_target): Set TREE_NO_WARNING for oacc
implicit firstprivate clause.
* c-c++-common/goacc/uninit-firstprivate-clause.c: New test.
* gfortran.dg/goacc/uninit-firstprivate-clause.f95: New test.
From-SVN: r234826
Kyrylo Tkachov [Fri, 8 Apr 2016 09:39:44 +0000 (09:39 +0000)]
[ARM] PR target/70566 Check that condition register is dead in tst-imm -> lsls-imm Thumb2 peepholes
PR target/70566
* config/arm/thumb2.md (tst + branch-> lsls + branch
peephole below *orsi_not_shiftsi_si): Require that condition
register is dead after the peephole.
(second peephole after the above): Likewise.
* gcc.c-torture/execute/pr70566.c: New test.
From-SVN: r234825
Tom de Vries [Fri, 8 Apr 2016 08:48:12 +0000 (08:48 +0000)]
Add goacc/uninit-copy-clause.{c,f95} testcases
2016-04-08 Tom de Vries <tom@codesourcery.com>
* c-c++-common/goacc/uninit-copy-clause.c: New test.
* gfortran.dg/goacc/uninit-copy-clause.f95: New test.
From-SVN: r234824
Alan Modra [Fri, 8 Apr 2016 02:11:52 +0000 (11:41 +0930)]
PR70117, ppc long double isinf
gcc/
PR target/70117
* builtins.c (fold_builtin_classify): For IBM extended precision,
look at just the high-order double to test for NaN.
(fold_builtin_interclass_mathfn): Similarly for Inf. For isnormal
test just the high double for Inf but both doubles for subnormal
limit.
gcc/testsuite/
* gcc.target/powerpc/pr70117.c: New.
From-SVN: r234821
GCC Administrator [Fri, 8 Apr 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234820
Jakub Jelinek [Thu, 7 Apr 2016 21:45:26 +0000 (23:45 +0200)]
re PR testsuite/70581 (gcc.dg/lto/simd-function FAILs)
PR testsuite/70581
* gcc.dg/lto/simd-function_0.c: New test.
From-SVN: r234817
Jakub Jelinek [Thu, 7 Apr 2016 21:32:05 +0000 (23:32 +0200)]
cgraph.h (struct cgraph_simd_clone): Add mask_mode field.
* cgraph.h (struct cgraph_simd_clone): Add mask_mode field.
* omp-low.c (simd_clone_init_simd_arrays, simd_clone_adjust): Handle
node->simdclone->mask_mode != VOIDmode masks.
(simd_clone_adjust_argument_types): Likewise. Move sc var definition
earlier, use it instead of node->simdclone.
* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
Set clonei->mask_mode.
* c-c++-common/attr-simd.c: Add scan-assembler* directives for AVX512F
clones.
* c-c++-common/attr-simd-2.c: Likewise.
* c-c++-common/attr-simd-4.c: Likewise.
* gcc.dg/gomp/simd-clones-2.c: Likewise.
* gcc.dg/gomp/simd-clones-3.c: Likewise.
From-SVN: r234816
Thomas Preud'homme [Thu, 7 Apr 2016 16:19:20 +0000 (16:19 +0000)]
re PR testsuite/70553 (pr70496.c should exclude Thumb only targets)
2016-04-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/testsuite/
PR testsuite/70553
* gcc.target/arm/pr70496.c: Also require arm_arm_ok effective target.
From-SVN: r234811
Patrick Palka [Thu, 7 Apr 2016 16:12:05 +0000 (16:12 +0000)]
Avoid needless unsharing during constexpr evaluation (PR c++/70452)
gcc/cp/ChangeLog:
PR c++/70452
* constexpr.c (find_constructor): New function.
(unshare_constructor): New function.
(cxx_eval_call_expression): Use unshare_constructor instead of
unshare_expr.
(find_array_ctor_elt): Likewise.
(cxx_eval_vec_init_1): Likewise.
(cxx_eval_store_expression): Likewise.
(cxx_eval_constant_expression): Likewise.
From-SVN: r234810
Thomas Schwinge [Thu, 7 Apr 2016 15:21:37 +0000 (17:21 +0200)]
Scan for parallelization of the oacc kernels test-cases in gfortran.dg/goacc
gcc/testsuite/
* gfortran.dg/goacc/kernels-loop-2.f95: Scan for parallelization.
* gfortran.dg/goacc/kernels-loop-data-2.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data-enter-exit-2.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data-enter-exit.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data-update.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data.f95: Likewise.
* gfortran.dg/goacc/kernels-loop.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-n.f95: Likewise, XFAILed.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r234809
Jonathan Wakely [Thu, 7 Apr 2016 14:26:24 +0000 (15:26 +0100)]
* testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
From-SVN: r234808