1. 19 Jan, 2017 8 commits
  2. 18 Jan, 2017 32 commits
    • altivec.md (altivec_vbpermq): Change "type" attribute from vecsimple to vecperm. · 20ca9ae2
      2017-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/altivec.md (altivec_vbpermq): Change "type"
      	attribute from vecsimple to vecperm.
      	(altivec_vbpermq2): Likewise.
      
      From-SVN: r244603
      Bill Schmidt committed
    • re PR target/79040 (vec_cntlz redefined) · 1c8bf560
      2017-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR target/79040
      	* config/rs6000/altivec.h: Fix typo of vec_cntlz to vec_cnttz.
      
      From-SVN: r244602
      Bill Schmidt committed
    • re PR fortran/50069 (FORALL fails on a character array) · 7bd5dad2
      2017-01-18  Louis Krupp  <louis.krupp@zoho.com>
      
      	PR fortran/50069
      	PR fortran/55086
      	* gfortran.dg/pr50069_1.f90: New test.
      	* gfortran.dg/pr50069_2.f90: New test.
      	* gfortran.dg/pr55086_1.f90: New test.
      	* gfortran.dg/pr55086_1_tfat.f90: New test.
      	* gfortran.dg/pr55086_2.f90: New test.
      	* gfortran.dg/pr55086_2_tfat.f90: New test.
      	* gfortran.dg/pr55086_aliasing_dummy_4_tfat.f90: New test.
      
      2017-01-18  Louis Krupp  <louis.krupp@zoho.com>
      
      	PR fortran/50069
      	PR fortran/55086
      	* trans-expr.c (gfc_conv_variable): Don't treat temporary variables
      	as function arguments.
      	* trans-stmt.c (forall_make_variable_temp,
      	generate_loop_for_temp_to_lhs, gfc_trans_assign_need_temp,
      	gfc_trans_forall_1): Don't adjust offset of forall temporary
      	for array sections, make forall temporaries work for substring
      	expressions, improve test coverage by adding -ftest-forall-temp
      	option to request usage of temporary array in forall code.
      	* lang.opt: Add -ftest-forall-temp option.
      	* invoke.texi: Add -ftest-forall-temp option.
      
      From-SVN: r244601
      Louis Krupp committed
    • Implement LANG_HOOKS_TYPE_FOR_SIZE for jit · b37589b0
      gcc/jit/ChangeLog:
      	* dummy-frontend.c (jit_langhook_type_for_size): Implement, using
      	lto's lto_type_for_size.
      
      From-SVN: r244600
      David Malcolm committed
    • PR c++/68666 - member variable template-id · 8b1346a8
      	* typeck.c (finish_class_member_access_expr): Handle variable
      	template-id.
      	* pt.c (lookup_and_finish_template_variable): No longer static.
      	* cp-tree.h: Declare it.
      
      From-SVN: r244599
      Jason Merrill committed
    • rs6000-protos.h (expand_strn_compare): Add arg. · 0edd264d
      2017-01-18  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
      	* config/rs6000/rs6000-protos.h (expand_strn_compare): Add arg.
      	* config/rs6000/rs6000.c (expand_strn_compare): Add ability to expand
      	strcmp. Fix bug where comparison didn't stop with zero byte. Fix
      	case where N arg is SIZE_MAX.
      	* config/rs6000/rs6000.md (cmpstrnsi): Args to expand_strn_compare.
      	(cmpstrsi): Add pattern.
      2017-01-18  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
      	* gcc.dg/strcmp-1.c: New test.
      	* gcc.dg/strncmp-1.c: Add test for a bug that escaped.
      
      From-SVN: r244598
      Aaron Sawdey committed
    • jit.dg: fix issue with compilation of test-threads.c · 551914b7
      DejaGnu's <dejagnu.h> provides decls of various inline functions,
      of which the jit testsuite uses "pass", "fail" and "note".
      
      The jit testcase test-threads.c jumps through some hoops to make
      these functions threadsafe, using macros to rename the implementation
      in dejagnu.h, giving them a "dejagnu_" prefix, then reimplementing
      the names with wrappers that use a mutex.
      
      The DejaGnu functions gained a "static" modifier in
      ad36659ffa984a0541cfc2bd27f393e0d7d173a7, which appears to be in
      DejaGnu 1.5.2 onwards.
      
      Unfortunately, jit.dg/test-threads.c has forward decls of
      "dejagnu_pass" etc, and these don't have "static", leading to conflicts
      with later versions of DejaGnu for which "pass" etc have "static".
      
      This patch fixes things by removing the forward decls of
      "dejagnu_pass", moving the usage of them to a point at which dejagnu.h
      has been included, which ought to work with both earlier and later
      versions of DejaGnu.
      
      Fixes compilation of test-threads.c in jit testsuite.
      
      gcc/testsuite/ChangeLog:
      	* jit.dg/test-threads.c (dejagnu_pass): Remove decl.
      	(dejagnu_fail): Likewise.
      	(dejagnu_note): Likewise.
      	(pass): Provide forward decl, moving true decl to after #include
      	of harness.h.
      	(fail): Likewise.
      	(note): Likewise.
      
      From-SVN: r244597
      David Malcolm committed
    • libitm: Disable TSX on processors on which it may be broken. · f8a94453
      	libitm/ChangeLog
      
      	* config/x86/target.h (htm_available): Add check for some processors
      	on which TSX is broken.
      
      From-SVN: r244594
      Torvald Riegel committed
    • rs6000-c.c (altivec_overloaded_builtins): Add __builtin_vec_revb builtins. · b7d3a6a6
      [gcc]
      2017-01-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
      	__builtin_vec_revb builtins.
      	* config/rs6000/rs6000-builtins.def (P9V_BUILTIN_XXBRQ_V16QI): Add
      	built-in functions to support generation of the ISA 3.0 XXBR<x>
      	vector byte reverse instructions.
      	(P9V_BUILTIN_XXBRQ_V1TI): Likewise.
      	(P9V_BUILTIN_XXBRD_V2DI): Likewise.
      	(P9V_BUILTIN_XXBRD_V2DF): Likewise.
      	(P9V_BUILTIN_XXBGW_V4SI): Likewise.
      	(P9V_BUILTIN_XXBGW_V4SF): Likewise.
      	(P9V_BUILTIN_XXBGH_V8HI): Likewise.
      	(P9V_BUILTIN_VEC_REVB): Likewise.
      	* config/rs6000/vsx.md (p9_xxbrq_v1ti): New insns/expanders to
      	generate the ISA 3.0 XXBR<x> vector byte reverse instructions.
      	(p9_xxbrq_v16qi): Likewise.
      	(p9_xxbrd_<mode>, VSX_D iterator): Likewise.
      	(p9_xxbrw_<mode>, VSX_W iterator): Likewise.
      	(p9_xxbrh_v8hi): Likewise.
      	* config/rs6000/altivec.h (vec_revb): Define if ISA 3.0.
      	* doc/extend.texi (RS/6000 Altivec Built-ins): Document the
      	vec_revb built-in functions.
      
      [gcc/testsuite]
      2017-01-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/p9-xxbr-1.c: New test.
      	* gcc.target/powerpc/p9-xxbr-2.c: Likewise.
      
      From-SVN: r244593
      Michael Meissner committed
    • re PR c++/78488 (P0136R1 ICE when building call to inherited default constructor.) · c484627c
      	PR c++/78488
      	* call.c (build_over_call): When checking ellipsis conversions for
      	an inherited ctor, make sure there is at least one conversion.
      
      	* g++.dg/cpp1z/inh-ctor37.C: New.
      
      From-SVN: r244592
      Nathan Sidwell committed
    • re PR rtl-optimization/78952 (Combine does not convert 8-bit sign-extract to a… · a711887e
      re PR rtl-optimization/78952 (Combine does not convert 8-bit sign-extract to a zero-extract for QImode operations)
      
      	PR rtl-optimization/78952
      	* config/i386/i386.md (any_extract): New code iterator.
      	(*insvqi_2): Use any_extract for source operand.
      	(*insvqi_3): Use any_shiftrt for source operand.
      
      testsuite/ChangeLog:
      
      	PR rtl-optimization/78952
      	* gcc.target/i386/pr78952-1.c: New test.
      	* gcc.target/i386/pr78952-2.c: Ditto.
      
      From-SVN: r244591
      Uros Bizjak committed
    • coarray_alloc_with_implicit_sync_2.f90: New test. · 525a5e33
      gcc/testsuite/ChangeLog:
      
      2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	* gfortran.dg/coarray_alloc_with_implicit_sync_2.f90: New test.
      
      Also fixed date in gcc/testsuite/ChangeLog on my previous commit.
      
      gcc/fortran/ChangeLog:
      
      2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	* primary.c (caf_variable_attr): Improve figuring whether the current
      	component is the last one refed.
      	* trans-stmt.c (gfc_trans_allocate): Do not generate sync_all calls
      	when allocating pointer or allocatable components.
      
      From-SVN: r244590
      Andre Vehreschild committed
    • gfortran.texi: Add missing parameters to caf-API functions. · 29dbb95a
      gcc/fortran/ChangeLog:
      
      2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	* gfortran.texi: Add missing parameters to caf-API functions.  Correct
      	typos and clarify some descriptions.
      
      Adjusted date of my previous commit.
      
      From-SVN: r244589
      Andre Vehreschild committed
    • PR69301 don't assume atomic<T> can default construct T · 2ae27b70
      	PR libstdc++/69301
      	* include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use
      	aligned buffer instead of default-initialized variable.
      	* testsuite/29_atomics/atomic/69301.cc: New test.
      	* include/experimental/memory (observer_ptr::release): Use reserved
      	name.
      	* include/ext/pointer.h (_Pointer_adapter::operator++(int))
      	(_Pointer_adapter::operator--(int)): Likewise.
      
      From-SVN: r244588
      Jonathan Wakely committed
    • re PR fortran/70696 ([Coarray] ICE on EVENT POST of host-associated EVENT_TYPE coarray) · 3083fc56
      gcc/fortran/ChangeLog:
      
      2017-01-17  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/70696
      	Missed some parts, here they are:
      	* trans-decl.c (gfc_build_qualified_array): Add static tokens to the
      	parent function's scope.
      	* trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code.  Remove
      	unnecessary assert.
      
      gcc/testsuite/ChangeLog:
      
      2017-01-17  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/70696
      	* gfortran.dg/coarray_event_1.f08: New test.
      
      From-SVN: r244587
      Andre Vehreschild committed
    • SHA1H instructions may be scheduled after a SHA1C instruction that uses the same input register. · 9bca63d4
      SHA1H instructions may be scheduled after a SHA1C instruction
      that uses the same input register.  However SHA1C updates its input,
      so if SHA1H is scheduled after it, it requires an extra move.
      Increase the priority of SHA1H to ensure it gets scheduled
      earlier, avoiding the move.
      
          gcc/
      	* config/aarch64/aarch64.c (aarch64_sched_adjust_priority)
      	New function.
      	(TARGET_SCHED_ADJUST_PRIORITY): Define target hook.
      
      From-SVN: r244586
      Wilco Dijkstra committed
    • re PR rtl-optimization/77416 (LRA rematerializing use of CA reg across function call) · 90553aac
      	PR target/77416
      	* gcc.target/powerpc/pr77416.c Guard the test only for ilp32 effective
      	target.  Use powerpc* instead of powerpc64* in targets.  Remove -m32
      	from dg-options.
      	* gcc.target/powerpc/pr64205.c: Remove -m32 from dg-options of ilp32
      	guarded test.
      	* gcc.target/powerpc/fusion4.c: Likewise.
      	* gcc.target/powerpc/pr63491.c: Remove -m64 from dg-options of lp64
      	guarded test.
      	* gcc.target/powerpc/pr58673-1.c: Likewise.
      	* gcc.target/powerpc/pr58673-2.c: Likewise.
      	* gcc.target/powerpc/pr59054.c: Likewise.
      
      From-SVN: r244585
      Jakub Jelinek committed
    • PR68925 don't use thread_local static for stateless object · b08fdbb8
      	PR libstdc++/68925
      	* include/experimental/random (randint): Use temporary instead of
      	thread_local static.
      
      From-SVN: r244584
      Jonathan Wakely committed
    • fix date · 46c4e8a1
      From-SVN: r244583
      Jason Merrill committed
    • PR c++/78894 - ICE with class deduction and default arg · e3aeb9d3
      	* pt.c (build_deduction_guide): Set DECL_PRIMARY_TEMPLATE.
      
      From-SVN: r244582
      Jason Merrill committed
    • re PR lto/79061 ([LTO][ASAN] LTO plus ASAN fails with "AddressSanitizer:… · 5807fb91
      re PR lto/79061 ([LTO][ASAN] LTO plus ASAN fails with "AddressSanitizer: initialization-order-fiasco")
      
      	PR lto/79061
      gcc/
      
      	* asan.c (get_translation_unit_decl): New function.
      	(asan_add_global): Extract modules file name from globals
      	TRANSLATION_UNIT_DECL in lto mode.
      	* tree.c (build_translation_unit_decl): Add source location for newly
      	built TRANSLATION_UNIT_DECL.
      
      gcc/lto/
      
      	* lto.c (lto_read_decls): accept location cache for
      	TRANSLATION_UNIT_DECL.
      	
      gcc/testsuite/
      
      	* gcc.dg/cpp/mi1.c: Adjust testcase.
      	* gcc.dg/pch/cpp-3.c: Likewise.
      
      From-SVN: r244581
      Maxim Ostapenko committed
    • PR c++/77489 -- Reorganize abi warning check · 0c6299bb
      	PR c++/77489
      	* mangle.c (write_discriminator): Reorganize abi warning check.
      
      From-SVN: r244580
      Markus Trippelsdorf committed
    • re PR libobjc/78697 (--with-target-bdw-gc-include shouldn't be required to be per multilib) · 8465132c
      2017-01-18  Matthias Klose  <doko@ubuntu.com>
      
              PR libobjc/78697
              * configure.ac: Allow default for --with-target-bdw-gc-include.
              * configure: Regenerate.
      
              PR libobjc/78698
              * configure.ac: Use the libgc.la file when available.
              * configure: Regenerate.
      
      2017-01-18  Matthias Klose  <doko@ubuntu.com>
      
             * doc/install.texi: Allow default for --with-target-bdw-gc-include.
      
      From-SVN: r244579
      Matthias Klose committed
    • altivec.h (vec_bperm): Change #define. · dfc42f08
      [gcc]
      
      2016-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/altivec.h (vec_bperm): Change #define.
      	* config/rs6000/altivec.md (UNSPEC_VBPERMD): New enum constant.
      	(altivec_vbpermq2): New define_insn.
      	(altivec_vbpermd): Likewise.
      	* config/rs6000/rs6000-builtin.def (VBPERMQ2): New monomorphic
      	function interface.
      	(VBPERMD): Likewise.
      	(VBPERM): New polymorphic function interface.
      	* config/rs6000/r6000-c.c (altivec_overloaded_builtins_table):
      	Add entries for P9V_BUILTIN_VEC_VBPERM.
      	* doc/extend.texi: Add interfaces for vec_bperm.
      
      [gcc/testsuite]
      
      2016-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/p8vector-builtin-8.c: Add new form for
      	vec_bperm.
      	* gcc.target/powerpc/p9-vbpermd.c: New file.
      
      From-SVN: r244578
      Bill Schmidt committed
    • S/390: Downcase first letter of error messages. · f3981e7e
      gcc/testsuite/ChangeLog:
      
      2017-01-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* gcc.target/s390/htm-builtins-compile-2.c (must_not_compile1):
      	(must_not_compile2): Downcase first letter of error messages.
      	* gcc.target/s390/target-attribute/tattr-13.c (b): Likewise.
      	* gcc.target/s390/vector/vec-abi-vararg-2.c: Likewise.
      
      gcc/ChangeLog:
      
      2017-01-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* config/s390/s390-c.c (s390_expand_overloaded_builtin): Downcase
      	first letter of error messages.
      	(s390_resolve_overloaded_builtin): Likewise.
      	* config/s390/s390.c (s390_expand_builtin): Likewise.
      	(s390_invalid_arg_for_unprototyped_fn): Likewise.
      	(s390_valid_target_attribute_inner_p): Likewise.
      	* config/s390/s390.md ("tabort"): Likewise.
      
      From-SVN: r244577
      Andreas Krebbel committed
    • cp-tree.h: Clarify exception spec node comment. · 96176bb3
      	* cp-tree.h: Clarify exception spec node comment.
      	* except.c (nothrow_spec_p): Simplify by checking node-equality.
      
      From-SVN: r244576
      Nathan Sidwell committed
    • re PR c++/79091 (ICE in write_unnamed_type) · 2c65d990
      	PR c++/79091
      	* mangle.c (write_exception_spec): Check nothrow explicitly.
      	(write_encoding): Don't increment processing_template_decl around
      	encoding.
      
      	PR c++/79091
      	* g++.dg/pr79091.C: New.
      
      From-SVN: r244575
      Nathan Sidwell committed
    • tattr-2.c: Add -fno-ipa-icf to dg-options. · 928bff19
      	* gcc.target/s390/target-attribute/tattr-2.c: Add -fno-ipa-icf
      	to dg-options.
      	(p0): Add missing dg-error.
      
      From-SVN: r244571
      Jakub Jelinek committed
    • MIPS: Fix generation of Loongson-specific division and modulo instructions. · d5432112
      gcc
      
      	* config/mips/mips.h (ISA_HAS_DIV3): Remove unused macro.
      	(ISA_AVOID_DIV_HILO): New macro.
      	(ISA_HAS_DIV): Use new ISA_AVOID_DIV_HILO macro.
      	(ISA_HAS_DDIV): Likewise.
      
      From-SVN: r244570
      Toma Tabacu committed
    • Fix number of occurrences. · 01f9d481
      From-SVN: r244569
      Markus Trippelsdorf committed
    • Spelling fix · 7107b502
      From-SVN: r244568
      Markus Trippelsdorf committed
    • Fix PR70182 -- missing "on" in mangling of unresolved operators · 4bbc35f3
      The ABI says:
      
      <unresolved-name>
         ::= [gs] <base-unresolved-name>
         ::= sr <unresolved-type> <base-unresolved-name>
         ::= srN <unresolved-type> <unresolved-qualifier-level>+ E <base-unresolved-name>
         ::= [gs] sr <unresolved-qualifier-level>+ E <base-unresolved-name>
      
      <base-unresolved-name>
         ::= <simple-id>
         ::= on <operator-name>
         ::= on <operator-name> <template-args>
         ::= dn <destructor-name
      
      libiberty:
      
      	PR c++/70182
      	* cp-demangle.c (d_unqualified_name): Handle "on" for
      	operator names.
      	* testsuite/demangle-expected: Add tests.
      
      gcc/cp:
      
      	PR c++/70182
      	* mangle.c (write_template_args): Add "on" for operator names.
      
      gcc:
      
      	PR c++/70182
      	* doc/invoke.texi (fabi-version): Mention mangling fix for
      	operator names.
      
      From-SVN: r244567
      Markus Trippelsdorf committed