diff --git a/auto/os/darwin b/auto/os/darwin
index 9b31b1f..b4b3ad3 100644
--- a/auto/os/darwin
+++ b/auto/os/darwin
@@ -113,6 +113,6 @@
 ngx_feature_incs="#include <libkern/OSAtomic.h>"
 ngx_feature_path=
 ngx_feature_libs=
-ngx_feature_test="int32_t  lock, n;
-                  n = OSAtomicCompareAndSwap32Barrier(0, 1, &lock)"
+ngx_feature_test="int32_t  lock = 0;
+                  if (!OSAtomicCompareAndSwap32Barrier(0, 1, &lock)) return 1"
 . auto/feature
diff --git a/auto/os/linux b/auto/os/linux
index c932267..132ce3b 100644
--- a/auto/os/linux
+++ b/auto/os/linux
@@ -44,6 +44,7 @@
                   struct epoll_event ee;
                   ee.events = EPOLLIN|EPOLLOUT|EPOLLET;
                   ee.data.ptr = NULL;
+                  (void) ee;
                   efd = epoll_create(100);
                   if (efd == -1) return 1;"
 . auto/feature
diff --git a/auto/os/solaris b/auto/os/solaris
index d39df0b..1dcfe84 100644
--- a/auto/os/solaris
+++ b/auto/os/solaris
@@ -52,7 +52,7 @@
 ngx_feature_incs="#include <port.h>"
 ngx_feature_path=
 ngx_feature_libs=
-ngx_feature_test="int n = port_create()"
+ngx_feature_test="(void) port_create()"
 . auto/feature
 
 if [ $ngx_found = yes ]; then
diff --git a/auto/unix b/auto/unix
index 0c3ddc5..e24099c 100755
--- a/auto/unix
+++ b/auto/unix
@@ -75,7 +75,7 @@
     ngx_feature_incs="#include <sys/event.h>"
     ngx_feature_path=
     ngx_feature_libs=
-    ngx_feature_test="int kq; kq = kqueue()"
+    ngx_feature_test="(void) kqueue()"
     . auto/feature
 
     if [ $ngx_found = yes ]; then
@@ -92,7 +92,8 @@
         ngx_feature_path=
         ngx_feature_libs=
         ngx_feature_test="struct kevent  kev;
-                          kev.fflags = NOTE_LOWAT;"
+                          kev.fflags = NOTE_LOWAT;
+                          (void) kev"
         . auto/feature
 
 
@@ -492,9 +493,9 @@
     ngx_feature_incs="#include <aio.h>"
     ngx_feature_path=
     ngx_feature_libs=
-    ngx_feature_test="int  n; struct aiocb  iocb;
+    ngx_feature_test="struct aiocb  iocb;
                       iocb.aio_sigevent.sigev_notify = SIGEV_KEVENT;
-                      n = aio_read(&iocb)"
+                      (void) aio_read(&iocb)"
     . auto/feature
 
     if [ $ngx_found = yes ]; then
@@ -514,6 +515,7 @@
                           iocb.aio_lio_opcode = IOCB_CMD_PREAD;
                           iocb.aio_flags = IOCB_FLAG_RESFD;
                           iocb.aio_resfd = -1;
+                          (void) iocb;
                           (void) eventfd(0, 0)"
         . auto/feature
 
@@ -529,11 +531,12 @@
         ngx_feature="Linux AIO support (SYS_eventfd)"
         ngx_feature_incs="#include <linux/aio_abi.h>
                           #include <sys/syscall.h>"
-        ngx_feature_test="int  n = SYS_eventfd;
-                          struct iocb  iocb;
+        ngx_feature_test="struct iocb  iocb;
                           iocb.aio_lio_opcode = IOCB_CMD_PREAD;
                           iocb.aio_flags = IOCB_FLAG_RESFD;
-                          iocb.aio_resfd = -1;"
+                          iocb.aio_resfd = -1;
+                          (void) iocb;
+                          (void) SYS_eventfd"
         . auto/feature
 
         if [ $ngx_found = yes ]; then
@@ -571,7 +574,7 @@
 
         ngx_feature="eventfd() (SYS_eventfd)"
         ngx_feature_incs="#include <sys/syscall.h>"
-        ngx_feature_test="int n = SYS_eventfd"
+        ngx_feature_test="(void) SYS_eventfd"
         . auto/feature
     fi
 fi
@@ -644,7 +647,8 @@
     ngx_feature_path=
     ngx_feature_libs=
     ngx_feature_test="struct sockaddr_in6  sin6;
-                      sin6.sin6_family = AF_INET6;"
+                      sin6.sin6_family = AF_INET6;
+                      (void) sin6"
     . auto/feature
 fi
 
