summaryrefslogtreecommitdiffstats
path: root/Completion/Unix/Command
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command')
-rw-r--r--Completion/Unix/Command/_gcc19
1 files changed, 17 insertions, 2 deletions
diff --git a/Completion/Unix/Command/_gcc b/Completion/Unix/Command/_gcc
index 402797aa2..b14c13334 100644
--- a/Completion/Unix/Command/_gcc
+++ b/Completion/Unix/Command/_gcc
@@ -1,4 +1,4 @@
-#compdef gcc g++ -value-,LDFLAGS,-default- -value-,CFLAGS,-default- -value-,CPPFLAGS,-default-
+#compdef gcc g++ cc c++ llvm-gcc llvm-g++ clang clang++ -value-,LDFLAGS,-default- -value-,CFLAGS,-default- -value-,CPPFLAGS,-default-
local curcontext="$curcontext" state line ret=1 expl args args2
typeset -A opt_args
@@ -210,10 +210,23 @@ h8/300)
;;
esac
+if [[ "$service" = clang* ]]; then
+ args=(
+ $args
+ -flto -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
+ )
+fi
+
_arguments -C -M 'L:|-{fW}no-=-{fW} r:|[_-]=* r:|=*' \