From 4f1f149c3757c594f9ff987e5ddd919c3e7dba10 Mon Sep 17 00:00:00 2001 From: Shih-wei Liao Date: Fri, 3 Aug 2012 04:20:06 -0700 Subject: [PATCH] Fix the clang build: this compiler doesn't support the gnu_inline function attribute Recent clang compiler doesn't have gnu_inline working. When frameworks/rs is compiled with clang instead of gcc, it no longer works. Will be fixed by this patch. Change-Id: I8b281a1305151909e18958b73914ea27343cb4cd --- libc/include/sys/cdefs.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libc/include/sys/cdefs.h b/libc/include/sys/cdefs.h index 987a5e3db..f088e3310 100644 --- a/libc/include/sys/cdefs.h +++ b/libc/include/sys/cdefs.h @@ -502,11 +502,18 @@ #include #if defined(_FORTIFY_SOURCE) && _FORTIFY_SOURCE > 0 && defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 +#if defined(__clang__) +#define __BIONIC_FORTIFY_INLINE \ + extern inline \ + __attribute__ ((always_inline)) \ + __attribute__ ((artificial)) +#else #define __BIONIC_FORTIFY_INLINE \ extern inline \ __attribute__ ((always_inline)) \ __attribute__ ((gnu_inline)) \ __attribute__ ((artificial)) +#endif #define __BIONIC_FORTIFY_UNKNOWN_SIZE ((size_t) -1) #endif