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