On 03/08/13 22:49, Mcdaniel, Daryl wrote: > The EDK II code base does not support C99 for non-platform-specific code, > only C95 is supported. > This is because we must support a compiler which is only C89 (Strict mode) or > C95 with extensions.
Do you mean C95 *plus* extensions? > C89, or ANSII C, is not an option. This is because of the extensive use of > C95 features in the code (mostly //) > and the use of the newer extern and "implied type" semantics, which are not > the same as C89, by the supported compilers. > > We have to limit ourselves to the lowest common denominator - which is C95. > I would love to be able to "upgrade" to C99. Unfortunately, that would break > the code for too many people. Could you please describe what the allowed extensions are on top of C95? I'm asking because for all practical purposes C95 (aka - "Normative Addendum 1" - "Amendment 1" - "ISO/IEC 9899:199409" - "ISO/IEC 9899:1990/Amendment 1:1995 (E)" ) seems C89/C90 to me: http://clc-wiki.net/wiki/C_standard#Corrections_and_updates http://www.lysator.liu.se/c/na1.html I don't own a copy, but based on the above I think keeping C90 in mind + knowing the exact extensions that are allowed would help me. (For example, "// comments" don't look like C95, I think they are an extension.) Is the list of language extensions available somewhere? (Also, *restrictions* against valid C89 are in place, eg. struct assignment is prohibited; are they listed somewhere?) Thank you, Laszlo ------------------------------------------------------------------------------ Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the endpoint security space. For insight on selecting the right partner to tackle endpoint security challenges, access the full report. http://p.sf.net/sfu/symantec-dev2dev _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
