summaryrefslogtreecommitdiffstats
path: root/ConfigureChecks.cmake
diff options
context:
space:
mode:
authorBjörn Jacke <bjacke@samba.org>2020-10-30 15:31:42 +0100
committerAndreas Schneider <asn@samba.org>2020-11-04 16:39:54 +0100
commit83a4c3c3c53c6ab171ee786ba7c9f509d73f36fd (patch)
tree6436059d568d212b693bb7212293d005f19d2b63 /ConfigureChecks.cmake
parent3b6e2078e07cf379b5a65edb5e967d4f7c7b9e0a (diff)
downloadsocket_wrapper-83a4c3c3c53c6ab171ee786ba7c9f509d73f36fd.tar.gz
socket_wrapper-83a4c3c3c53c6ab171ee786ba7c9f509d73f36fd.tar.xz
socket_wrapper-83a4c3c3c53c6ab171ee786ba7c9f509d73f36fd.zip
configure: check for pragma init/fini for constructors/destructors
Signed-off-by: Bjoern Jacke <bjacke@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'ConfigureChecks.cmake')
-rw-r--r--ConfigureChecks.cmake26
1 files changed, 26 insertions, 0 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
index 4a2f55e..3c8e615 100644
--- a/ConfigureChecks.cmake
+++ b/ConfigureChecks.cmake
@@ -217,6 +217,32 @@ int main(void) {
}" HAVE_DESTRUCTOR_ATTRIBUTE)
check_c_source_compiles("
+#pragma init (test_constructor)
+void test_constructor(void);
+
+void test_constructor(void)
+{
+ return;
+}
+
+int main(void) {
+ return 0;
+}" HAVE_PRAGMA_INIT)
+
+check_c_source_compiles("
+#pragma fini (test_destructor)
+void test_destructor(void);
+
+void test_destructor(void)
+{
+ return;
+}
+
+int main(void) {
+ return 0;
+}" HAVE_PRAGMA_FINI)
+
+check_c_source_compiles("
#define FALL_THROUGH __attribute__((fallthrough))
int main(void) {