#
09cd5a86 |
| 27-Sep-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Refuse to contruct objects with virtual bases (#110142)
|
#
a024a0ce |
| 25-Sep-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Override InConstantContext flag for immediate calls (#109967)
And fix the diagnostics for __builtin_is_constant_evaluated(). We can be
in a non-constant context, but calling an im
[clang][bytecode] Override InConstantContext flag for immediate calls (#109967)
And fix the diagnostics for __builtin_is_constant_evaluated(). We can be
in a non-constant context, but calling an immediate function always
makes the context constant for the duration of that call.
show more ...
|
#
4bd3a62c |
| 25-Sep-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Fix diagnosing std::construct_at with wrong type (#109828)
We can't make the assumption that types are always fine in std
functions.
|
#
4b964002 |
| 24-Sep-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Allow placement-new in std functions pre-C++26 (#109753)
|
#
c712ab82 |
| 23-Sep-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Implement placement-new (#107033)
If we have a placement-new destination already, use that instead of
allocating a new one.
Tests are partially based on
`test/SemaCXX/cxx2c-cons
[clang][bytecode] Implement placement-new (#107033)
If we have a placement-new destination already, use that instead of
allocating a new one.
Tests are partially based on
`test/SemaCXX/cxx2c-constexpr-placement-new.cpp`.
show more ...
|
#
f86050de |
| 21-Sep-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Don't call checkLiteralType() in visitInitializer() (#109530)
We were calling checkLiteralType() too many time and rejecting some
things we shouldn't. Add The calls manually when
[clang][bytecode] Don't call checkLiteralType() in visitInitializer() (#109530)
We were calling checkLiteralType() too many time and rejecting some
things we shouldn't. Add The calls manually when handling
MaterializeTemporaryExprs. Maybe we should call it in other places as
well, but adding more calls is easier than removing them from a generic
code path.
show more ...
|
#
c57b9f5a |
| 21-Sep-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Fix reporting non-constant variables in C (#109516)
We need to call FFDiag() to get the usual "invalid subexpression"
diagnostic.
|
#
97aa8cc9 |
| 21-Sep-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Diagnose weak reads in final load (#109515)
They aren't allowed here either.
|
#
d267daa9 |
| 19-Sep-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Diagnose loads from weak variables (#109256)
|
Revision tags: llvmorg-19.1.0 |
|
#
f22a8d18 |
| 12-Sep-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Fix modify_global diagnostics in C++11 (#108358)
We shouldn't emit this until C++14.
|
#
46870175 |
| 10-Sep-2024 |
Timm Bäder <tbaeder@redhat.com> |
[clang][bytecode][NFC] Fix CallBI function signature
This doesn't modify the PC, so pass OpPC as a copy.
|
#
78cf9b83 |
| 07-Sep-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Implement using operator new/operator delete (#107679)
Reuse the __builtin_operator_{new,delete} implementations.
|
#
610b8539 |
| 07-Sep-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Implement __builtin_operator{new,delete} (#107672)
|
#
83fea8b8 |
| 07-Sep-2024 |
Timm Baeder <tbaeder@redhat.com> |
[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 not
[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.
show more ...
|
#
f70ccdae |
| 03-Sep-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode][NFC] Move Call ops into Interp.cpp (#107104)
They are quite long and not templated.
|
Revision tags: llvmorg-19.1.0-rc4 |
|
#
0f5f440f |
| 03-Sep-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Pass FPOptions to floating point ops (#107063)
So we don't have to retrieve them from the InterpFrame, which is slow.
|
#
e4f3b56d |
| 01-Sep-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Fix diagnosing reads from temporaries (#106868)
Fix the DeclID not being set in global temporaries and use the same
strategy for deciding if a temporary is readable as the current
[clang][bytecode] Fix diagnosing reads from temporaries (#106868)
Fix the DeclID not being set in global temporaries and use the same
strategy for deciding if a temporary is readable as the current
interpreter.
show more ...
|
#
e4cf0a04 |
| 31-Aug-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode][NFC] Check for custom typechecking in call cleanup (#106826)
The comment already explains that this is only true for _some_ builtin
functions. This also brings the time it takes m
[clang][bytecode][NFC] Check for custom typechecking in call cleanup (#106826)
The comment already explains that this is only true for _some_ builtin
functions. This also brings the time it takes me to run the
builtin-functions.cpp test locally from 50s down to 47s.
show more ...
|
#
df11ee21 |
| 29-Aug-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Diagnose member calls on deleted blocks (#106529)
This requires a bit of restructuring of ctor calls when checking for a
potential constant expression.
|
#
cb608cc5 |
| 29-Aug-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Properly diagnose non-const reads (#106514)
If the global variable is constant (but not constexpr), we need to
diagnose, but keep evaluating.
|
#
d9e72860 |
| 26-Aug-2024 |
yronglin <yronglin777@gmail.com> |
[NFC][clang][bytecode] Rename `clang::interp::State::getCtx` to `clang::interp::State::getASTContext` (#106071)
The new constant interpreter's `clang::interp::InterpState` contains
both `clang::int
[NFC][clang][bytecode] Rename `clang::interp::State::getCtx` to `clang::interp::State::getASTContext` (#106071)
The new constant interpreter's `clang::interp::InterpState` contains
both `clang::interp::Context` and `clang::ASTContext`. So using `S.Ctx`
and `S.getCtx()` was a bit confusing. This PR rename `getCtx()` to
`getASTContext` to make things more clearer.
Signed-off-by: yronglin <yronglin777@gmail.com>
show more ...
|
#
a14c7309 |
| 21-Aug-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Fix diagnostic in final ltor cast (#105292)
Don't diagnose volatile reads but diagnose a few other accesses earlier.
|
Revision tags: llvmorg-19.1.0-rc3 |
|
#
a07aba5d |
| 16-Aug-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang] Rename all AST/Interp stuff to AST/ByteCode (#104552)
"Interp" clashes with the clang interpreter and people often confuse
this.
|