From a05e0af50734f0594b9ea4c273b396b28aa9d93b Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 5 Nov 2013 21:25:48 +0100 Subject: [PATCH] BeBuild.h: Fix B_DEFINE_WEAK_ALIAS for use in C++ code --- headers/os/BeBuild.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/headers/os/BeBuild.h b/headers/os/BeBuild.h index 2667b4986d..509ccf51e5 100644 --- a/headers/os/BeBuild.h +++ b/headers/os/BeBuild.h @@ -82,8 +82,14 @@ #define B_DEFINE_SYMBOL_VERSION(function, versionedSymbol) \ __asm__(".symver " function "," versionedSymbol) -#define B_DEFINE_WEAK_ALIAS(name, alias_name) \ - __typeof(name) alias_name __attribute__((weak, alias(#name))) + +#ifdef __cplusplus +# define B_DEFINE_WEAK_ALIAS(name, alias_name) \ + extern "C" __typeof(name) alias_name __attribute__((weak, alias(#name))) +#else +# define B_DEFINE_WEAK_ALIAS(name, alias_name) \ + __typeof(name) alias_name __attribute__((weak, alias(#name))) +#endif #endif /* _BE_BUILD_H */