Re: [PATCH] LLVMLinux: Remove warning about returning an uninitialized variable

From: H. Peter Anvin
Date: Mon Mar 31 2014 - 18:12:43 EST


On 03/31/2014 03:10 PM, Behan Webster wrote:
>>>
>>> diff --git a/include/asm-generic/cmpxchg-local.h
>>> b/include/asm-generic/cmpxchg-local.h
>>> index d8d4c89..4c41bb8 100644
>>> --- a/include/asm-generic/cmpxchg-local.h
>>> +++ b/include/asm-generic/cmpxchg-local.h
>>> @@ -41,6 +41,7 @@ static inline unsigned long
>>> __cmpxchg_local_generic(volatile void *ptr,
>>> break;
>>> default:
>>> wrong_size_cmpxchg(ptr);
>>> + prev = 0;
>>> }
>>> raw_local_irq_restore(flags);
>>> return prev;
>>>
>> Shouldn't this be a build time assert (__compiletime_error())?
> I changed it to a __noreturn on wrong_size_cmpxchg thanks to James
> Bottomley.
>
> Which would be better?
>

__compiletime_error traps at compile time rather than link time, which
is what you want.

-hpa


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/