Re: [PATCH v2 4/6] compiler-gcc.h: add asm_inline definition

From: Rasmus Villemoes
Date: Thu Sep 05 2019 - 10:23:17 EST


On 05/09/2019 15.45, Segher Boessenkool wrote:
> Hi Rasmus,
>
> On Thu, Sep 05, 2019 at 01:07:11PM +0200, Rasmus Villemoes wrote:
>> On 05/09/2019 02.18, Nick Desaulniers wrote:
>>> Is it too late to ask for a feature test macro? Maybe one already
>>> exists?
>>
>> No, not as far as I know.
>
> [ That's not what a feature test macro is; a feature test macro allows the
> user to select some optional behaviour. Things like _GNU_SOURCE. ]
>
>> Perhaps something like below, though that
>> won't affect the already released gcc 9.1 and 9.2, of course.
>
> That is one reason to not want such a predefined macro. Another reason
> is that you usually need to compile some test programs *anyway*, to see if
> some bug is present for example, or to see if the exact implementation of
> the feature is beneficial (or harmful) to your program in some way.

OK, I think I'll just use a version check for now, and then switch to a
Kconfig test if and when clang grows support.

>> gcc maintainers, WDYT? Can we add a feature test macro for asm inline()?
>
>
> Why would GCC want to have macros for all features it has?

Well, gcc has implemented __has_attribute() which is similar - one could
detect support by compiling a trivial test program. Or the same could be
said for many of the predefined macros that are conditionally defined,
e.g. __HAVE_SPECULATION_SAFE_VALUE.

But I was just throwing the question into the air, I won't pursue this
further.

Thanks,
Rasmus