diff options
author | Michael Forney <mforney@mforney.org> | 2024-03-23 11:43:34 -0700 |
---|---|---|
committer | Michael Forney <mforney@mforney.org> | 2024-03-23 11:43:34 -0700 |
commit | 077df7145836eb86278db2ad31316841940babe4 (patch) | |
tree | 3c99037bc0e8b34055b52bd016c24db19ff2fabf | |
parent | 89d95b1ad4c1a29b43a6680ab77a44437685f801 (diff) |
Change type of u8 string literals to unsigned char for C23
-rw-r--r-- | expr.c | 5 | ||||
-rw-r--r-- | test/string-u8-type.c | 1 | ||||
-rw-r--r-- | test/string-u8-type.qbe | 0 |
3 files changed, 4 insertions, 2 deletions
@@ -531,11 +531,12 @@ stringconcat(struct stringlit *str, bool forceutf8) len += strlen(src) - 2; next(); } while (tok.kind == TSTRINGLIT); - if (forceutf8 || kind == '8') - kind = 0; + if (forceutf8) + kind = '8'; ++len; /* null byte */ switch (kind) { case 0: t = &typechar; break; + case '8': t = &typeuchar; break; case 'u': t = &typeushort; break; case 'U': t = &typeuint; break; case 'L': t = targ->typewchar; break; diff --git a/test/string-u8-type.c b/test/string-u8-type.c new file mode 100644 index 0000000..d7fe074 --- /dev/null +++ b/test/string-u8-type.c @@ -0,0 +1 @@ +_Static_assert(__builtin_types_compatible_p(__typeof__(u8"abc"), unsigned char[])); diff --git a/test/string-u8-type.qbe b/test/string-u8-type.qbe new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/string-u8-type.qbe |