xref: /plan9/sys/src/cmd/cc/c99 (revision 3b56890da2282dbd3cc0fc1501f968e20f5e5f6a)
1C99 changes vs C89
2http://home.tiscalinet.ch/t_wolf/tw/c/c9x_changes.html
3
4(Numbers are from the web page list.)
5
6Not done (yet?):
79, 19. Hexdecimal floating point constants.
811. _Complex, _Imaginary, _Bool
914. Variable arrays in parameter lists.
1033. Variable-length arrays
1134. goto restrictions for variable-length arrows
1218. Notation for universal characters \uXXXX
1325. Division and mod truncate toward zero.
1426. _Bool, float _Complex, double _Complex, long double _Complex
15
16Done:
177. __VA_ARGS__
1811, 30, 31, 32. restrict, inline
1912. Allow declarations anywhere.
2015. for loop declarations
2128. structs ending in incomplete type.
22
23Unneeded (already had):
241. Translation limits
256. Empty macro arguments allowed.
268. #line limit
2710 // comments
2816. (Type){initializer list} compound literals
2917. Named initializers
3020. LL suffix for long long constants
3121. IEEE 754 floating-point arithmetic
3222. Long long type, 64 bits wide.
3324. Initializers for auto aggregates can be non-constants.
3426. long long int, unsigned long long int, signed long long int
3527. require at least one type specifier in a declaration
3629. Idempotent type qualifiers.
37
38Unwanted:
392. #pragma stdc
403. _Pragma
414. __STDC_VERSION__
425. __STDC_IEC_559__, __STDC_IEC_559_COMPLEX__,
43	__STDC_ISO_10646__
4413. Digraph tokens
4523. __func__ identifier
46
47