1. 12 May, 2017 6 commits
  2. 11 May, 2017 34 commits
    • re PR go/64238 (ICE in get_partitioning_class, at symtab.c:1775) · be18b176
      	PR go/64238
      	* go-gcc.cc (Gcc_backend::implicit_variable_reference): Set
      	DECL_EXTERNAL, clear TREE_STATIC.
      
      From-SVN: r247937
      Ian Lance Taylor committed
    • rs6000-c: Add support for built-in functions vector unsigned char vec_popcnt (vector... · b403beb8
      gcc/ChangeLog:
      
      2017-05-11  Carl Love  <cel@us.ibm.com>
      
      	* config/rs6000/rs6000-c: Add support for built-in functions
      	vector unsigned char vec_popcnt (vector signed char)
      	vector unsigned char vec_popcnt (vector unsigned char)
      	vector unsigned short vec_popcnt (vector signed short)
      	vector unsigned short vec_popcnt (vector unsigned short)
      	vector unsigned int vec_popcnt (vector signed int)
      	vector unsigned int vec_popcnt (vector unsigned int)
      	vector unsigned long long vec_popcnt (vector signed long long)
      	vector unsigned long long vec_popcnt (vector unsigned long long)
      	vector signed long long vec_slo (vector signed long long,
                                               vector signed char)
      	vector signed long long vec_slo (vector signed long long,
                                               vector unsigned char)
      	vector unsigned long long vec_slo (vector unsigned long long,
                                                 vector signed char)
      	vector unsigned long long vec_slo (vector unsigned long long,
                                                 vector unsigned char)
      	* config/rs6000/rs6000-builtin.def: Add definitions for VPOPCNTUB,
      	VPOPCNTUH, VPOPCNTUW, and VPOPCNTUD overloads.
      	* config/rs6000/altivec.h: Add define for vec_popcnt, vec_popcntb,
      	vec_popcnth, vec_popcntw and vec_popcntd built-in functions.
      	* doc/extend.texi: Update the built-in documentation file for the
      	new built-in functions.
      
      
      gcc/testsuite/ChangeLog:
      
      2017-05-11  Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/powerpc/builtins-3-p8.c: Add tests for the new built-ins
      	to the test suite file.
      	* gcc.target/powerpc/builtins-3.c: Add tests for the new built-ins
      	to the test suite file.
      
      From-SVN: r247933
      Carl Love committed
    • attribs.h (sorted_attr_string): Move machine independent functions for target… · 1b062c1a
      attribs.h (sorted_attr_string): Move machine independent functions for target clone support from the i386 port...
      
      2017-05-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* attribs.h (sorted_attr_string): Move machine independent
      	functions for target clone support from the i386 port to common
      	code.  Rename ix86_function_versions to common_function_versions.
      	Rename make_name to make_unique_name.
      	(common_function_versions): Likewise.
      	(make_unique_name): Likewise.
      	(make_dispatcher_decl): Likewise.
      	(is_function_default_version): Likewise.
      	* attribs.c (attr_strcmp): Likewise.
      	(sorted_attr_string): Likewise.
      	(common_function_versions): Likewise.
      	(make_unique_name): Likewise.
      	(make_dispatcher_decl): Likewise.
      	(is_function_default_version): Likewise.
      	* config/i386/i386.c (attr_strcmp): Likewise.
      	(sorted_attr_string): Likewise.
      	(ix86_function_versions): Likewise.
      	(make_name): Likewise.
      	(make_dispatcher_decl): Likewise.
      	(is_function_default_version): Likewise.
      	(TARGET_OPTION_FUNCTION_VERSIONS): Update target function hook.
      
      From-SVN: r247932
      Michael Meissner committed
    • runtime: fix isSystemGoroutine for gccgo · 3619ab8b
          
          The gc toolchain decides whether a goroutine is a system goroutine by
          comparing startpc to a list of saved special PCs.  In gccgo that
          approach does not work as startpc is often a thunk that invokes the
          real function with arguments, so the thunk address never matches the
          saved special PCs.
          
          This patch fixes gccgo's understanding of system goroutines.  Since
          there are only a limited number of them, we simply change each one to
          mark itself as special.
          
          This fixes stack dumps and functions like runtime.NumGoroutine to
          behave more like gc.  It also fixes the goprint test in the gc
          testsuite.
          
          Reviewed-on: https://go-review.googlesource.com/43156
      
      From-SVN: r247931
      Ian Lance Taylor committed
    • re PR fortran/78659 ([F03] Spurious "requires DTIO" reported against namelist statement) · 628c06d6
      2017-05-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/78659
      	* io.c (dtio_procs_present): Add new function to check for DTIO
      	procedures relative to I/O statement READ or WRITE.
      	(gfc_resolve_dt): Add namelist checks using the new function.
      	* resolve.c (dtio_procs_present): Remove function and related
      	namelist checks. (resolve_fl_namelist): Add check specific to
      	Fortran 95 restriction on namelist objects.
      
      	* gfortran.dg/namelist_91.f90: New test.
      	* gfortran.dg/namelist_92.f90: New test.
      	* gfortran.dg/namelist_93.f90: New test.
      	* gfortran.dg/namelist_94.f90: New test.
      
      From-SVN: r247930
      Jerry DeLisle committed
    • 2017-05-11 François Dumont <fdumont@gcc.gnu.org> · fee84d55
      	* include/bits/stl_tree.h [_GLIBCXX_INLINE_VERSION]
      	(_Rb_tree_impl<>): Remove _Is_pod_comparator
      	template parameter.
      
      From-SVN: r247929
      François Dumont committed
    • re PR target/80695 (gratuitous use of stxvx to store multiple pointers) · 1bea0f26
      [gcc]
      
      2017-05-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR target/80695
      	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
      	Account for direct move costs for vec_construct of integer
      	vectors.
      
      [gcc/testsuite]
      
      2017-05-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR target/80695
      	* gcc.target/powerpc/pr80695-p8.c: New file.
      	* gcc.target/powerpc/pr80695-p9.c: New file.
      
      From-SVN: r247928
      Bill Schmidt committed
    • Don't assume __secure_getenv is available · d86e68e2
      Glibc 2.17 made __secure_getenv an officially supported function, and
      renamed it secure_getenv. The libgfortran configure has checked for
      both of these, per
      https://sourceware.org/glibc/wiki/Tips_and_Tricks/secure_getenv.
      
      Unfortunately, while the dynamical library (libc.so) retains the
      __secure_getenv symbol for backwards compatibility, the static library
      (libc.a) does not. This means that a libgfortran.a compiled against an
      older glibc will not work if one tries to link against a newer
      libc.a. This creates problems for providing gfortran binary
      distributions that work on as many target systems as possible.
      
      Thus, retain the support for __secure_getenv but call it only via a
      weak reference.
      
      Regtested on x86_64-pc-linux-gnu.
      
      2017-05-11  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	* libgfortran.h: HAVE_SECURE_GETENV: Don't check
      	HAVE___SECURE_GETENV.
      	* environ/runtime.c (secure_getenv): Use __secure_getenv via a
              weak reference.
      
      From-SVN: r247927
      Janne Blomqvist committed
    • 2017-05-11 François Dumont <fdumont@gcc.gnu.org> · ea594612
      	* include/debug/safe_container.h [_GLIBCXX_USE_CXX11_ABI]
      	(_Safe_container<>): Remove _IsCxx11AllocatorAware template parameter.
      	* include/debug/string: Adapt.
      
      From-SVN: r247926
      François Dumont committed
    • 2017-05-11 François Dumont <fdumont@gcc.gnu.org> · dc4dd7f6
      	* include/debug/formatter.h [_GLIBCXX_INLINE_VERSION]
      	(__gnu_debug::_Error_formatter::_Parameter::_M_print_field): Remove.
      	(__gnu_debug::_Error_formatter::_Parameter::_M_print_description):
      	Remove.
      	(__gnu_debug::_Error_formatter::_M_format_word): Remove.
      	(__gnu_debug::_Error_formatter::_M_print_word): Remove.
      	(__gnu_debug::_Error_formatter::_M_print_string): Remove.
      	(__gnu_debug::_Error_formatter::_M_get_max_length): Remove.
      	* src/c++11/debug.cc: Adapt.
      	* config/abi/pre/gnu-versioned-namespace.ver: Adapt.
      
      From-SVN: r247925
      François Dumont committed
    • Missing Changelog · ce9750d5
      	Missing Changelog
      	* libcp1plugin.cc (safe_pushdecl_maybe_friend): Call pushdecl.
      
      From-SVN: r247924
      Nathan Sidwell committed
    • cp-lang.c (get_global_decls, [...]): Move to ... · 505dd180
      	* cp-lang.c (get_global_decls, cxx_pushdecl, LANG_HOOK_GETDECLS)
      	LANG_HOOKS_PUSHDECL): Move to ...
      	* cp-objcp-common.c (cp_get_global_decls, cp_pushdec)
      	LANG_HOOK_DECLS, LANG_HOOKS_PUSHDECL): ... here.
      	* cp-objcp-common.h (cp_get_global_decls, cp_pushdecl): Declare.
      ((--This line, and those below, will be ignored--
      
      M    cp/ChangeLog
      M    cp/cp-lang.c
      M    cp/cp-objcp-common.c
      M    cp/cp-objcp-common.h
      
      From-SVN: r247923
      Nathan Sidwell committed
    • re PR target/80706 (peephole2 uses uninitialized stack variables on i686) · 7c85c9fe
      	PR target/80706
      	* config/i386/sync.md (UNSPEC_LDX_ATOMIC): New unspec.
      	(UNSPEC_STX_ATOMIC): Ditto.
      	(loaddi_via_sse): New insn.
      	(storedi_via_sse): Ditto.
      	(atomic_loaddi_fpu): Emit loaddi_via_sse and storedi_via_sse.
      	Update corresponding peephole2 patterns.
      	(atomic_storedi_fpu): Ditto.
      
      testsuite/ChangeLog:
      
      	PR target/80706
      	* gcc.target/i386/pr80706.c: New test.
      
      From-SVN: r247921
      Uros Bizjak committed
    • * config/i386/avx512fintrin.h (_mm_mask_rsqrt14_sd) · d7a33a4c
      	(_mm_maskz_rsqrt14_sd, _mm_mask_rsqrt14_ss, _mm_maskz_rsqrt14_ss):
      	New intrinsics.
      	* config/i386/i386-builtin.def (__builtin_ia32_rsqrt14sd_mask)
      	(__builtin_ia32_rsqrt14ss_mask): New builtins.
      	* config/i386/sse.md (rsqrt14_<mode>_mask): New pattern.
      
      testsuite/ChangeLog:
      
      	* gcc.target/i386/avx512f-vrsqrt14sd-1.c: Test new intrinsics.
      	* gcc.target/i386/avx512f-vrsqrt14sd-2.c: Ditto.
      	* gcc.target/i386/avx512f-vrsqrt14ss-1.c: Ditto.
      	* gcc.target/i386/avx512f-vrsqrt14ss-2.c: Ditto.
      
      From-SVN: r247920
      Julia Koval committed
    • * graphite-poly.c: Include dumpfile.h. · 31cf88b6
      From-SVN: r247919
      Nathan Sidwell committed
    • name-lookup.h (pushdecl): Add default friend parm. · 4f15a5da
      	* name-lookup.h (pushdecl): Add default friend parm.
      	(pushdecl_maybe_friend): Delete.
      	(pushdecl_top_level): Add default friend parm.
      	(pushdecl_top_level_maybe_friend): Delete.
      	* name-lookup.c (pushdecl_maybe_friend): Delete.
      	(pushdecl): Add is_friend parm.
      	(pushdecl_top_level): Add is friend_parm.
      	(pushdecl_top_level_maybe_friend, pushdecl_top_level_1): Delete.
      	(pushdecl_top_level_and_finish): Do pushing and finishing
      	directly.
      	* friend.c (do_friend): Adjust.
      	* pt.c (tsubst_friend_class): Adjust.
      
      From-SVN: r247918
      Nathan Sidwell committed
    • re PR c++/70538 (ICE on a deprecated access declaration in… · 59fbddcf
      re PR c++/70538 (ICE on a deprecated access declaration in instantiate_template_1, at cp/pt.c:17310)
      
      2017-05-11  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/70538
      	* g++.dg/cpp0x/pr70538.C: New.
      
      From-SVN: r247917
      Paolo Carlini committed
    • dumpfle.h (dump_function): Declare here ... · c24e924f
      	* dumpfle.h (dump_function): Declare here ...
      	* tree-dump.h (dump_function): ... not here.
      	* dumpfile.c: #include tree-cfg.h.
      	(dump_function): Move here from ...
      	* tree-dump.c (dump_function): ... here.
      	* gimplify.c: #include splay-tree.h, not tree-dump.h.
      	* graphite-poly.c: Don't include tree-dump.h.
      	* cgraphclones.c: Include dumpfile.h not tree-dump.h.
      	* print-tree.c: Likewise.
      	* stor-layout.c: Likewise.
      	* tree-nested.c: Likewise.
      
      	c/
      	* gimple-parser.c: Don't #include tree-dump.h.
      
      	fortran/
      	* trans-decl.c: Include dumpfile.h not tree-dump.h,
      
      From-SVN: r247916
      Nathan Sidwell committed
    • Revert pushdecl_top_level_and_finish name change. · 2e3757e7
      	* name-lookup.h (pushdecl_top_level_and_finish): Resurrect old
      	name.
      	* name-lookup.c (pushdecl_top_level_and_finish): Likewise.
      	* decl.c (cp_make_fname_decl): Adjust.
      	* decl2.c (get_guard, handle_tls_init):  Adjust.
      	* rtti.c (get_tinfo_decl, tinfo_base_init):  Adjust.
      
      From-SVN: r247915
      Nathan Sidwell committed
    • pr22152.c: Fix undefined testcase. · cc09ff60
      	* gcc.target/i386/pr22152.c: Fix undefined testcase.  Remove
      	unnecessary loop.  Run on 32-bit targets only.
      	(dg-options): Remove -fno-tree-sink.
      
      From-SVN: r247914
      Uros Bizjak committed
    • As I will be working on X86 intrinsic equivalents for PowerPC64LE · 75ad901a
      adding myself to Write After Approval list.
      
      2017-05-11  Steven Munroe  <munroesj@gcc.gnu.org>
      
      	* MAINTAINERS: Add myself to Write After Approval section.
      
      From-SVN: r247913
      Steven Munroe committed
    • Fix ViewCVS URLs in libstdc++ manual · 395ec8f3
      	* doc/xml/manual/allocator.xml: Fix ViewCVS URLs.
      	* doc/xml/manual/mt_allocator.xml: Likewise.
      	* doc/html/*: Regenerate.
      
      From-SVN: r247911
      Jonathan Wakely committed
    • name-lookup.c (pushdecl_outermost_localscope): Always conditionally stop timer. · c8634a1a
      	* name-lookup.c (pushdecl_outermost_localscope): Always
      	conditionally stop timer.
      
      From-SVN: r247910
      Nathan Sidwell committed
    • decl.c (xref_tag_1): Don't frob ts_lambda scope here. · c443f3d5
      	* decl.c (xref_tag_1): Don't frob ts_lambda scope here.
      	* name-lookup.c (pushtag_1): Deal with ts_lambda scope.
      
      From-SVN: r247909
      Nathan Sidwell committed
    • dumpfile.h (TDF_FLAGS): New. · 2cd47092
      	* dumpfile.h (TDF_FLAGS): New.
      	* dumpfile.c (dump_start): Use TDF_FLAGS.
      	(dump_enable_all): Fix TDF_KIND check thinko.
      
      From-SVN: r247908
      Nathan Sidwell committed
    • cmpb-1.c: New test. · 4fd18c78
      gcc/testsuite/ChangeLog:
      
      2017-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* gcc.target/powerpc/cmpb-1.c: New test.
      	* gcc.target/powerpc/cmpb-2.c: New test.
      	* gcc.target/powerpc/cmpb-3.c: New test.
      	* gcc.target/powerpc/cmpb32-1.c: New test.
      	* gcc.target/powerpc/cmpb32-2.c: New test.
      
      gcc/ChangeLog:
      
      2017-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
      	array entries to represent two legal parameterizations of the
      	overloaded __builtin_cmpb function, as represented by the
      	P6_OV_BUILTIN_CMPB constant.
      	(altivec_resolve_overloaded_builtin): Add special case handling
      	for the __builtin_cmpb function, as represented by the
      	P6_OV_BUILTIN_CMPB constant.
      	* config/rs6000/rs6000-builtin.def (BU_P6_2): New macro.
      	(BU_P6_64BIT_2): New macro.
      	(BU_P6_OVERLOAD_2): New macro
      	(CMPB_32): Add 32-bit compare-bytes support for 32-bit only targets.
      	(CMPB): Add 64-bit compare-bytes support for 32-bit and 64-bit targets.
      	(CMPB): Add overload support to represent both 32-bit and 64-bit
      	compare-bytes function.
      	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
      	support for TARGET_CMPB.
      	* config/rs6000/rs6000.h: Add support for RS6000_BTM_CMPB.
      	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Add
      	documentation of the __builtin_cmpb overloaded built-in function.
      
      From-SVN: r247907
      Kelvin Nilsen committed
    • re PR tree-optimization/80705 (Incorrect code generated for profile counter updates due to SLP+LIM) · 43b883a9
      2017-05-11  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/80705
      	* tree-vect-data-refs.c (vect_analyze_data_refs): DECL_NONALIASED
      	bases are not vectorizable.
      
      	* gcc.dg/vect/bb-slp-pr80705.c: New testcase.
      
      From-SVN: r247906
      Richard Biener committed
    • PR libstdc++/80285 optimize std::make_shared for -fno-rtti · f8cba3aa
      	PR libstdc++/80285
      	* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Define
      	function to get unique fake std::type_info reference.
      	(_Sp_counted_ptr_inplace::_M_get_deleter) [!__cpp_rtti]: Compare to
      	_S_ti() fake reference.
      	(__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Share
      	single implementation with or without RTTI enable.
      	[!__cpp_rtti]: Pass fake reference to _M_get_deleter.
      	* testsuite/20_util/shared_ptr/creation/alloc.cc: Change expected
      	allocation and deallocation counts.
      	* testsuite/20_util/shared_ptr/creation/single_allocation.cc: New.
      	* testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc:
      	New.
      
      From-SVN: r247905
      Jonathan Wakely committed
    • scanlang.exp: New. · 29b871ec
      	* lib/scanlang.exp: New.
      	* lib/gcc-dg.exp: Load scanlang.exp.
      	* g++.dg/inherit/covariant7.C: Use scan-lang-dump.
      
      From-SVN: r247904
      Nathan Sidwell committed
    • GIMPLEFE: Handle invalid SSA names · c587104e
      gcc/testsuite/
      
      	PR testsuite/80580
      	* gcc.dg/gimplefe-error-6.c: New test.
      
      gcc/c/
      
      	PR testsuite/80580
      	* gimple-parser.c (c_parser_parse_ssa_name): Validate SSA name base.
      
      From-SVN: r247903
      Mikhail Maltsev committed
    • cp-tree.h (pushdecl, [...]): Move declarations to ... · 056a17ee
      	* cp-tree.h (pushdecl, pushdecl_maybe_friend, pushtag)
      	pushtag_top_level_maybe_friend,
      	pushdecl_top_level_and_finish):	Move declarations to ...
      	* name-lookup.h: ... here.  Group pushdecl variants.
      	(pushdecl_top_level_and_finish): Rename to ...
      	(pushdecl_top_level_with_init): ... here.
      	* decl.c (cp_make_fname_decl): Use pushdecl_top_level_with_init.
      	* decl2.c (get_guard, handle_tls_init): Likewise.
      	* rtti.c (get_tinfo_decl, tinfo_base_init): Likewise.
      	* lambda.c (maybe_add_lambda_conv_op): Use namespace_bindings_p.
      	* method.c (implicitly_declare_fn): Likewise.
      	* searchc (node_debug_info_needed): Likewise.
      	* name-lookup.c (pushdecl_top_level_and_finish): Rename to ...
      	(pushdecl_top_level_with_init): ... here.
      	(pop_everything): Use namespace_bindings_p.
      (--This line, and those below, will be ignored--
      
      M    cp/ChangeLog
      M    cp/method.c
      M    cp/cp-tree.h
      M    cp/decl.c
      M    cp/lambda.c
      M    cp/rtti.c
      M    cp/name-lookup.c
      M    cp/decl2.c
      M    cp/name-lookup.h
      M    cp/search.c
      
      From-SVN: r247902
      Nathan Sidwell committed
    • name-lookup.h (pop_binding): Rename to pop_local_binding. · 9c82d7b6
      	* name-lookup.h (pop_binding): Rename to pop_local_binding.
      	(getdecls): Rename to get_local_decls.
      	* name-lookup.c (pop_binding): Rename to ...
      	(pop_local_binding): ... here.
      	(pop_bindings_and_leave_scope): Adjust.
      	(getdecls): Rename to ...
      	(get_local_decls): ... here.  Assert local scope.
      	* decl.c (poplevel): Assert not namespace.  Adjust and simplify
      	logic.
      	(store_parm_decls): Adjust get_local_decls call.
      	(parser.c (synthesize_implicit_template_parm): Likewise.
      
      From-SVN: r247901
      Nathan Sidwell committed
    • GIMPLEFE: handle invalid __MEM · 67ac9a9d
      gcc/c/
      
      	PR testsuite/80580
      	* gimple-parser.c (c_parser_gimple_postfix_expression): Handle
      	incorrect __MEM syntax.
      
      gcc/testsuite/
      
      	PR testsuite/80580
      	* gcc.dg/gimplefe-error-5.c: New test.
      
      From-SVN: r247900
      Mikhail Maltsev committed