1. 15 Apr, 2016 17 commits
    • * BASE-VER: Set to 7.0.0. · 70f4fdeb
      From-SVN: r235035
      Jakub Jelinek committed
    • re PR c++/70594 (-fcompare-debug failure) · 97f3003f
      	PR c++/70594
      	* constexpr.c (constexpr_call_table): Preserve in GC.
      	(struct fundef_copy, struct fundef_copies_table_t):	Delete.
      	(fundef_copies_table): Preserve in GC. Change to pointer to
      	tree->tree hash.
      	(maybe_initialize_fundef_copies_table): Adjust.
      	(get_fundef_copy): Return a TREE_LIST.  Use non-inserting search.
      	(save_fundef_copy): Adjust for a TREE_LIST.
      	(cxx_eval_call_expression): Adjust for a fundef_copy TREE_LIST.
      	(fini_constexpr): New.
      	* cp-tree.h (fini_constexpr): Declare.
      	* decl2.c (c_parse_final_cleanups): Call fini_constexpr.
      
      Co-Authored-By: Nathan Sidwell <nathan@acm.org>
      
      From-SVN: r235033
      Jason Merrill committed
    • re PR c/70671 (Wrong column number shown for "error: cannot take address of bit-field") · 949505a9
      	PR c/70671
      	* c-typeck.c (build_unary_op): Pass location down to error and
      	warning call.
      
      	* gcc.dg/bitfld-22.c: New test.
      
      From-SVN: r235032
      Marek Polacek committed
    • [ARM][doc] Document deprecation of pre-ARMv4T architecture revisions · 33f6a90c
      	* doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T
      	architecture revisions.
      
      From-SVN: r235029
      Kyrylo Tkachov committed
    • i386: Don't convert stack operations to pushes if using a redzone. · 10e547d6
      	* config/i386/i386-protos.h (ix86_using_red_zone): Declare.
      	* config/i386/i386.c (ix86_using_red_zone): No longer static.
      	* config/i386/i386.md (stack decrement to push peepholes): Guard
      	with !x86_using_red_zone ().
      
      testsuite/
      	* gcc.target/i386/pr46470.c: Add -mno-red-zone to dg-options for
      	x86_64.
      
      From-SVN: r235028
      Bernd Schmidt committed
    • re PR c/70651 (ICE on invalid code on x86_64-linux-gnu in build_va_arg, at… · 1e77281b
      re PR c/70651 (ICE on invalid code on x86_64-linux-gnu in build_va_arg, at c-family/c-common.c:5728)
      
      	PR c/70651
      	* c-common.c (build_va_arg): Change two asserts into errors and return
      	error_mark_node.
      
      	* c-c++-common/pr70651.c: New test.
      
      From-SVN: r235027
      Marek Polacek committed
    • re PR c++/70675 (compare-debug failure building LLVM) · 51dbe4a0
      	PR c++/70675
      	* tree-pretty-print.c (do_niy): Add FLAGS argument, pass it down
      	to dump_generic_node.
      	(NIY): Pass also flags to do_niy.
      
      From-SVN: r235025
      Jakub Jelinek committed
    • [testsuite] PR rtl-optimization/70681: XFAIL ira-shrinkwrap-prep-2.c and… · e501fa8e
      [testsuite] PR rtl-optimization/70681: XFAIL ira-shrinkwrap-prep-2.c and pr10474.c tests on arm, powerpc
      
      	PR rtl-optimization/70681
      	* gcc.dg/ira-shrinkwrap-prep-2.c: XFAIL shrinkwrapping
      	dump scan on arm and powerpc.
      	* gcc.dg/pr10474.c: Likewise.
      
      From-SVN: r235024
      Kyrylo Tkachov committed
    • re PR c++/69517 (SEGV on a VLA with excess initializer elements) · ca4ef1ff
      	PR c++/69517
      	PR c++/70019
      	PR c++/70588
      	* g++.dg/cpp1y/vla11.C: Revert for real.
      
      From-SVN: r235021
      Jakub Jelinek committed
    • re PR c/70436 (-Wparentheses missing ambiguous else warning) · dda1bf61
      	PR c/70436
      c/
      	* c-parser.c (c_parser_pragma): Add IF_P argument, pass it down
      	where needed.
      	(c_parser_external_declaration, c_parser_struct_or_union_specifier,
      	c_parser_parameter_declaration, c_parser_compound_statement_nostart,
      	c_parser_objc_class_instance_variables, c_parser_objc_methodprotolist):
      	Adjust c_parser_pragma callers.
      	(c_parser_statement_after_labels): Likewise.  Adjust c_parser_cilk_for
      	caller.
      	(c_parser_omp_structured_block): Add IF_P argument, pass it down to
      	c_parser_statement.
      	(c_parser_oacc_data, c_parser_oacc_host_data, c_parser_oacc_loop,
      	c_parser_oacc_kernels_parallel, c_parser_omp_critical,
      	c_parser_omp_simd, c_parser_omp_for, c_parser_omp_master,
      	c_parser_omp_ordered, c_parser_omp_parallel, c_parser_omp_single,
      	c_parser_omp_task, c_parser_omp_taskgroup, c_parser_omp_distribute,
      	c_parser_omp_teams, c_parser_omp_target_data, c_parser_omp_target,
      	c_parser_omp_taskloop, c_parser_omp_construct, c_parser_cilk_grainsize,
      	c_parser_cilk_simd, c_parser_cilk_for): Add IF_P argument, pass it
      	down where needed.
      	(c_parser_omp_for_loop): Likewise.  Clear IF_P if nbraces.
      	(c_parser_omp_sections_scope): Adjust c_parser_omp_structured_block
      	calls.
      cp/
      	* parser.c (cp_parser_pragma): Add IF_P argument, pass it down
      	where needed.
      	(cp_parser_declaration_seq_opt, cp_parser_member_specification_opt,
      	cp_parser_objc_interstitial_code, cp_parser_omp_declare_simd,
      	cp_parser_oacc_routine): Adjust cp_parser_pragma callers.
      	(cp_parser_statement): Likewise.  Adjust cp_parser_cilk_for caller.
      	(cp_parser_omp_structured_block): Add IF_P argument, pass it down to
      	cp_parser_statement.
      	(cp_parser_oacc_data, cp_parser_oacc_host_data, cp_parser_oacc_loop,
      	cp_parser_oacc_kernels_parallel, cp_parser_omp_critical,
      	cp_parser_omp_simd, cp_parser_omp_for, cp_parser_omp_master,
      	cp_parser_omp_ordered, cp_parser_omp_parallel, cp_parser_omp_single,
      	cp_parser_omp_task, cp_parser_omp_taskgroup, cp_parser_omp_distribute,
      	cp_parser_omp_teams, cp_parser_omp_target_data, cp_parser_omp_target,
      	cp_parser_omp_taskloop, cp_parser_omp_construct,
      	cp_parser_cilk_grainsize, cp_parser_cilk_simd, cp_parser_cilk_for):
      	Add IF_P argument, pass it down where needed.
      	(cp_parser_omp_for_loop): Likewise.  Clear IF_P if nbraces.
      	(cp_parser_omp_sections_scope): Adjust cp_parser_omp_structured_block
      	calls.
      testsuite/
      	* c-c++-common/Wparentheses-1.c: New test.
      	* c-c++-common/gomp/Wparentheses-1.c: New test.
      	* c-c++-common/gomp/Wparentheses-2.c: New test.
      	* c-c++-common/gomp/Wparentheses-3.c: New test.
      	* c-c++-common/gomp/Wparentheses-4.c: New test.
      	* c-c++-common/cilk-plus/PS/Wparentheses-1.c: New test.
      	* c-c++-common/cilk-plus/CK/Wparentheses-1.c: New test.
      	* c-c++-common/goacc/Wparentheses-1.c: New test.
      
      From-SVN: r235020
      Jakub Jelinek committed
    • Split out OMP constructs' SIMD clone supporting code · 60cbb674
      	gcc/
      	* omp-low.c (simd_clone_struct_alloc, simd_clone_struct_copy)
      	(simd_clone_vector_of_formal_parm_types)
      	(simd_clone_clauses_extract, simd_clone_compute_base_data_type)
      	(simd_clone_mangle, simd_clone_create)
      	(simd_clone_adjust_return_type, create_tmp_simd_array)
      	(simd_clone_adjust_argument_types, simd_clone_init_simd_arrays)
      	(struct modify_stmt_info, ipa_simd_modify_stmt_ops)
      	(ipa_simd_modify_function_body, simd_clone_linear_addend)
      	(simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone)
      	(pass_data_omp_simd_clone, class pass_omp_simd_clone)
      	(pass_omp_simd_clone::gate, make_pass_omp_simd_clone): Move
      	into...
      	* omp-simd-clone.c: ... this new file.
      	(simd_clone_vector_of_formal_parm_types): Make it static.
      	* Makefile.in (OBJS): Add omp-simd-clone.o.
      
      From-SVN: r235017
      Thomas Schwinge committed
    • AVX-512. Fix mem operand modifier for Intel syntax. · 1355e62c
      PR target/70662
      gcc/
      	* config/i386/sse.md: Use proper memory operand
      	modifiers.
      testsuite/gcc/
      	* gcc.target/i386/pr70662.c: New test.
      
      From-SVN: r235008
      Kirill Yukhin committed
    • re PR tree-optimization/70130 (h264ref fails with verification error starting… · 0ab34b9e
      re PR tree-optimization/70130 (h264ref fails with verification error starting with r231674 (r224221 is the true start of the problem))
      
      2016-04-15  Richard Biener  <rguenther@suse.de>
      	Alan Modra  <amodra@gmail.com>
      
      	PR tree-optimization/70130
      	* tree-vect-data-refs.c (vect_supportable_dr_alignment): Detect
      	when alignment stays not the same and no not use the realign
      	scheme then.
      
      	* gcc.dg/vect/O3-pr70130.c: New testcase.
      
      Co-Authored-By: Alan Modra <amodra@gmail.com>
      
      From-SVN: r235006
      Richard Biener committed
    • re PR c++/70494 (Internal Compiler Error: Capturing an array of vectors in a lambda) · 8e718ecb
      	PR c++/70494
      
      	* decl.c (cxx_maybe_build_cleanup): Handle non-decls.
      	* typeck2.c (split_nonconstant_init_1): Use it.
      
      From-SVN: r235003
      Jason Merrill committed
    • re PR c++/70528 (bogus error: constructor required before non-static data member) · 26144dde
      	PR c++/70528
      
      	* class.c (type_has_constexpr_default_constructor): Return true
      	for an implicitly declared constructor.
      
      From-SVN: r235002
      Jason Merrill committed
    • Daily bump. · eab43e69
      From-SVN: r234999
      GCC Administrator committed
  2. 14 Apr, 2016 15 commits
  3. 13 Apr, 2016 8 commits
    • PR c++/69517 - [5/6 regression] SEGV on a VLA with excess initializer elements · 342fac95
      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 committed
    • Adjust for new empty class parameter passing ABI. · a6297ab5
      	* 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
      Jonathan Wakely committed
    • re PR c++/70641 (ICE on valid code at -O1 and above on x86_64-linux-gnu: verify_gimple failed) · d93c452f
      	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 committed
    • re PR c++/70594 (-fcompare-debug failure) · 5f36c869
      	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
      Jakub Jelinek committed
    • Warn about empty parameter ABI with -Wabi=9. · 2ee35bea
      	* 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 committed
    • Pass empty class parameters like C. · 5655267c
      	* 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
      Jason Merrill committed
    • libgo: update to Go 1.6.1 release · 88b5d499
          
          Reviewed-on: https://go-review.googlesource.com/22007
      
      From-SVN: r234958
      Ian Lance Taylor committed