summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoravg <avg@FreeBSD.org>2017-04-04 09:04:58 +0200
committerCorinna Vinschen <corinna@vinschen.de>2017-04-04 11:44:03 +0200
commit3abc66ec6bf8c4312da413a62a5740a33edccaad (patch)
treead70d20d9c525c0c45007b8333aaec33f5aefe76
parent7b07f11b1fc79224afaa8967a356796610bf82bf (diff)
downloadcygnal-3abc66ec6bf8c4312da413a62a5740a33edccaad.tar.gz
cygnal-3abc66ec6bf8c4312da413a62a5740a33edccaad.tar.bz2
cygnal-3abc66ec6bf8c4312da413a62a5740a33edccaad.zip
don't use C99 static array indices with older GCC versions
For example, the FreeBSD GCC (4.2.1) has a spotty support for that feature. If the static keyword is used with an unnamed array parameter in a function declaration, then the compilation fails with: error: static or type qualifiers in abstract declarator The feature does work if the parameter is named. So, the restriction introduced in this commit can be removed when all affected function prototypes have the workaround. MFC after: 1 week Sponsored by: Panzura
-rw-r--r--newlib/libc/include/sys/cdefs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/newlib/libc/include/sys/cdefs.h b/newlib/libc/include/sys/cdefs.h
index fa1692c0d..280aefd70 100644
--- a/newlib/libc/include/sys/cdefs.h
+++ b/newlib/libc/include/sys/cdefs.h
@@ -369,6 +369,7 @@
* void bar(int myArray[__min_size(10)]);
*/
#if !defined(__cplusplus) && \
+ (defined(__clang__) || __GNUC_PREREQ__(4, 6)) && \
(!defined(__STDC_VERSION__) || (__STDC_VERSION__ >= 199901))
#define __min_size(x) static (x)
#else