http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59018
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Kostya Serebryany from comment #1)
> At least one of these patches does not build with clang:
>
> /home/kcc/llvm/projects/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc:
> 807:21: error: ignored asm label 'r8' on automatic variable [-Werror]
> void *r8 __asm__ ("r8") = newtls;
> ^
> /home/kcc/llvm/projects/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc:
> 808:21: error: ignored asm label 'r10' on automatic variable [-Werror]
> int *r10 __asm__ ("r10") = child_tidptr;
> ^
>
> is this some kind of gcc-specific syntax?
There is missing register keyword of course for both.
So
register void *r8 __asm__ ("r8") = newtls;
register int *r10 __asm__ ("r10") = child_tidptr;