summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2014-07-30 17:11:49 -0600
committerEric Blake <eblake@redhat.com>2014-07-30 21:15:18 -0600
commitd98277fd170f238ec97972c27d96fe5db3ed0929 (patch)
tree7f620cf73873ebc43385f1f1c20f81d4a08a215e /tests
parent5acee27d5d25bdf9ae42a157856cf12f871494ea (diff)
downloadgnulib-d98277fd170f238ec97972c27d96fe5db3ed0929.tar.gz
test-open: port to cygwin, which lacks Fortify
On cygwin, with gcc 4.8.3, I get this compilation warning: In file included from ../../gltests/test-open.c:35:0: ../../gltests/test-open.h:35:1: warning: always_inline function might not be inlinable [-Wattributes] test_open (int (*func) (char const *, int, ...), bool print) ^ On that platform, there are no Fortify enhancements, and the internal macro __always_inline is always defined to turn on the gcc attribute, contrary to our needs. Since relying on a __ prefix is already risky, it's better to limit the workaround of commit d6ba92ea to just glibc. * tests/test-open.h (ALWAYS_INLINE): New macro. (__always_inline): Don't abuse internal symbol on non-glibc. Signed-off-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/test-open.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/tests/test-open.h b/tests/test-open.h
index d7bd5afc49..1807c90376 100644
--- a/tests/test-open.h
+++ b/tests/test-open.h
@@ -21,8 +21,10 @@
around a glibc bug whereby 'open' cannot be used as a function
pointer when _FORTIFY_SOURCE is positive. */
-#ifndef __always_inline
-#define __always_inline
+#if __GLIBC__ && defined __always_inline
+# define ALWAYS_INLINE __always_inline
+#else
+# define ALWAYS_INLINE
#endif
/* This file is designed to test both open(n,buf[,mode]) and
@@ -31,7 +33,7 @@
appropriate headers are already included. If PRINT, warn before
skipping symlink tests with status 77. */
-static __always_inline int
+static ALWAYS_INLINE int
test_open (int (*func) (char const *, int, ...), bool print)
{
int fd;