Timm Baeder
bba7942006
[clang][bytecode] LValueBitCasts are not fatal ( #176947 )
...
We can cast from lvalue to lvalue (they are Pointers), so don't
prematurely abort here.
2026-01-20 17:31:39 +01:00
nataliakokoromyti
afd7d13d14
[clang][bytecode] Fix crash on arrays with excessive size ( #175402 )
...
The bytecode interpreter was crashing when seeing arrays with sizes that
exceed Descriptor::MaxArrayElemBytes. The bounds check in
Program::createDescriptor was using std::numeric_limits<unsigned>::max()
instead of the correct limit Descriptor::MaxArrayElemBytes.
This caused the check to pass for sizes that would later fail the
assertion in the Descriptor constructor.
Fixes #175293
2026-01-13 08:55:01 +01:00
Timm Baeder
f4aaf6fe5c
[clang][bytecode] Fix a crash in codegen ( #151515 )
...
getRecord() can return nullptr if any one of the fields does, in this
case because the array is too large for us to allocate.
2025-07-31 15:50:02 +02:00
Timm Baeder
05eafd9f2b
[clang][bytecode] Explicitly mark constexpr-unknown variables as such ( #135806 )
...
Instead of trying to figure out what's constexpr-unknown later on.
2025-04-16 09:00:52 +02:00
Timm Baeder
974bda8f61
[clang][bytecode] Reject constexpr-unknown pointers from Inc ops ( #135548 )
...
We used to accept c++ as a known value here, causing wrong codegen.
2025-04-13 18:57:55 +02:00
Timm Baeder
e637a5c9fe
[clang][bytecode] Only allow lossless ptr-to-int casts ( #111669 )
...
Only allow those casts if the bitwidth of the two types match.
2024-10-09 17:13:22 +02:00
Timm Baeder
83fea8b809
[clang][bytecode] Allow continuing when discarded MemberExpr Base fails ( #107231 )
...
We don't need the value in this case, since we're discarding it anyway.
Allow continuing the interpretation but note the side effect.
2024-09-07 09:33:27 +02:00
Timm Baeder
d27278a835
[clang][bytecode] Discard NullToPointer cast SubExpr ( #104782 )
...
So we still properly abort if they fail.
2024-08-19 17:51:27 +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