[cfe-commits] Add -Wno-extension-used to filter ext_token_used

Ivan Krasin krasin at google.com
Wed Oct 5 10:43:54 PDT 2011


Eli,

I have updated the patch. Now I use language-extension-token parameter to
suppress the warning "extension used".

Is it fine now? Alternatively, I can introduce more fine-grained warning
asm-token with higher priority than ext_token_used.
So far, ext_token_used complains about the following tokens (see
lib/Basic/IdentifierTable.cpp):

  else if (LangOpts.GNUKeywords && (Flags & KEYGNU)) AddResult = 1;
  else if (LangOpts.MicrosoftExt && (Flags & KEYMS)) AddResult = 1;
  else if (LangOpts.Borland && (Flags & KEYBORLAND)) AddResult = 1;

So, it's GNU, Microsoft and Borland extensions.

On Tue, Oct 4, 2011 at 3:33 PM, Ivan Krasin <krasin at google.com> wrote:

> like, in my particular case, this warning complains about asm directive,
> which is not a part of ANSI C (-pedantic)
>
>
> On Tue, Oct 4, 2011 at 3:32 PM, Ivan Krasin <krasin at google.com> wrote:
>
>>
>>
>> On Tue, Oct 4, 2011 at 3:24 PM, Eli Friedman <eli.friedman at gmail.com>wrote:
>>
>>> On Tue, Oct 4, 2011 at 11:13 AM, Ivan Krasin <krasin at chromium.org>
>>> wrote:
>>> > Hi llvm team!
>>> >
>>> > This patch adds support of -Wno-extension-used to make it possible to
>>> > suppress the warning:
>>> >
>>> > lala.c:1:21: warning: extension used [-pedantic]
>>> > double lala(double) asm("llvm.log.f64");
>>> >
>>> > r140770 has started to promote this warning to error if -Werror is
>>> > specified (which is absolutely correct).
>>> > We have a test that checks some llvm intrinsics and it's not Clangy to
>>> > drop -Werror just because one particular warning is expected.
>>> > I have added the option to suppress this warning and has removed it
>>> > from the test for warnings w/o suppression options.
>>> >
>>> > OK to commit?
>>>
>>> We really ought to clarify what exactly this is warning about and name
>>> the warning group in a more intuitive way.  -Wno-extension-used
>>> doesn't give the user any idea what warning it is actually
>>> suppressing.  I'm drawing a blank as to what exactly to call it,
>>> though.
>>>
>> Hi Eli,
>>
>> It suppresses any language extension used in the program source. I have no
>> preference on how the flag should be named and I have chosen
>> "extension-used" just to fit to the existing warning message:
>>  "warning: extension used [-pedantic]"
>>
>> Probably, a better name would be language-extension or
>> language-extension-used. In this case -Wno-language-extension would give a
>> good idea of what warning does it suppress.
>> Are you fine with any of the options above? Do you have a better idea?
>>
>>
>>> -Eli
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20111005/8381df7d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: language-extension-token.patch
Type: text/x-patch
Size: 2004 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20111005/8381df7d/attachment.bin>


More information about the cfe-commits mailing list