1. 20 Sep, 2017 31 commits
    • rs6000: Don't touch below the stack pointer (PR77687) · 6073d002
      With the 32-bit SVR4 ABI we don't have a red zone, so we have to restore
      the callee-saved registers before we restore the stack pointer.
      
      The previous fix for this PR failed in two ways, for huge frames: first,
      we use a negative offset from r11 in that case, so the (mem:BLK 11) access
      does no good; second, sched does not handle accesses to mem:BLK correctly
      in this case (does not make dependencies).
      
      This patch fixes it by doing a store to (mem:BLK (scratch)) instead.
      This means no unrelated (not to stack) loads/stores can be moved over the
      stack restore either, but so be it.
      
      
      	PR target/77687
      	* config/rs6000/rs6000.md (stack_restore_tie): Store to a scratch
      	address instead of to r1 and r11.
      
      gcc/testsuite/
      	PR target/77687
      	* gcc.target/powerpc/pr77687.c: New testcase.
      
      From-SVN: r253033
      Segher Boessenkool committed
    • re PR sanitizer/77631 (no symbols in backtrace shown by ASan when debug info is split) · 9283471b
      	PR sanitizer/77631
      	Support for external debug info.
      	* elf.c: Include <errno.h>, <sys/stat.h>, <unistd.h>.
      	(S_ISLNK): Define if not defined.
      	(xstrnlen): Define if strnlen is not available.
      	(b_elf_note): Define type.
      	(NT_GNU_BUILD_ID): Define macro.
      	(elf_crc32, elf_crc32_file): New static functions.
      	(elf_is_symlink, elf_readlink): New static functions.
      	(elf_open_debugfile_by_buildid): New static function.
      	(elf_try_debugfile): New static function.
      	(elf_find_debugfile_by_debuglink): New static function.
      	(elf_open_debugfile_by_debuglink): New static function.
      	(elf_add): Add filename and debuginfo parameters.  Adjust all
      	callers.  Look for external debug info notes, and try to fetch
      	debug info from external file.
      	(struct phdr_data): Add exe_filename field.
      	(phdr_callback): Pass filename to elf_add.
      	(backtrace_initialize): Add filename parameter.
      	* internal.h (backtrace_initialize): Add filename parameter.
      	* fileline.c (fileline_initialize): Pass filename to
      	backtrace_initialize.
      	* pecoff.c (fileline_initialize): Add unused filename parameter.
      	* unknown.c (fileline_initialize): Likewise.
      	* xcoff.c (fileline_initialize): Likewise.
      	* configure.ac: Check for objcopy --add-gnu-debuglink.
      	* Makefile.am (dtest): New test target.
      	* configure, Makefile.in: Rebuild.
      
      Co-Authored-By: Denis Khalikov <d.khalikov@partner.samsung.com>
      
      From-SVN: r253032
      Ian Lance Taylor committed
    • P0409R2 - allow lambda capture [=, this] · 2ffb5745
      	P0409R2 - allow lambda capture [=, this]
      	* parser.c (cp_parser_lambda_introducer): For cxx2a don't pedwarn on
      	redundant [=, this].
      
      	* g++.dg/cpp1z/lambda-this1.C: Don't expect error for c++2a on [=, this]
      	capture.  Add further tests.
      	* g++.dg/cpp0x/lambda/lambda-capture-redundancy.C: Don't expect error
      	for c++2a on [=, this] capture.
      
      From-SVN: r253030
      Jakub Jelinek committed
    • cplusplus.C: Test that __cplusplus is equal to 201703L. · fb3cd39d
      	* g++.dg/cpp1z/cplusplus.C: Test that __cplusplus is equal to 201703L.
      	* g++.dg/cpp1z/cplusplus_1z.C: New test.
      
      From-SVN: r253029
      Jakub Jelinek committed
    • PR libstdc++/79162 Fix std::string regression due to LWG 2946 · 4cf5930f
      	PR libstdc++/79162
      	* include/bits/basic_string.h (basic_string::_If_sv): Remove from the
      	overload set when the argument is derived from basic_string.
      	* testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc: New
      	test.
      	* testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc:
      	New test.
      
      From-SVN: r253024
      Jonathan Wakely committed
    • syscall: enable ParseDirent for AIX · 836cccc7
          
          Reviewed-on: https://go-review.googlesource.com/64990
      
      From-SVN: r253022
      Ian Lance Taylor committed
    • Fix failing C++17 test · e18f68c7
      	* testsuite/24_iterators/range_access_cpp17.cc: Fix order of dg-do
      	and dg-options directives. Fix invalid test.
      
      From-SVN: r253019
      Jonathan Wakely committed
    • PR libstdc++/81469 deprecate std::uncaught_exception for C++17 · 95ed529d
      	PR libstdc++/81469
      	* libsupc++/exception (uncaught_exception): Deprecate for C++17.
      	* testsuite/18_support/exception_ptr/62258.cc: Add -Wno-deprecated.
      	* testsuite/18_support/uncaught_exception/14026.cc: Likewise.
      
      From-SVN: r253018
      Jonathan Wakely committed
    • Deprecate nested types in std::hash · f78958c9
      	* include/bits/c++config (_GLIBCXX17_DEPRECATED): Define.
      	* include/bits/functional_hash.h (__hash_base::result_type)
      	(__hash_base::argument_type): Add _GLIBCXX17_DEPRECATED.
      	* include/std/optional (hash<optional<T>>::result_type)
      	(hash<optional<T>>::argument_type): Add deprecated attribute.
      	(__is_fast_hash<hash<optional<T>>>): Add partial specialization.
      	* include/std/variant (hash<variant<Types...>>::result_type)
      	(hash<variant<Types...>>::argument_type): Add deprecated attribute.
      	(__is_fast_hash<hash<variant<Types...>>>): Add partial specialization.
      
      From-SVN: r253017
      Jonathan Wakely committed
    • config.gcc: Support "knm". · cace2309
      gcc/
      
              * config.gcc: Support "knm".
              * config/i386/driver-i386.c (host_detect_local_cpu): Detect "knm".
              * config/i386/i386-c.c (ix86_target_macros_internal): Handle
              PROCESSOR_KNM.
              * config/i386/i386.c (m_KNM): Define.
              (processor_target_table): Add "knm".
              (PTA_KNM): Define.
              (ix86_option_override_internal): Add "knm".
              (ix86_issue_rate): Add PROCESSOR_KNM.
              (ix86_adjust_cost): Ditto.
              (ia32_multipass_dfa_lookahead): Ditto.
              (get_builtin_code_for_version): Handle PROCESSOR_KNM.
              (fold_builtin_cpu): Add M_INTEL_KNM.
              * config/i386/i386.h (processor_costs): Define TARGET_KNM.
              (processor_type): Add PROCESSOR_KNM.
               * config/i386/x86-tune.def: Add m_KNM.
              * doc/invoke.texi: Add knm as x86 -march=/-mtune= CPU type.
      
      libgcc/
              * config/i386/cpuinfo.h (processor_types): Add INTEL_KNM.
              * config/i386/cpuinfo.c (get_intel_cpu): Detect Knights Mill.
      
      gcc/testsuite/
      
              * gcc.target/i386/builtin_target.c: Test knm.
              * gcc.target/i386/funcspec-56.inc: Test arch=knm.
      
      From-SVN: r253013
      Sebastian Peryt committed
    • Revert my 2017-09-19 patch. · 2288ea23
      From-SVN: r253012
      Uros Bizjak committed
    • Remove non-standard std::copy_exception function · 20f661fb
      	* libsupc++/exception_ptr.h (copy_exception): Remove deprecated
      	non-standard function.
      
      From-SVN: r253011
      Jonathan Wakely committed
    • PR libstdc++/82262 fix std::hash<std::optional<const T>> · f6b05c44
      	PR libstdc++/82262
      	* include/std/optional (__optional_hash_call_base): Add template
      	parameter for remove_const_t<_Tp> and use it consistently.
      	* testsuite/20_util/optional/hash.cc: Test optional<const T>.
      
      From-SVN: r253010
      Jonathan Wakely committed
    • re PR tree-optimization/80213 (ICE in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c:704) · 3c16e99c
      2017-09-20  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/80213
      	* graphite-scop-detection.c (trivially_empty_bb_p): Labels
      	are allowed in empty BBs as well.
      	(canonicalize_loop_closed_ssa): Also look for other complex
      	edges.
      	(scop_detection::get_sese): Include the loop-closed PHI block
      	in loop SESEs.
      	(scop_detection::merge_sese): Remove code adding extra blocks.
      	(scop_detection::region_has_one_loop): Adjust for get_sese changes.
      	(build_scops): Assert the final returned scop is invalid.
      
      From-SVN: r253008
      Richard Biener committed
    • re PR tree-optimization/77362 ([graphite] ICE in sese_build_liveouts_use w/ -O2… · 52e22c79
      re PR tree-optimization/77362 ([graphite] ICE in sese_build_liveouts_use w/ -O2 -floop-nest-optimize)
      
      2017-09-20  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/77362
      	* gcc.dg/graphite/pr77362.c: New testcase.
      
      From-SVN: r253006
      Richard Biener committed
    • re PR tree-optimization/82264 (ICE in vn_phi_lookup at gcc/tree-ssa-sccvn.c:3125) · 2a900079
      2017-09-20  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/82264
      	* tree-ssa-sccvn.c (vn_phi_eq): Use safe_dyn_cast to check
      	for GIMPLE_CONDs.
      	(vn_phi_lookup): Likewise.
      	(vn_phi_insert): Likewise.
      
      	* gcc.dg/torture/pr82264.c: New testcase.
      
      From-SVN: r253005
      Richard Biener committed
    • dwarf2out.c (tree_add_const_value_attribute): For INTEGER_CST that fits into uhwi or shwi... · 88272c01
      	* dwarf2out.c (tree_add_const_value_attribute): For INTEGER_CST
      	that fits into uhwi or shwi, add DW_AT_const_value regardless
      	of early_dwarf without going through RTL, using add_AT_unsigned
      	or add_AT_int.
      
      	* g++.dg/debug/dwarf2/template-params-13.C: New test.
      	* g++.dg/debug/dwarf2/template-params-5.C: Adjust regexps so that
      	it doesn't match newlines.
      	* g++.dg/debug/dwarf2/template-params-3.C: Likewise.
      	* g++.dg/debug/dwarf2/template-func-params-3.C: Likewise.
      	* g++.dg/debug/dwarf2/lang-cpp98.C: Likewise.
      	* g++.dg/debug/dwarf2/template-func-params-2.C: Likewise.
      	* g++.dg/debug/dwarf2/template-func-params-1.C: Likewise.
      	* g++.dg/debug/dwarf2/template-func-params-5.C: Likewise.
      	* g++.dg/debug/dwarf2/template-params-1.C: Likewise.
      	* g++.dg/debug/dwarf2/template-params-2.C: Likewise.
      	* g++.dg/debug/dwarf2/lang-cpp14.C: Likewise.
      	* g++.dg/debug/dwarf2/lang-cpp11.C: Likewise.
      
      From-SVN: r253004
      Jakub Jelinek committed
    • dwarf2out.c (DEBUG_LTO_DWO_INFO_SECTION): Reorder defines. · dcc34072
      	* dwarf2out.c (DEBUG_LTO_DWO_INFO_SECTION): Reorder defines.
      	(DEBUG_LTO_ABBREV_SECTION): Likewise.
      	(DEBUG_LTO_MACINFO_SECTION): Likewise.
      	(DEBUG_MACRO_SECTION): Likewise.
      	(DEBUG_LTO_MACRO_SECTION): Likewise.
      	(DEBUG_STR_DWO_SECTION): Likewise.
      	(DEBUG_LTO_STR_DWO_SECTION): Likewise.
      	(DEBUG_LTO_LINE_SECTION): Drop .dwo suffix from the name.
      	(DEBUG_LTO_DWO_LINE_SECTION): Define.
      	(DEBUG_LTO_LINE_STR_SECTION): Define.
      	(init_sections_and_labels): Initialize debug_line_str_section
      	variable.  Initialize debug_loc_section for -gdwarf-5 to
      	DEBUG_LOCLISTS_SECTION.  Formatting fixes.
      
      From-SVN: r253003
      Jakub Jelinek committed
    • re PR c++/64954 (GCC incorrectly rejects constexpr variable initialization.) · 0f45457e
      2017-09-20  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/64954
      	* g++.dg/cpp0x/constexpr-ctor20.C: New.
      
      From-SVN: r253002
      Paolo Carlini committed
    • graphite-sese-to-poly.c (extract_affine): Properly handle POINTER_PLUS_EXPR,… · f6b5c26b
      graphite-sese-to-poly.c (extract_affine): Properly handle POINTER_PLUS_EXPR, BIT_NOT_EXPR and conversion to signed.
      
      2017-09-20  Richard Biener  <rguenther@suse.de>
      
      	* graphite-sese-to-poly.c (extract_affine): Properly handle
      	POINTER_PLUS_EXPR, BIT_NOT_EXPR and conversion to signed.
      
      From-SVN: r253001
      Richard Biener committed
    • re PR tree-optimization/81373 (Graphite ICE in ssa_default_def at gcc/tree-dfa.c:305) · 73fe2f32
      2017-09-20  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/81373
      	* graphite-scop-detection.c (build_cross_bb_scalars_def):
      	Force SESE live-out defs to be handled even if they are
      	scev_analyzable_p.
      
      	* gcc.dg/graphite/pr81373.c: New testcase.
      
      From-SVN: r253000
      Richard Biener committed
    • combine-stack-adj.c (combine_stack_adjustments_for_block): Do nothing for stack… · ac9c032e
      combine-stack-adj.c (combine_stack_adjustments_for_block): Do nothing for stack adjustments with REG_STACK_CHECK.
      
      	* combine-stack-adj.c (combine_stack_adjustments_for_block): Do
      	nothing for stack adjustments with REG_STACK_CHECK.
      	* sched-deps.c (parse_add_or_inc): Reject insns with
      	REG_STACK_CHECK from dependency breaking.
      	* config/i386/i386.c (pro_epilogue_adjust_stack): Return insn.
      	(ix86_adjust_satck_and_probe_stack_clash): Add REG_STACK_NOTEs.
      	* reg-notes.def (STACK_CHECK): New note.
      
      	* gcc.target/i386/stack-check-11.c: New test.
      
      From-SVN: r252999
      Jeff Law committed
    • i386.c (ix86_adjust_stack_and_probe_stack_clash): New. · 8e7a09c3
      	* config/i386/i386.c (ix86_adjust_stack_and_probe_stack_clash): New.
      	(ix86_expand_prologue): Dump stack clash info as needed.
      	Call ix86_adjust_stack_and_probe_stack_clash as needed.
      
      	* gcc.dg/stack-check-4.c: New test.
      	* gcc.dg/stack-check-5.c: New test.
      	* gcc.dg/stack-check-6.c: New test.
      	* gcc.dg/stack-check-6a.c: New test.
      	* gcc.dg/stack-check-7.c: New test.
      	* gcc.dg/stack-check-8.c: New test.
      	* gcc.dg/stack-check-9.c: New test.
      	* gcc.dg/stack-check-10.c: New test.
      	* lib/target-supports.exp
      	(check_effective_target_supports_stack_clash_protection): Enable for
      	x86 and x86_64 targets.
      
      From-SVN: r252998
      Jeff Law committed
    • function.c (dump_stack_clash_frame_info): New function. · 8a502a80
              * function.c (dump_stack_clash_frame_info): New function.
              * function.h (dump_stack_clash_frame_info): Prototype.
              (enum stack_clash_probes): New enum.
      
      From-SVN: r252997
      Jeff Law committed
    • alpha.c (alpha_expand_prologue): Also check flag_stack_clash_protection. · 9c1b56c4
      	* config/alpha/alpha.c (alpha_expand_prologue): Also check
      	flag_stack_clash_protection.
      	* config/arm/arm.c (arm_compute_static_chain_stack_bytes): Likewise.
      	(arm_expand_prologue, thumb1_expand_prologue): Likewise.
      	(arm_frame_pointer_required): Likewise.
      	* config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
      	(ia64_expand_prologue): Likewise.
      	* config/mips/mips.c (mips_expand_prologue): Likewise.
      	* config/powerpcspe/powerpcspe.c (rs6000_expand_prologue): Likewise.
      	* config/sparc/sparc.c (sparc_expand_prologue): Likewise.
      	(sparc_flat_expand_prologue): Likewise.
      	* config/spu/spu.c (spu_expand_prologue): Likewise.
      
      From-SVN: r252996
      Jeff Law committed
    • explow.c: Include "params.h". · 8c1dd970
      2017-09-18  Jeff Law  <law@redhat.com>
      
      	* explow.c: Include "params.h".
      	(anti_adjust_stack_and_probe_stack_clash): New function.
      	(get_stack_check_protect): Likewise.
      	(compute_stack_clash_protection_loop_data): Likewise.
      	(emit_stack_clash_protection_loop_start): Likewise.
      	(emit_stack_clash_protection_loop_end): Likewise.
      	(allocate_dynamic_stack_space): Use get_stack_check_protect.
      	Use anti_adjust_stack_and_probe_stack_clash.
      	* explow.h (compute_stack_clash_protection_loop_data): Prototype.
      	(emit_stack_clash_protection_loop_start): Likewise.
      	(emit_stack_clash_protection_loop_end): Likewise.
      	* rtl.h (get_stack_check_protect): Prototype.
      	* target.def (stack_clash_protection_final_dynamic_probe): New hook.
      	* targhooks.c (default_stack_clash_protection_final_dynamic_probe): New.
      	* targhooks.h (default_stack_clash_protection_final_dynamic_probe):
      	Prototype.
      	* doc/tm.texi.in (TARGET_STACK_CLASH_PROTECTION_FINAL_DYNAMIC_PROBE):
      	Add @hook.
      	* doc/tm.texi: Rebuilt.
      	* config/aarch64/aarch64.c (aarch64_expand_prologue): Use
      	get_stack_check_protect.
      	* config/alpha/alpha.c (alpha_expand_prologue): Likewise.
      	* config/arm/arm.c (arm_expand_prologue): Likewise.
      	(arm_frame_pointer_required): Likewise.
      	* config/i386/i386.c (ix86_expand_prologue): Likewise.
      	* config/ia64/ia64.c (ia64_expand_prologue): Likewise.
      	* config/mips/mips.c (mips_expand_prologue): Likewise.
      	* config/powerpcspe/powerpcspe.c (rs6000_emit_prologue): Likewise.
      	* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
      	* config/sparc/sparc.c (sparc_expand_prologue): Likewise.
      	(sparc_flat_expand_prologue): Likewise.
      
      	* gcc.dg/stack-check-3.c: New test.
      
      From-SVN: r252995
      Jeff Law committed
    • common.opt (-fstack-clash-protection): New option. · ee8f15c6
      	* common.opt (-fstack-clash-protection): New option.
      	* flag-types.h (enum stack_check_type): Note difference between
      	-fstack-check= and -fstack-clash-protection.
      	* params.def (PARAM_STACK_CLASH_PROTECTION_GUARD_SIZE): New PARAM.
      	(PARAM_STACK_CLASH_PROTECTION_PROBE_INTERVAL): Likewise.
      	* toplev.c (process_options): Issue warnings/errors for cases
      	not handled with -fstack-clash-protection.
      	* doc/invoke.texi (-fstack-clash-protection): Document new option.
      	(-fstack-check): Note additional problem with -fstack-check=generic.
      	Note that -fstack-check is primarily for Ada and refer users
      	to -fstack-clash-protection for stack-clash-protection.
      	Document new params for stack clash protection.
      
      	* gcc.dg/stack-check-2.c: New test.
      	* lib/target-supports.exp
      	(check_effective_target_supports_stack_clash_protection): New function.
      	(check_effective_target_frame_pointer_for_non_leaf): Likewise.
      	(check_effective_target_caller_implicit_probes): Likewise.
      
      From-SVN: r252994
      Jeff Law committed
    • runtime: restore "goroutine in C code" message · 8fca1395
          
          In the 1.9 upgrade I took out the word "goroutine" from a traceback
          showing a goroutine running in C code, to let TestCgoNumGoroutine
          pass.  However, it turns out that some code is actually checking for
          that string; for example,
          https://github.com/grpc/grpc-go/blob/master/test/leakcheck/leakcheck.go#L44
          So keep the message the same, and change the test.
          
          Reviewed-on: https://go-review.googlesource.com/64850
      
      From-SVN: r252991
      Ian Lance Taylor committed
    • Daily bump. · 9bd25fc4
      From-SVN: r252990
      GCC Administrator committed
  2. 19 Sep, 2017 9 commits
    • i386.md (*scc_bt<mode>): New insn_and_split pattern. · 23902d70
      	* config/i386/i386.md (*scc_bt<mode>): New insn_and_split pattern.
      	(*scc_bt<mode>_1): Ditto.
      	(*scc_bt<mode>_mask): Ditto.
      
      testsuite/ChangeLog:
      
      	* gcc.target/i386/bt-5.c: New test.
      	* gcc.target/i386/bt-6.c: Ditto.
      	* gcc.target/i386/bt-mask-3.c: Ditto.
      	* gcc.target/i386/bt-mask-4.c: Ditto.
      
      From-SVN: r252986
      Uros Bizjak committed
    • pr31146-2.C: Only do scan-tree-dump for c++14_down. · 14a1a59f
      	* g++.dg/tree-ssa/pr31146-2.C: Only do scan-tree-dump for c++14_down.
      	* g++.dg/tree-ssa/pr41428.C: Likewise.
      	* g++.dg/expr/bool1.C: Only do dg-do compile instead of dg-do run for
      	c++17 and up.
      	* g++.dg/expr/bool3.C: Likewise.
      	* g++.dg/expr/bitfield5.C: Likewise.
      	* g++.old-deja/g++.jason/bool5.C: Likewise.
      
      From-SVN: r252985
      Jakub Jelinek committed
    • i386.c (ix86_split_long_move): Do not handle address used for LEA in a special way. · 684ccf0e
      	* config/i386/i386.c (ix86_split_long_move): Do not handle
      	address used for LEA in a special way.
      
      From-SVN: r252984
      Uros Bizjak committed
    • PR libstdc++/71500 restore C++11 compatibility in <regex> · 23b49089
      	PR libstdc++/71500
      	* include/bits/regex_executor.tcc
      	(_Backref_matcher<BidIt, regex_traits<C>>::_M_apply): Use
      	std::__equal4 instead of C++14 4-iterator overloads of std::equal.
      	* include/bits/stl_algobase.h (__equal4): New functions implementing
      	4-iterator overloads of std::equal for use in C++11.
      	(equal(It1, It1, It2, It2), equal(It1, It1, It2, It2, BinaryPred)):
      	Move function bodies to new __equal4 functions.
      	* testsuite/28_regex/simple_c++11.cc: New.
      
      From-SVN: r252981
      Jonathan Wakely committed
    • Fix typo in simplify_binary_operation_1 · 9f0b8c7b
      
      	* simplify-rtx.c (simplify_binary_operation_1): Fix typo in comment.
      
      From-SVN: r252979
      Segher Boessenkool committed
    • PR libstdc++/82254 fix std::is_nothrow_invocable_r w.r.t throwing conversions · c4b06e7f
      	PR libstdc++/82254
      	* include/std/type_traits (__is_invocable): Add partial specialization
      	for INVOKE<void> case and remove is_void<R> check from partial
      	specialization for INVOKE<R> case.
      	(__is_nt_invocable_impl): New helper for is_nothrow_invocable_r.
      	(is_nothrow_invocable_r): Use __is_nt_invocable_impl.
      	* testsuite/20_util/is_nothrow_invocable/value.cc: Add tests for
      	conversions that can throw or fail to convert. Use static assert
      	strings to explain negative results.
      	* testsuite/20_util/is_nothrow_invocable/value_ext.cc: Use
      	is_nothrow_constructible in is_nt_invocable_conv.
      
      From-SVN: r252977
      Jonathan Wakely committed
    • PR c/81854 - weak alias of an incompatible symbol accepted · e32d2388
      gcc/ChangeLog:
      
      	PR c/81854
      	* cgraphunit.c (handle_alias_pairs): Reject aliases between functions
      	of incompatible types.
      
      gcc/testsuite/ChangeLog:
      
      	PR c/81854
      	* gcc.dg/pr81854.c: New test.
      	* g++.dg/ext/attr-ifunc-5.C: New test.
      	* g++.dg/ext/attr-ifunc-1.C: Adjust.
      	* g++.dg/ext/attr-ifunc-2.C: Same.
      	* g++.dg/ext/attr-ifunc-3.C: Same.
      	* g++.dg/ext/attr-ifunc-4.C: Same.
      	* g++.old-deja/g++.abi/vtable2.C: Same.
      	* gcc.dg/attr-ifunc-1.c: Same.
      
      From-SVN: r252976
      Martin Sebor committed
    • rs6000.c (rs6000_gimple_fold_builtin): Add handling for early folding of vector… · d14c60ad
      rs6000.c (rs6000_gimple_fold_builtin): Add handling for early folding of vector loads (ALTIVEC_BUILTIN_LVX_*).
      
      [gcc]
      
      2017-09-19  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
          * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling
          for early folding of vector loads (ALTIVEC_BUILTIN_LVX_*).
          * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
          Remove obsoleted code for handling ALTIVEC_BUILTIN_VEC_LD.
      
      From-SVN: r252975
      Will Schmidt committed
    • fold-vec-ld-misc.c: New. · 81b29ad8
      
      [gcc/testsuite]
      
      2017-09-19  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
              * gcc.target/powerpc/fold-vec-ld-misc.c: New.
      
      From-SVN: r252974
      Will Schmidt committed