diff options
| author | Quentin Carbonneaux <quentin@c9x.me> | 2022-03-08 15:49:01 +0100 |
|---|---|---|
| committer | Quentin Carbonneaux <quentin@c9x.me> | 2022-03-08 15:57:06 +0100 |
| commit | 9060981c10c21834596d5677a2c9ccc56809eb64 (patch) | |
| tree | 2fe18c42b4c435a15612abdc4ce836d5860cdfa2 /arm64 | |
| parent | 349794f3e4f11e4cc34a501ba935a2a305229738 (diff) | |
| download | roux-9060981c10c21834596d5677a2c9ccc56809eb64.tar.gz | |
flag types defined as unions
The risc-v abi needs to know if a
type is defined as a union or not.
We cannot use nunion to obtain this
information because the risc-v abi
made the unfortunate decision of
treating
union { int i; }
differently from
int i;
So, instead, I introduce a single
bit flag 'isunion'.
Diffstat (limited to 'arm64')
| -rw-r--r-- | arm64/abi.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arm64/abi.c b/arm64/abi.c index f127576..6ed393d 100644 --- a/arm64/abi.c +++ b/arm64/abi.c @@ -94,7 +94,7 @@ typclass(Class *c, Typ *t, int *gp, int *fp) if (t->align > 4) err("alignments larger than 16 are not supported"); - if (t->dark || sz > 16 || sz == 0) { + if (t->isdark || sz > 16 || sz == 0) { /* large structs are replaced by a * pointer to some caller-allocated * memory */ |
