about summary refs log tree commit diff
path: root/Completion/User/_gcc
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/User/_gcc')
-rw-r--r--Completion/User/_gcc10
1 files changed, 4 insertions, 6 deletions
diff --git a/Completion/User/_gcc b/Completion/User/_gcc
index 88f70ad52..7292a933c 100644
--- a/Completion/User/_gcc
+++ b/Completion/User/_gcc
@@ -1,6 +1,6 @@
 #compdef gcc
 
-local context state line ret=1 expl args
+local curcontext="$curcontext" state line ret=1 expl args
 typeset -A opt_args
 
 args=()
@@ -163,7 +163,7 @@ h8/300)
 esac
 
 
-_arguments -M 'L:|-{fW}no-=-{fW} r:|[_-]=* r:|=*' \
+_arguments -C -M 'L:|-{fW}no-=-{fW} r:|[_-]=* r:|=*' \
   "$args[@]" \
   -c -S -E -v -a -w -C -H -P -s '(-pg)-p' '(-p)-pg' \
   '-o:output file:_files' \
@@ -273,10 +273,8 @@ dump)
     'p[annotate assembler output]' && ret=0
   ;;
 library)
-  _tags "${context}" libraries || return 1
-
-  _description expl library
-  compadd "$expl[@]" - ${^=LD_LIBRARY_PATH:-/usr/lib /usr/local/lib}/lib*.(a|so*)(:t:fr:s/lib//) && ret=0
+  _wanted libraries expl library &&
+      compadd "$expl[@]" - ${^=LD_LIBRARY_PATH:-/usr/lib /usr/local/lib}/lib*.(a|so*)(:t:fr:s/lib//) && ret=0
   ;;
 esac