commit c03a30a2fa6b356bad5b763415700bc65af77bab
parent 7921f9b553bc19ed3dc6db7394d1bdea20502b0e
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date: Mon, 28 Mar 2022 15:42:02 +0200
cc1: Use void as base type of void poinetrs
Void pointers were using char as base type and it was confusing the
function eqtype() which was declaring that char pointers and void
pointers were the same type.
Diffstat:
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/cmd/cc/cc1/amd64-sysv.c b/src/cmd/cc/cc1/amd64-sysv.c
@@ -198,7 +198,7 @@ amd64_sysv(void)
sizettype = &arch.sizettype;
arch.va_list_type = *mktype(&arch.va_type, ARY, 1, NULL);
- arch.pvoidtype.type = &arch.chartype;
+ arch.pvoidtype.type = &arch.voidtype;
arch.valid_va_list = local_valid_va_list;
return &arch;
diff --git a/src/cmd/cc/cc1/arm64-sysv.c b/src/cmd/cc/cc1/arm64-sysv.c
@@ -198,7 +198,7 @@ arm64_sysv(void)
sizettype = &arch.sizettype;
arch.va_list_type = *mktype(&arch.va_type, ARY, 1, NULL);
- arch.pvoidtype.type = &arch.chartype;
+ arch.pvoidtype.type = &arch.voidtype;
arch.valid_va_list = local_valid_va_list;
arch.zero.type = inttype;
arch.one.type = inttype;
diff --git a/src/cmd/cc/cc1/i386-sysv.c b/src/cmd/cc/cc1/i386-sysv.c
@@ -204,7 +204,7 @@ i386_sysv(void)
};
arch.valid_va_list = local_valid_va_list;
- arch.pvoidtype.type = &arch.chartype;
+ arch.pvoidtype.type = &arch.voidtype;
arch.va_list_type.type = &arch.longtype;
return &arch;
diff --git a/src/cmd/cc/cc1/z80-scc.c b/src/cmd/cc/cc1/z80-scc.c
@@ -203,7 +203,7 @@ z80_scc(void)
},
};
arch.valid_va_list = local_valid_va_list;
- arch.pvoidtype.type = &arch.chartype;
+ arch.pvoidtype.type = &arch.voidtype;
arch.va_type.type = &arch.inttype;
return &arch;
diff --git a/tests/cc/execute/scc-tests.lst b/tests/cc/execute/scc-tests.lst
@@ -189,7 +189,7 @@
0196-invalidchar.c
0197-cppcomment.c
0198-nullcpp.c
-0199-voidpcast.c [TODO]
+0199-voidpcast.c
0200-cpp.c [TODO]
0201-cpp.c [TODO]
0202-variadic.c [TODO]