Why should "inline static" be replaced with "static inline". Does it improve compatibility with certain compilers?
Also, does wine aim to be compliant with ANSI, C99, or somewhere in between (-gnu89)?
Ivan Gyurdiev wrote:
Why should "inline static" be replaced with "static inline". Does it improve compatibility with certain compilers?
Also, does wine aim to be compliant with ANSI, C99, or somewhere in between (-gnu89)?
Hi Ivan,
Although declaration specifiers (i.e., storage-class specifers [e.g., extern, static], type specifiers [e.g., char, int], type qualifiers [e.g., const, volatile], function specifiers [e.g., inline]) may be placed in any order, putting the storage-class specifier anywhere other than first is officially obsolescent (i.e., deprecated post-C90, though not actually removed from C99).
My view is that it is more fundamental to know whether a function has local (static) or global (extern) linkage, than to know whether it has been optimized for speed (inline), say, and it is easier to find the internal functions if the "static" keyword comes first. But there may be as many views on this as there are orders of placement. :)
-- Andy.