linux says it is a bug
Richard Henderson
rth@redhat.com
Wed Mar 5 15:07:00 GMT 2014
On 03/04/2014 10:12 PM, Yury Gribov wrote:
>>> Asms without outputs are automatically volatile. So there ought be zero change
>>> with and without the explicit use of the __volatile__ keyword.
>>
>> ThatÂ’s what the documentation says but it wasnÂ’t actually true
>> as of a couple of releases ago, as I recall.
>
> Looks like 2005:
>
> $ git annotate gcc/c/c-typeck.c
> ...
> 89552023 ( bonzini 2005-10-05 12:17:16 +0000 9073) /* asm
> statements without outputs, including simple ones, are treated
> 89552023 ( bonzini 2005-10-05 12:17:16 +0000 9074) as
> volatile. */
> 89552023 ( bonzini 2005-10-05 12:17:16 +0000 9075)
> ASM_INPUT_P (args) = simple;
> 89552023 ( bonzini 2005-10-05 12:17:16 +0000 9076)
> ASM_VOLATILE_P (args) = (noutputs == 0);
Yep, that's the one. So, more than "a couple" of releases: gcc 4.2 and later.
r~
More information about the Gcc
mailing list