aboutsummaryrefslogtreecommitdiff
path: root/sys/cmd/cc/bits.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/cmd/cc/bits.c')
-rw-r--r--sys/cmd/cc/bits.c45
1 files changed, 23 insertions, 22 deletions
diff --git a/sys/cmd/cc/bits.c b/sys/cmd/cc/bits.c
index a13938c..2fe7295 100644
--- a/sys/cmd/cc/bits.c
+++ b/sys/cmd/cc/bits.c
@@ -16,34 +16,34 @@ enum
* enumerated type specifers
* see https://en.wikipedia.org/wiki/C_data_types
*/
-#define VOID X(Tvoid, 0)
+#define VOID X(Tvoid, 1)
-#define BOOL X(Tbool, 1)
-#define CHAR X(Tchar, 2)
-#define SCHAR X(Tsign|Tchar, 3)
-#define UCHAR X(Tunsign|Tchar, 4)
+#define BOOL X(Tbool, 2)
+#define CHAR X(Tchar, 3)
+#define SCHAR X(Tsign|Tchar, 4)
+#define UCHAR X(Tunsign|Tchar, 5)
-#define SHORT X(Tshort, 5), X(Tshort|Tint, 5)
-#define SSHORT X(Tsign|Tshort, 6), X(Tsign|Tshort|Tint, 6)
-#define USHORT X(Tunsign|Tshort, 7), X(Tunsign|Tshort|Tint, 7)
+#define SHORT X(Tshort, 6), X(Tshort|Tint, 6)
+#define SSHORT X(Tsign|Tshort, 7), X(Tsign|Tshort|Tint, 7)
+#define USHORT X(Tunsign|Tshort, 8), X(Tunsign|Tshort|Tint, 8)
-#define INT X(0, 8), X(Tint, 8)
-#define SINT X(Tsign, 9), X(Tsign|Tint, 9)
-#define UINT X(Tunsign, 10), X(Tunsign|Tint, 10)
+#define INT X(0, 9), X(Tint, 9)
+#define SINT X(Tsign, 10), X(Tsign|Tint, 10)
+#define UINT X(Tunsign, 11), X(Tunsign|Tint, 11)
-#define LONG X(Tlong, 11), X(Tlong|Tint, 11)
-#define SLONG X(Tsign|Tlong, 12), X(Tsign|Tlong|Tint, 12)
-#define ULONG X(Tunsign|Tlong, 13), X(Tunsign|Tlong|Tint, 13)
+#define LONG X(Tlong, 12), X(Tlong|Tint, 12)
+#define SLONG X(Tsign|Tlong, 13), X(Tsign|Tlong|Tint, 13)
+#define ULONG X(Tunsign|Tlong, 14), X(Tunsign|Tlong|Tint, 14)
-#define VLONG X(Tvlong, 14), X(Tvlong|Tint, 14)
-#define SVLONG X(Tsign|Tvlong, 15), X(Tsign|Tvlong|Tint, 15)
-#define UVLONG X(Tunsign|Tvlong, 16), X(Tunsign|Tvlong|Tint, 16)
+#define VLONG X(Tvlong, 15), X(Tvlong|Tint, 15)
+#define SVLONG X(Tsign|Tvlong, 16), X(Tsign|Tvlong|Tint, 16)
+#define UVLONG X(Tunsign|Tvlong, 16), X(Tunsign|Tvlong|Tint, 17)
-#define FLOAT X(Tfloat, 17)
-#define DOUBLE X(Tdouble, 18)
-#define LONGDB X(Tlong|Tdouble, 19)
-#define COMPLEX X(Tcmplx, 20)
-#define IMAGINARY X(Timag, 21)
+#define FLOAT X(Tfloat, 18)
+#define DOUBLE X(Tdouble, 19)
+#define LONGDB X(Tlong|Tdouble, 20)
+#define COMPLEX X(Tcmplx, 21)
+#define IMAGINARY X(Timag, 22)
/* fixed width definitions */
#define DEF(sz, aln, mx, sgn) {.size=sz, .align=aln, .max=mx, .sign=sgn }
@@ -91,6 +91,7 @@ Type pointer = {.size=8, .align=8, .max=0xffffffffffffffff, .sign=0};
/* pack architecture specific definitions into exported arrays */
#define TYPE(a, ...) a,
Type basetypes[] = {
+ { 0 }, /* sentinel value for bad types */
TYPES
};
#undef TYPE