diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 0faa3150..7103f303 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -375,6 +375,23 @@ int main(void) { return 0; }" HAVE_FALLTHROUGH_ATTRIBUTE) +check_c_source_compiles(" +#define WEAK __attribute__((weak)) + +WEAK int sum(int a, int b) +{ + return a + b; +} + +int main(void) +{ + int i = sum(2, 2); + + (void)i; + + return 0; +}" HAVE_WEAK_ATTRIBUTE) + if (NOT WIN32) check_c_source_compiles(" #define __unused __attribute__((unused)) diff --git a/config.h.cmake b/config.h.cmake index 5c358fb4..1357615b 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -225,6 +225,7 @@ #cmakedefine HAVE_FALLTHROUGH_ATTRIBUTE 1 #cmakedefine HAVE_UNUSED_ATTRIBUTE 1 +#cmakedefine HAVE_WEAK_ATTRIBUTE 1 #cmakedefine HAVE_CONSTRUCTOR_ATTRIBUTE 1 #cmakedefine HAVE_DESTRUCTOR_ATTRIBUTE 1