Björn Steinbrink <B.Steinbrink@gmx.de> writes:This feels a bit too narrow and too broad at the same time, doesn't it? As I suspect there are other compilers that do not implement flexible array members (so you cannot use "member[]") nor older gcc extension of zero sized member (so you cannot use "member[0]" either), this checking specifically for Sun is too narrow. On the other hand, as you said, this is too broad, because not everybody may be using the SUN compiler on Sun, nor the version that does not understand flexible array members. But being broad should always be safer, albeit a bit wasteful. How about doing it this way? # ifndef FLEX_ARRAY # if defined(__GNUC__) # if (__GNUC__ < 3) # define FLEX_ARRAY 0 # else # define FLEX_ARRAY /* empty */ # endif # else /* more cases we know we can use 0 or empty can come here */ # endif # endif /* if still undefined, default to the safe, old fashioned way */ # ifndef FLEX_ARRAY # define FLEX_ARRAY 1 # endif The basic idea is: * The user (from Makefile command line, config.mak, or you could add autoconf test) can pass -DFLEX_ARRAY=... to specify exactly what should happen; * Otherwise, if we happen to know for sure that we can use "0" or "/* empty */" with the compiler, we define FLEX_ARRAY; currently we know such things for gcc. * For everybody else, we use safer default of "1". IOW, if you know your compiler does not grok "/* empty */" nor "0", you do not have to do anything special but use the default case as everybody else. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Linus Torvalds | Re: LSM conversion to static interface |
| Ingo Molnar | [patch 03/13] syslets: generic kernel bits |
| Ingo Molnar | Re: [PATCH 6/6] sched: disabled rt-bandwidth by default |
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
git: | |
| David Miller | [GIT]: Networking |
| Gregory Haskins | [RFC PATCH 00/17] virtual-bus |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
