Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
[PATCH] _gcc: Improve completer for _clang and _gcc
- X-seq: zsh-workers 43048
- From: Eitan Adler <lists@xxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxx
- Subject: [PATCH] _gcc: Improve completer for _clang and _gcc
- Date: Mon, 18 Jun 2018 05:14:46 +0000
- Cc: Eitan Adler <lists@xxxxxxxxxxxxxx>
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eitanadler.com; s=0xdeadbeef; h=from:to:cc:subject:date:message-id; bh=eSQUVrOays75G29q+7F3UlWPvG7g4o9FCCFokk8oEDc=; b=chE5LUl837fqpJNRNQRS4lLDD8I8pVhy3bvTLzkRlWj9i8vJYt7nip0GV2dMA0CsjO 7cjTFV1ZmUCxv5aq/8yZf6Cu9MhRCkpLtapqrFtYfaE4HOjqvoeuRoTz+wi7JPnjjOVN gDNcacMwmq6soM+ZDNj7SM9eJ6inQJiLn/TtM=
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- List-unsubscribe: <mailto:zsh-workers-unsubscribe@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
clang - add additional sanitizers
both - add additional standards (basically, aliases)
both - fix -flto
Signed-off-by: Eitan Adler <lists@xxxxxxxxxxxxxx>
---
Completion/Unix/Command/_gcc | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/Completion/Unix/Command/_gcc b/Completion/Unix/Command/_gcc
index a552bb2db..9690df79f 100644
--- a/Completion/Unix/Command/_gcc
+++ b/Completion/Unix/Command/_gcc
@@ -338,16 +338,31 @@ h8/300)
;;
esac
+local -a sanitizers
if [[ "$service" = clang* ]]; then
args=(
$args
- -flto -emit-llvm
+ "-flto=-[generate output files suitable for link time optimization]::style:(full thin)"
+ -emit-llvm
"-Qunused-arguments[don't emit warning for unused driver arguments]"
--analyze
-fshow-column -fshow-source-location -fcaret-diagnostics -fdiagnostics-fixit-info
-fdiagnostics-parseable-fixits -fdiagnostics-print-source-range-info
-fprint-source-range-info -fdiagnostics-show-option -fmessage-length
)
+ sanitizers=(
+ address alignment bool bounds enum float-cast-overflow float-divide-by-zero
+ integer-divide-by-zero memory nonnull-attribute null nullability-arg nullability-assign
+ nullability-return object-size pointer-overflow return unsigned-integer-overflow
+ returns-nonnull-attribute shift signed-integer-overflow unreachable vla-bound vptr
+ )
+else
+ args=(
+ '-flto=-[Enable link-time optimization]::jobs:'
+ )
+ sanitizers=(
+ address memory
+ )
fi
local -a languages
@@ -399,7 +414,7 @@ args+=(
'-print-file-name=-[Display the full path to library <library>]:library:->library'
'-print-prog-name=-[Display the full path to compiler component <program>]:program:'
'*-specs=-[Override built-in specs with the contents of <file>]:file:_files'
- '-std=-[assume that the input sources are for specified standard]:standard:(c90 c89 c99 c11 gnu90 gnu89 gnu99 gnu11 c++98 c++03 gnu++98 gnu++03 c++11 gnu++11 c++1y gnu++1y c++14 gnu++14 c++1z gnu++1z c++17 gnu++17 c++2a gnu++2a)'
+ '-std=-[assume that the input sources are for specified standard]:standard:(c90 c89 iso9899:1990 iso9899:199409 c99 iso9899:1999 c11 iso9899:2011 gnu90 gnu89 gnu99 gnu11 c++98 c++03 gnu++98 gnu++03 c++11 gnu++11 c++1y gnu++1y c++14 gnu++14 c++1z gnu++1z c++17 iso9899:2017 gnu++17 c++2a gnu++2a)'
'*-include:include file:_files -g \*.h\(-.\)'
'*-imacros:macro input file:_files -g \*.h\(-.\)'
'*-idirafter:second include path directory:_files -/'
@@ -1034,7 +1049,6 @@ args+=(
'-flto-odr-type-merging[Merge C++ types using One Definition Rule]'
'-flto-partition=-[Partition symbols and vars at linktime based on object files they originate from]:partitioning algorithm:(1to1 balanced max one none)'
'-flto-report[Report various link-time optimization statistics]'
- '-flto=-[Enable link-time optimization]::jobs:'
'-fmax-errors=-[Maximum number of errors to report]:errors: '
'-fmem-report-wpa[Report on permanent memory allocation in WPA only]'
'-fmem-report[Report on permanent memory allocation]'
@@ -1061,7 +1075,7 @@ args+=(
'-freciprocal-math[Same as -fassociative-math for expressions which include division]'
'-frecord-gcc-switches[Record gcc command line switches in the object file]'
'-free[Turn on Redundant Extensions Elimination pass]'
- '-fsanitize=-[Enable AddressSanitizer, a memory error detector]:style:(address thread)'
+ "-fsanitize=-[Enable AddressSanitizer, a memory error detector]:style:($sanitizers)"
'-fsched-stalled-insns-dep=-[Set dependence distance checking in premature scheduling of queued insns]:instructions: '
'-fsched-stalled-insns=-[Set number of queued insns that can be prematurely scheduled]:instructions: '
'-fsched-verbose=-[Set the verbosity level of the scheduler]:verbosity: '
--
2.17.1
Messages sorted by:
Reverse Date,
Date,
Thread,
Author