Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: [PATCH] _gcc: Improve completer for _clang and _gcc



On Mon, Jun 18, 2018 at 9:49 AM, Eitan Adler <lists@xxxxxxxxxxxxxx> wrote:
> On 18 June 2018 at 00:44, Mikael Magnusson <mikachu@xxxxxxxxx> wrote:
>> On Mon, Jun 18, 2018 at 7:14 AM, Eitan Adler <lists@xxxxxxxxxxxxxx> wrote:
>>> 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
>>
>> Did you mean to add this list under the gcc case?
>
> No. Those are the list supported by clang. I didn't do a full audit,
> but gcc supports fewer of them. It may support more than the list I
> included, but this is not a regression.
>
> Its hard to test gcc since it just errors out with "/usr/local/bin/ld:
> cannot find -lubsan" when testing and I don't want to go down the
> rabbit hole of debugging that right now.

Well, you remove "thread" and add "memory" instead for gcc, and the
manpage does list all values supported by gcc.

-- 
Mikael Magnusson



Messages sorted by: Reverse Date, Date, Thread, Author