amd/addrlib: limit fastcall/regparm to GCC i386
authorEmil Velikov <emil.velikov@collabora.com>
Wed, 2 Nov 2016 15:32:22 +0000 (15:32 +0000)
committerEmil Velikov <emil.l.velikov@gmail.com>
Wed, 9 Nov 2016 21:36:35 +0000 (21:36 +0000)
The use of regparm causes an error on arm/arm64 builds with clang.
fastcall is allowed, but still throws a warning. As both options only
have effect on 32-bit x86 builds, limit them to that case.

v2: keep the __i386__ within GCC (Nicolai)

Cc: 13.0 <mesa-stable@lists.freedesktop.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Nicolai Hähnle <nhaehnle@gmail.com>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Rob Herring <robh@kernel.org>
src/amd/addrlib/addrtypes.h

index 4c68ac544b882a8bab40accb9c9f01fe9ab04212..4dd7babf0042062e11d5b3bd8dfec671e8ea2f59 100644 (file)
@@ -88,7 +88,11 @@ typedef int            INT;
 
 #ifndef ADDR_FASTCALL
     #if defined(__GNUC__)
-        #define ADDR_FASTCALL __attribute__((regparm(0)))
+        #if defined(__i386__)
+            #define ADDR_FASTCALL __attribute__((regparm(0)))
+        #else
+            #define ADDR_FASTCALL
+        #endif
     #else
         #define ADDR_FASTCALL __fastcall
     #endif