- 21 Sep, 2017 2 commits
-
-
This patch that adds -g to the set of negatable prefixes along with -f, -m and -W. Besides the mapping from -gno- to negated -g in option_map and adding g to the [fmW] matches for negatable options, I had to introduce gno- as an remapping prefix, for the option searching machinery to backtrack to and recognize as a remapping prefix, instead of backtracking to -g and stopping at it as if no-* was its Joined argument. Adding such remapping prefixes to preempt further backtracking can be accomplished by introducing the prefix as an Undocumented option with a Joined argument and without Driver, Target, Common, or any language-specific option. Whenever we match such a fake options prefix, we abandon further backtracking (it matches, after all), but find_opt returns the same code it would if it hadn't found any match, so that we resort to option mapping. I've arranged for such remapping prefixes to not be considered when looking for and suggesting a correct spelling for misspelled options. While testing that, I found a few -W-started options that were not marked as RejectNegative but should (-Wno-a, is not something we'd like to suggest ;-) I've also marked as such -g-started options that it makes no sense to negate, and removed the explicit -gno- ones, allowing their opposites to be negated. for gcc/ChangeLog * common.opt (Wa, Wl, Wp, g, gz=): Add RejectNegative. (gno-column-info): Remove. (gcolumn-info): Drop RejectNegative. (gno-): New prefix. (gno-record-gcc-switches): Remove. (grecord-gcc-switches): Drop RejectNegative. (gno-split-dwarf): Remove. (gsplit-dwarf): Drop RejectNegative. (gno-strict-dwarf): Remove. (gstrict-dwarf): Drop RejectNegative. * config/darwin.opt (gfull, gused): Add RejectNegative. * dwarf2out.c (gen_producer_string): Drop gno-record-gcc-switches handler. * optc-gen.awk: Add g to prefixes with negative forms. * opts-common.c (remapping_prefix_p): New. (find_opt): Check it. (generate_canonical_option): Test g prefix. (option_map): Add -gno- mapping. (add_misspelling_candidates): Check remapping_prefix_p. for gcc/ada/ChangeLog * gcc-interface/lang.opt (gant, gnatO, gnat): Add RejectNegative. for gcc/c-family/ChangeLog * c.opt (gen-decls): Add RejectNegative. From-SVN: r253047
Alexandre Oliva committed -
From-SVN: r253046
GCC Administrator committed
-
- 20 Sep, 2017 37 commits
-
-
With -enable-static=no we don't build non-pic objects, but libgotool.a is built from non-pic objects. Build the packages that go into libgotool.a in static mode in all cases. Also ensure that internal test packages are built, since nothing explicitly depended on them. Reviewed-on: https://go-review.googlesource.com/65050 From-SVN: r253042
Ian Lance Taylor committed -
gcc/testsuite/ChangeLog: PR c/81854 * g++.dg/ext/attr-ifunc-2.C: Correct type errors. * g++.dg/ext/attr-ifunc-4.C: Ditto. * lib/target-supports.exp: Adjust for C++. From-SVN: r253041
Martin Sebor committed -
gcc/testsuite/ChangeLog: PR c/81854 * gcc.dg/attr-ifunc-1.c: Correct type errors. * gcc.dg/attr-ifunc-2.c: Ditto. * gcc.dg/attr-ifunc-3.c: Ditto. * gcc.dg/attr-ifunc-4.c: Ditto. * gcc.dg/attr-ifunc-5.c: Ditto. * gcc.dg/pr81854.c: Require ifunc support. * gcc/testsuite/lib/target-supports.exp: Correct type error. From-SVN: r253037
Martin Sebor committed -
* config/powerpcspe/powerpcspe.c (rs6000_expand_prologue): Fix thinko in stack clash protection support. From-SVN: r253036
Jeff Law committed -
PR libstdc++/79162 * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] (basic_string::_If_sv): Remove from the overload set when the argument is derived from basic_string. From-SVN: r253035
Jonathan Wakely committed -
* explow.c (compute_stack_clash_protection_loop_data): Use CONST_INT_P instead of explicit test. Verify object is a CONST_INT_P before looking at INTVAL. (anti_adjust_stack_and_probe_stack_clash): Use CONST_INT_P instead of explicit test. * gcc.target/i386/stack-check-11.c: Update test and regexp so that it works for both i?86 and x86_64. From-SVN: r253034
Jeff Law committed -
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 -
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] * 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 -
* 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 * 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 -
Reviewed-on: https://go-review.googlesource.com/64990 From-SVN: r253022
Ian Lance Taylor committed -
Reviewed-on: https://go-review.googlesource.com/64552 From-SVN: r253021
Ian Lance Taylor committed -
* 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 * 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 -
* 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 -
Reviewed-on: https://go-review.googlesource.com/64551 From-SVN: r253016
Ian Lance Taylor committed -
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 -
From-SVN: r253012
Uros Bizjak committed -
* libsupc++/exception_ptr.h (copy_exception): Remove deprecated non-standard function. From-SVN: r253011
Jonathan Wakely committed -
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 -
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 -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 -
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, 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. (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 -
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, 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 -
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 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 -
* 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. * function.h (dump_stack_clash_frame_info): Prototype. (enum stack_clash_probes): New enum. From-SVN: r252997
Jeff Law committed -
* 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 -
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. * 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 -
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 -
From-SVN: r252990
GCC Administrator committed
-
- 19 Sep, 2017 1 commit
-
-
* 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
-