History log of /llvm-project/clang/lib/AST/ByteCode/Interp.cpp (Results 26 – 48 of 48)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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.


12