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;