This is the mail archive of the
newlib-cvs@sourceware.org
mailing list for the newlib project.
[newlib-cygwin] don't use C99 static array indices with older GCC versions
- From: Corinna Vinschen <corinna at sourceware dot org>
- To: newlib-cvs at sourceware dot org
- Date: 4 Apr 2017 09:44:55 -0000
- Subject: [newlib-cygwin] don't use C99 static array indices with older GCC versions
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=3abc66ec6bf8c4312da413a62a5740a33edccaad
commit 3abc66ec6bf8c4312da413a62a5740a33edccaad
Author: avg <avg@FreeBSD.org>
Date: Tue Apr 4 09:04:58 2017 +0200
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
Diff:
---
newlib/libc/include/sys/cdefs.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/newlib/libc/include/sys/cdefs.h b/newlib/libc/include/sys/cdefs.h
index fa1692c..280aefd 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