[llvmlinux] Multiple storage class error
Tinti
viniciustinti at gmail.com
Sat Nov 16 13:38:10 UTC 2013
Hi,
I think we should change one of our patches to not use 'static register' as
comment in this link http://www.lemoda.net/c/keywords/register.html and
this one
http://stackoverflow.com/questions/8674236/is-typedef-a-storage-class-specifier
.
/*
* how to get the current stack pointer in C
*/
#if defined(CONFIG_BUILTIN_STACK_POINTER)
/* compiler has __builtin_stack_pointer support already */
#elif defined(__clang__)
#define __builtin_stack_pointer() ({ \
unsigned long current_sp; \
asm ("mov %0, sp" : "=r" (current_sp)); \
current_sp; \
})
#define current_stack_pointer __builtin_stack_pointer()
#else /* gcc */
static register unsigned long current_stack_pointer asm ("sp");
<==================
#define __builtin_stack_pointer() current_stack_pointer
#endif
If we do so, we get kernel-gcc back to work on vexpress. What do you think?
Regards,
Tinti
--
Simplicity is the ultimate sophistication
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/llvmlinux/attachments/20131116/f29f222f/attachment.html>
More information about the LLVMLinux
mailing list