summaryrefslogtreecommitdiffstats
path: root/Completion/Unix/Command/_gcc
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command/_gcc')
-rw-r--r--Completion/Unix/Command/_gcc18
1 files changed, 14 insertions, 4 deletions
diff --git a/Completion/Unix/Command/_gcc b/Completion/Unix/Command/_gcc
index 03c3eb2f2..cf1cf7efa 100644
--- a/Completion/Unix/Command/_gcc
+++ b/Completion/Unix/Command/_gcc
@@ -1,10 +1,18 @@
-#compdef gcc g++ cc c++ llvm-gcc llvm-g++ clang clang++ -value-,LDFLAGS,-default- -value-,CFLAGS,-default- -value-,CXXFLAGS,-default- -value-,CPPFLAGS,-default- -P gcc-* -P g++-* -P c++-*
+#compdef gcc g++ cc c++ llvm-gcc llvm-g++ clang clang++ -value-,LDFLAGS,-default- -value-,CFLAGS,-default- -value-,CXXFLAGS,-default- -value-,CPPFLAGS,-default- -value-,CC,-default- -value-,CXX,-default- -P gcc-* -P g++-* -P c++-*
local curcontext="$curcontext" state line ret=1 expl i
local -a args args2 warnings arch
typeset -A opt_args
-if [[ "$service" = -value-* ]]; then
+if [[ "$service" = -value-,CC,* ]]; then
+ _description compilers expl compiler
+ compadd "$expl[@]" -M 'r:|-=* r:|=*' -k 'commands[(I)(clang|([ig]|sun|open)cc(|<->|-devel)|icx)]'
+ return
+elif [[ "$service" = -value-,CXX,* ]]; then
+ _description compilers expl compiler
+ compadd "$expl[@]" -M 'r:|-=* r:|=*' -k 'commands[(I)((clang|g)++(|<->|-devel)|(sun|open|)CC|icpx)]'
+ return
+elif [[ "$service" = -value-* ]]; then
compset -q
words=( fake "$words[@]" )
(( CURRENT++ ))
@@ -337,7 +345,7 @@ i[3456]86|x86_64)
'-mstack-arg-probe[enable stack probing]'
'-mstack-protector-guard=-[use given stack-protector guard]:guard:(global tls)'
'-mstackrealign[realign stack in prologue]'
- '-mstringop-strategy=-[chose strategy to generate stringop using]:stringop strategy:(byte_loop libcall loop rep_4byte rep_8byte rep_byte unrolled_loop)'
+ '-mstringop-strategy=-[choose strategy to generate stringop using]:stringop strategy:(byte_loop libcall loop rep_4byte rep_8byte rep_byte unrolled_loop)'
'-mstv[disable Scalar to Vector optimization pass transforming 64-bit integer computations into a vector ones]'
'-mtbm[support TBM built-in functions and code generation]'
'-mthreads[support thread-safe exception handling on MinGW]'
@@ -616,7 +624,6 @@ if [[ "$service" = clang* ]]; then
'-fconstexpr-steps=[constexpr steps]:arg'
'-fconvergent-functions[assume functions may be convergent]'
'-fconvert=[convert]:arg'
- '-fcoroutines-ts[enable support for the C++ Coroutines TS]'
'-fcoverage-compilation-dir=[the compilation directory to embed in the coverage mapping]:arg'
'-fcoverage-mapping[generate coverage mapping to enable code coverage analysis]'
'-fcoverage-prefix-map=[remap file source paths in coverage mapping]:arg'
@@ -1695,6 +1702,7 @@ args+=(
'-fcompare-elim[perform comparison elimination after register allocation has finished]'
'-fcond-mismatch[allow the arguments of the ? operator to have different types]'
'-fconserve-stack[do not perform optimizations increasing noticeably stack usage]'
+ '-fcoroutines[enable support for C++ Coroutines]'
'-fcprop-registers[perform a register copy-propagation optimization pass]'
'-fcrossjumping[perform cross-jumping optimization]'
'-fcse-follow-jumps[when running CSE, follow jumps to their targets]'
@@ -1837,6 +1845,8 @@ args+=(
'-fno-stack-limit[do not limit the size of the stack]'
'-fno-threadsafe-statics[do not generate thread-safe code for initializing local statics]'
'-fnothrow-opt[treat a throw() exception specification as noexcept to improve code size]'
+ '-foffload=[specify offloading targets]:target list'
+ '-foffload-options=:option list'
'-fomit-frame-pointer[when possible do not generate stack frames]'
'-fopenacc[enable OpenACC]'
'-fopenmp[enable OpenMP (implies -frecursive in Fortran)]'