This is the mail archive of the newlib-cvs@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]