summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ConfigureChecks.cmake26
-rw-r--r--config.h.cmake2
2 files changed, 28 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) {
diff --git a/config.h.cmake b/config.h.cmake
index d3ceb23..38166d2 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -66,6 +66,8 @@
#cmakedefine HAVE_GCC_THREAD_LOCAL_STORAGE 1
#cmakedefine HAVE_CONSTRUCTOR_ATTRIBUTE 1
#cmakedefine HAVE_DESTRUCTOR_ATTRIBUTE 1
+#cmakedefine HAVE_PRAGMA_INIT 1
+#cmakedefine HAVE_PRAGMA_FINI 1
#cmakedefine HAVE_FALLTHROUGH_ATTRIBUTE 1
#cmakedefine HAVE_ADDRESS_SANITIZER_ATTRIBUTE 1
#cmakedefine HAVE_SOCKADDR_STORAGE 1