Timm Baeder
36b0707767
[clang][bytecode] Return an lvalue path for dummy pointers ( #111862 )
...
Not doing this is wrong in general and we need to reject expressions
where it would matter differently.
2024-10-11 05:58:25 +02:00
Timm Baeder
800b07396f
[clang][bytecode] Change isArrayElement() for narrowed composite arrays ( #111110 )
...
Make isArrayElement() return true here, so we can know that such a
pointer is in fact an array element and handle it properly in
toAPValue().
2024-10-04 14:19:32 +02:00
Timm Baeder
904f58e6b9
[clang][bytecode] Use field descriptor in IntPointer::atOffset ( #109238 )
...
We're otherwise still pointing to the old type, but with the new offset.
2024-09-19 09:12:17 +02:00
Timm Baeder
43fd2c401e
[clang][bytecode] Implement base casts on integral pointers ( #108340 )
...
Get the right offset to apply from the RecordLayout.
2024-09-12 17:19:37 +02:00
Timm Baeder
360e4abfc8
[clang][bytecode] Diagnose comparisons with literals ( #106734 )
...
This requires adding a new opcode for PointerToBoolean casts, since we
otherwise emit too many diagnostics. But that fixes an older problem
when casting weak pointers to bool.
2024-08-31 06:24:36 +02:00
Timm Baeder
dac182990d
[clang][bytecode] IntPointer::atOffset() should append ( #104686 )
...
... to current offset. This breaks other tests which this commit also
fixes. Namely, getIndex() should return the integer representation for
non-block pointers.
2024-08-18 08:59:34 +02:00
Timm Bäder
07bd3bb9b7
[clang][bytecode][NFC] Improve Pointer::print()
...
Do not access PointeeStorage.BS.Pointee if we have a non-block pointer
and extend printing to handle function pointers as well.
2024-08-18 08:55:22 +02:00
Timm Baeder
a07aba5d44
[clang] Rename all AST/Interp stuff to AST/ByteCode ( #104552 )
...
"Interp" clashes with the clang interpreter and people often confuse
this.
2024-08-16 17:13:12 +02:00