--- a/test/signal/test-signalhandler.cpp
+++ b/test/signal/test-signalhandler.cpp
@@ -54,7 +54,7 @@
     ++*static_cast<int*>(nullptr); // NOLINT(clang-analyzer-core.NullDereference)
 }
 
-#if !defined(__APPLE__) && !defined(_AIX)
+#if !defined(__APPLE__) && !defined(_AIX) && defined(__GLIBC__)
 /*static*/ int my_fpe() // NOLINT(misc-use-internal-linkage)
 {
     if (feenableexcept(FE_ALL_EXCEPT) == -1)
@@ -80,7 +80,7 @@
         my_abort();
     else if (strcmp(argv[1], "segv") == 0)
         my_segv();
-#if !defined(__APPLE__) && !defined(_AIX)
+#if !defined(__APPLE__) && !defined(_AIX) && defined(__GLIBC__)
     else if (strcmp(argv[1], "fpe") == 0)
         return my_fpe();
 #endif
