47 lines
1.3 KiB
Plaintext
47 lines
1.3 KiB
Plaintext
C99 changes vs C89
|
|
http://home.tiscalinet.ch/t_wolf/tw/c/c9x_changes.html
|
|
|
|
(Numbers are from the web page list.)
|
|
|
|
Not done (yet?):
|
|
9, 19. Hexdecimal floating point constants.
|
|
11. _Complex, _Imaginary, _Bool
|
|
14. Variable arrays in parameter lists.
|
|
33. Variable-length arrays
|
|
34. goto restrictions for variable-length arrows
|
|
18. Notation for universal characters \uXXXX
|
|
25. Division and mod truncate toward zero.
|
|
26. _Bool, float _Complex, double _Complex, long double _Complex
|
|
|
|
Done:
|
|
7. __VA_ARGS__
|
|
11, 30, 31, 32. restrict, inline
|
|
12. Allow declarations anywhere.
|
|
15. for loop declarations
|
|
28. structs ending in incomplete type.
|
|
|
|
Unneeded (already had):
|
|
1. Translation limits
|
|
6. Empty macro arguments allowed.
|
|
8. #line limit
|
|
10 // comments
|
|
16. (Type){initializer list} compound literals
|
|
17. Named initializers
|
|
20. LL suffix for long long constants
|
|
21. IEEE 754 floating-point arithmetic
|
|
22. Long long type, 64 bits wide.
|
|
24. Initializers for auto aggregates can be non-constants.
|
|
26. long long int, unsigned long long int, signed long long int
|
|
27. require at least one type specifier in a declaration
|
|
29. Idempotent type qualifiers.
|
|
|
|
Unwanted:
|
|
2. #pragma stdc
|
|
3. _Pragma
|
|
4. __STDC_VERSION__
|
|
5. __STDC_IEC_559__, __STDC_IEC_559_COMPLEX__,
|
|
__STDC_ISO_10646__
|
|
13. Digraph tokens
|
|
23. __func__ identifier
|
|
|