[clang] [clang][bytecode] Diagnose comparisons with literals (PR #106734)

2024-08-30 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/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. >From 0517f11ddbe4fda0f71692e800

[clang] [clang][bytecode][NFC] Cache the BuiltinID in Function (PR #106745)

2024-08-30 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/106745 FunctionDecl::getBuiltinID() is surprisingly slow and we tend to call it quite a bit, especially when interpreting builtin functions. Caching the BuiltinID here reduces the time I need to compile the floating_

[clang] [clang][bytecode] Implement __noop (PR #106714)

2024-08-30 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/106714 >From b04dc6d69039eeabe177cc5d109970734e0c29ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 30 Aug 2024 13:45:37 +0200 Subject: [PATCH] [clang][bytecode] Implement __noop This does n

[clang] [clang][bytecode] Diagnose comparisons with literals (PR #106734)

2024-08-30 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/106734 >From bbf8b0f42845ada6ddb3935d975b06f9044b3c10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 30 Aug 2024 15:51:17 +0200 Subject: [PATCH] [clang][bytecode] Diagnose comparisons with lit

[clang] [clang][bytecode] Implement __noop (PR #106714)

2024-08-30 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/106714 >From 0423c99a3b539e20c807ae4a773521a5ad5063c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 30 Aug 2024 13:45:37 +0200 Subject: [PATCH] [clang][bytecode] Implement __noop This does n

[clang] [clang][bytecode][NFC] Check for custom typechecking in call cleanup (PR #106826)

2024-08-30 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/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. >From e38266cd0fa28e

[clang] [clang] The ms-extension __noop should return zero in a constexpr context. (PR #106849)

2024-09-01 Thread Timm Baeder via cfe-commits
@@ -12720,8 +12720,8 @@ bool IntExprEvaluator::VisitBuiltinCallExpr(const CallExpr *E, } case Builtin::BI__noop: - // __noop always evaluates successfully -return true; +// __noop always evaluates successfully +return ZeroInitialization(E); t

[clang] [clang][bytecode][NFC] Check for custom typechecking in call cleanup (PR #106826)

2024-08-30 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/106826 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode][NFC] Implement MemberPointer::toDiagnosticString() (PR #106825)

2024-08-30 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/106825 >From fd47ce2d92865a5c9e5307478a10dd2c8b91ac44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 31 Aug 2024 02:56:46 +0200 Subject: [PATCH] [clang][bytecode][NFC] Implement MemberPointer

[clang] [clang][bytecode][NFC] Implement MemberPointer::toDiagnosticString() (PR #106825)

2024-08-30 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/106825 None >From 7d3a2ba57c5eefe47c2ccc57584881efdef41262 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 31 Aug 2024 02:56:46 +0200 Subject: [PATCH] [clang][bytecode][NFC] Implement MemberP

[clang] [clang][bytecode] Fix diagnosting reads from temporaries (PR #106868)

2024-08-31 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/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. >From 21f0a354dad22ac9fa540413cd859a5d6bd0904c Mon Sep 17 00:00:

[clang] [clang][bytecode][NFC] Cache the BuiltinID in Function (PR #106745)

2024-08-30 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/106745 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Diagnose comparisons with literals (PR #106734)

2024-08-30 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/106734 >From 0786e92abfceb279ad79b3da3c33b3c645aa8754 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 30 Aug 2024 15:51:17 +0200 Subject: [PATCH] [clang][bytecode] Diagnose comparisons with lit

[clang] [clang][bytecode] Diagnose comparisons with literals (PR #106734)

2024-08-30 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/106734 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Fix diagnosing reads from temporaries (PR #106868)

2024-08-31 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/106868 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode][NFC] Implement MemberPointer::toDiagnosticString() (PR #106825)

2024-08-30 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/106825 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Diagnose comparisons with literals (PR #106734)

2024-08-30 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/106734 >From af84a7c4effc0372386b598bf323783d0e7fd132 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 30 Aug 2024 15:51:17 +0200 Subject: [PATCH] [clang][bytecode] Diagnose comparisons with lit

[clang] [clang][bytecode] Fix diagnosing reads from temporaries (PR #106868)

2024-08-31 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr edited https://github.com/llvm/llvm-project/pull/106868 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Fix crash in code with StmtExpr and atomic char load in Expr::EvaluateAsRValue. (PR #106751)

2024-08-30 Thread Timm Baeder via cfe-commits
tbaederr wrote: Of course not! The reason that `AtomicToNonAtomic` is handled but `NonAtomicToAtomic` isn't, is that this is in `IntExprEvaluator`, meaning the result must be a (non-atomic) integer. If it was atomic, it'd be in `AtomicExprEvaluator`. This AST for the LHS of the binary operato

[clang] [clang][bytecode] Diagnose comparisons with literals (PR #106734)

2024-08-30 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/106734 >From 099ae16b3e41392f8fde9d4c92b4af48486bd027 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 30 Aug 2024 15:51:17 +0200 Subject: [PATCH] [clang][bytecode] Diagnose comparisons with lit

[clang] [clang] The ms-extension __noop should return zero in a constexpr context. (PR #106849)

2024-09-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/106849 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Fix zero-init of first union member (PR #106962)

2024-09-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/106962 ... if done via a ImplicitValueInitExpr. We were already doing this later in visitZeroRecordInitializer(). >From 3ca8c6c3408d78163c01d5ff95796fdc310b9b63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4d

[clang] [clang][bytecode] Implement __noop (PR #106714)

2024-09-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/106714 >From f78ac3974423d2cd01bc73ed0de854ce4d6f50cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 30 Aug 2024 13:45:37 +0200 Subject: [PATCH] [clang][bytecode] Implement __noop This does n

[clang] [clang][bytecode] Implement __noop (PR #106714)

2024-09-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/106714 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Fix zero-init of first union member (PR #106962)

2024-09-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/106962 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][AST] Make ASTContext::UnwrapSimilar{Array,}Types const (PR #106992)

2024-09-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/106992 They don't mutate the context at all, so mark them const. >From 152d50f0f842f058cb68b7dfed563fd6f55b32a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 2 Sep 2024 15:50:56 +0200 Subjec

[clang] [clang][AST] Make ASTContext::UnwrapSimilar{Array,}Types const (PR #106992)

2024-09-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/106992 >From b886f4aa5e6cab7e0105c2d415b21dfe614b5010 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 2 Sep 2024 15:50:56 +0200 Subject: [PATCH] [clang][AST] Make ASTContext::UnwrapSimilar{Arra

[clang] [clang][AST] Make ASTContext::UnwrapSimilar{Array,}Types const (PR #106992)

2024-09-02 Thread Timm Baeder via cfe-commits
tbaederr wrote: ... and `hasSimilarType`. https://github.com/llvm/llvm-project/pull/106992 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][AST][NFC] Make ASTContext::UnwrapSimilar{Array, }Types const (PR #106992)

2024-09-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr edited https://github.com/llvm/llvm-project/pull/106992 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][AST][NFC] Make ASTContext::UnwrapSimilar{Array, }Types const (PR #106992)

2024-09-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/106992 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Implement placement-new (PR #107033)

2024-09-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/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`. >From 588703b329b186c3e85291abd63c8cf18f

[clang] [clang][bytecode] Implement placement-new (PR #107033)

2024-09-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/107033 >From 6c722173d8a08f4c0bb75916ac88f2e37170c742 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 3 Sep 2024 02:52:35 +0200 Subject: [PATCH] [clang][bytecode] Implement placement-new ---

[clang] [clang][bytecode] Implement placement-new (PR #107033)

2024-09-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/107033 >From cfdf24d7e50c13b4741336303dfe1e5abae3ed81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 3 Sep 2024 02:52:35 +0200 Subject: [PATCH] [clang][bytecode] Implement placement-new ---

[clang] [clang][bytecode] Implement placement-new (PR #107033)

2024-09-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/107033 >From 903663240c79db28a3153e2d7154bb40c214 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 3 Sep 2024 02:52:35 +0200 Subject: [PATCH] [clang][bytecode] Implement placement-new ---

[clang] [clang][bytecode] Implement placement-new (PR #107033)

2024-09-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/107033 >From be9096f14454cf1450915bd044aef1c037c3e935 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 3 Sep 2024 02:52:35 +0200 Subject: [PATCH] [clang][bytecode] Implement placement-new ---

[clang] [clang][bytecode] Print Pointers via APValue (PR #107056)

2024-09-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/107056 Instead of doing this ourselves, just rely on printing the APValue. >From 05f15c5c7c867cdb37f45c51e7d33fdcc527463e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 3 Sep 2024 09:58:06 +0

[clang] [clang][bytecode] Pass FPOptions to floating point ops (PR #107063)

2024-09-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/107063 So we don't have to retrieve them from the InterpFrame, which is slow. >From 32b28da07f4115b46fe4fd51e05e60264d194558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 3 Sep 2024 10:59:22

[clang] [clang][bytecode] Print Pointers via APValue (PR #107056)

2024-09-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/107056 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Pass FPOptions to floating point ops (PR #107063)

2024-09-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/107063 >From f8b31c957fc281bf4c73f3b032099e2de4f58193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 3 Sep 2024 10:59:22 +0200 Subject: [PATCH] [clang][bytecode] Pass FPOptions to floating poi

[clang] [clang][bytecode] Implement placement-new (PR #107033)

2024-09-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/107033 >From 4f6db8a9c37c2fd5df32e3611c3630b5d7581a30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 3 Sep 2024 02:52:35 +0200 Subject: [PATCH] [clang][bytecode] Implement placement-new ---

[clang] [clang][bytecode] Implement placement-new (PR #107033)

2024-09-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/107033 >From 5286c57c1664bf64dae570c13de6956dbb762ab1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 3 Sep 2024 02:52:35 +0200 Subject: [PATCH] [clang][bytecode] Implement placement-new ---

[clang] [clang][bytecode] Pass FPOptions to floating point ops (PR #107063)

2024-09-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/107063 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode][NFC] Move Call ops into Interp.cpp (PR #107104)

2024-09-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/107104 They are quite long and not templated. >From f395bdadb094477b757a2c0789f902d56eb14df0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 3 Sep 2024 15:11:57 +0200 Subject: [PATCH] [clang][

[clang] [clang][bytecode][NFC] Move Call ops into Interp.cpp (PR #107104)

2024-09-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/107104 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode][NFC] Simplify builtin-functions.cpp (PR #107118)

2024-09-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/107118 The effect is the same, but this version doesn't take as long to evaluate. >From b203f7fe81a98258690ebb8d6385a9384a1b7ba6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 3 Sep 2024 16:5

[clang] [clang][bytecode][NFC] Simplify builtin-functions.cpp (PR #107118)

2024-09-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/107118 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] Implement dynamic memory allocation handling (PR #70306)

2024-07-09 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/70306 >From 0731875f41bff19e228b0c31700293ed3379 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Wed, 25 Oct 2023 08:33:30 +0200 Subject: [PATCH] [clang][Interp] Implement dynamic memory allocat

[clang] [clang][Interp] Implement dynamic memory allocation handling (PR #70306)

2024-07-10 Thread Timm Baeder via cfe-commits
@@ -2771,6 +2771,109 @@ bool Compiler::VisitCXXInheritedCtorInitExpr( return this->emitCall(F, 0, E); } +template +bool Compiler::VisitCXXNewExpr(const CXXNewExpr *E) { + assert(classifyPrim(E->getType()) == PT_Ptr); + const Expr *Init = E->getInitializer(); + QualType E

[clang] [clang] Emit bad shift warnings (PR #70307)

2024-07-10 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr approved this pull request. https://github.com/llvm/llvm-project/pull/70307 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] [Diagnostic] Clarify -Winfinite-recursion message (PR #98763)

2024-07-13 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/98763 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] Implement dynamic memory allocation handling (PR #70306)

2024-07-14 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/70306 >From 8825030bcb7f2249fbc37a9911b8b5a7afc56d15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Wed, 25 Oct 2023 08:33:30 +0200 Subject: [PATCH] [clang][Interp] Implement dynamic memory allocat

[clang] [clang][Interp] Implement dynamic memory allocation handling (PR #70306)

2024-07-14 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/70306 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Report erroneous floating point results in _Complex math (PR #90588)

2024-05-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr edited https://github.com/llvm/llvm-project/pull/90588 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Report erroneous floating point results in _Complex math (PR #90588)

2024-05-07 Thread Timm Baeder via cfe-commits
tbaederr wrote: Ping https://github.com/llvm/llvm-project/pull/90588 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] Member Pointers (PR #91303)

2024-05-07 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/91303 This adds a `MemberPointer` class along with a `PT_MemberPtr` primitive type. A `MemberPointer` has a `Pointer` Base as well as a `Decl*` (could be `ValueDecl*`?) decl it points to. For the actual logic, this

[clang] [clang][Interp] Member Pointers (PR #91303)

2024-05-07 Thread Timm Baeder via cfe-commits
@@ -0,0 +1,80 @@ + + +#include "MemberPointer.h" +#include "Context.h" +#include "FunctionPointer.h" +#include "Program.h" +#include "Record.h" + +namespace clang { +namespace interp { + +std::optional MemberPointer::toPointer(const Context &Ctx) const { + if (!Dcl || isa(Dcl)) +

[clang] [clang][Interp] Member Pointers (PR #91303)

2024-05-12 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/91303 >From c8bddc0573c62f288314b4407ba500dcc9b84425 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Wed, 10 Apr 2024 16:42:36 +0200 Subject: [PATCH] Memberpointers --- clang/lib/AST/CMakeLists.tx

[clang] [clang][Interp] Member Pointers (PR #91303)

2024-05-12 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/91303 >From a1cefd4b17bb540568472e753b7d4684a99bdda9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Wed, 10 Apr 2024 16:42:36 +0200 Subject: [PATCH] Memberpointers --- clang/lib/AST/CMakeLists.tx

[clang] [clang] Report erroneous floating point results in _Complex math (PR #90588)

2024-05-13 Thread Timm Baeder via cfe-commits
tbaederr wrote: Ping https://github.com/llvm/llvm-project/pull/90588 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Report erroneous floating point results in _Complex math (PR #90588)

2024-05-21 Thread Timm Baeder via cfe-commits
tbaederr wrote: Ping @jcranmer-intel, @hubert-reinterpretcast https://github.com/llvm/llvm-project/pull/90588 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] Member Pointers (PR #91303)

2024-05-22 Thread Timm Baeder via cfe-commits
tbaederr wrote: Ping https://github.com/llvm/llvm-project/pull/91303 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] Member Pointers (PR #91303)

2024-05-24 Thread Timm Baeder via cfe-commits
@@ -0,0 +1,112 @@ +//===- MemberPointer.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [clang][Interp] Member Pointers (PR #91303)

2024-05-24 Thread Timm Baeder via cfe-commits
@@ -3123,10 +3172,28 @@ bool ByteCodeExprGen::VisitCallExpr(const CallExpr *E) { } } + std::optional CalleeOffset; // Add the (optional, implicit) This pointer. if (const auto *MC = dyn_cast(E)) { -if (!this->visit(MC->getImplicitObjectArgument())) - ret

[clang] [clang][Interp] Member Pointers (PR #91303)

2024-05-24 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/91303 >From df90df17e949e264f0b0f6816cd6bd138e159271 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Wed, 10 Apr 2024 16:42:36 +0200 Subject: [PATC

[clang] [clang] Report erroneous floating point results in _Complex math (PR #90588)

2024-05-24 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/90588 >From 4d121c1cdca78378a3200353071c9ff460e0fcbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 30 Apr 2024 12:25:20 +0200 Subject: [PATCH] [clang][Interp] Report erroneous floating point

[clang] [clang] Report erroneous floating point results in _Complex math (PR #90588)

2024-05-24 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/90588 >From 4bcba4c08be471e8cf6fb52842f9a73e3c45639d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 30 Apr 2024 12:25:20 +0200 Subject: [PATCH] [clang] Report erroneous floating point results

[clang] [clang][Interp] Member Pointers (PR #91303)

2024-05-25 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/91303 >From 30d86295dda9b7aaa06c23b67c54806475266e5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Wed, 10 Apr 2024 16:4

[clang] [clang][Sema] Don't emit 'declared here' note for builtin functions with no decl in source (PR #93394)

2024-05-25 Thread Timm Baeder via cfe-commits
@@ -5897,6 +5897,16 @@ void Sema::diagnoseTypo(const TypoCorrection &Correction, NamedDecl *ChosenDecl = Correction.isKeyword() ? nullptr : Correction.getFoundDecl(); + + // For builtin functions which aren't declared anywhere in source, + // don't emit the "declared

[clang] [clang][Interp] Member Pointers (PR #91303)

2024-05-25 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/91303 >From 30d86295dda9b7aaa06c23b67c54806475266e5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Da

[clang] [Clang] Rewrite SourceLocExpr in default args (PR #93383)

2024-05-25 Thread Timm Baeder via cfe-commits
@@ -5506,6 +5506,15 @@ struct EnsureImmediateInvocationInDefaultArgs // cause it to incorrectly point it to the outermost class // in the case of nested struct initialization. ExprResult TransformCXXThisExpr(CXXThisExpr *E) { return E; } + + // Rewrite to source location

[clang] [clang][Interp] Member Pointers (PR #91303)

2024-05-25 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/91303 >From 30d86295dda9b7aaa06c23b67c54806475266e5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Da

[clang] [clang][Sema] Don't emit 'declared here' note for builtin functions with no decl in source (PR #93394)

2024-05-26 Thread Timm Baeder via cfe-commits
tbaederr wrote: Would be nice if you could add new explicit tests for this. https://github.com/llvm/llvm-project/pull/93394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Sema] Don't emit 'declared here' note for builtin functions with no decl in source (PR #93394)

2024-05-26 Thread Timm Baeder via cfe-commits
@@ -5,7 +5,7 @@ void similar() { // expected-note {{'similar' declared here}} if constexpr (similer<>) {} // expected-error {{use of undeclared identifier 'similer'; did you mean 'similar'?}} } void a() { if constexpr (__adl_swap<>) {}} // expected-error{{use of undeclared

[clang] [Clang] Adjust `exit()` builtin impl (PR #101689)

2024-08-02 Thread Timm Baeder via cfe-commits
tbaederr wrote: In https://github.com/llvm/llvm-project/pull/74803, the question of "why" came up and was never answered. https://github.com/llvm/llvm-project/pull/101689 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/c

[clang] [clang][Interp] Enhance CodePtr (PR #101787)

2024-08-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/101787 Add more relational operators. >From 02ba0cd327c91d65ac6d4ee7699a590cea6a92ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 2 Aug 2024 17:45:19 +0200 Subject: [PATCH] [clang][Interp]

[clang] [clang][Interp] Simplify and fix variable scope handling (PR #101788)

2024-08-02 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/101788 None >From 02ba0cd327c91d65ac6d4ee7699a590cea6a92ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 2 Aug 2024 17:45:19 +0200 Subject:

[clang] [clang][Interp] Check for 'delete this' in dtors (PR #101792)

2024-08-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/101792 None >From 08aaea88863ad000d68316391a8702cd777496af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 3 Aug 2024 06:37:24 +0200 Subject: [PATCH] [clang][Interp] Check for 'delete this' in

[clang] [clang][Interp] Enhance CodePtr (PR #101787)

2024-08-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/101787 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] Check for 'delete this' in dtors (PR #101792)

2024-08-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/101792 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] Convert bocks to DeadBlocks when destroying frames (PR #101794)

2024-08-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/101794 This doesn't fix the attached test case, but at least we're not crashing anymore. >From 4fb09d3f10635de87742265ea2e1da12b1ad3679 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 3 Aug

[clang] [clang][Interp] Convert blocks to DeadBlocks when destroying frames (PR #101794)

2024-08-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr edited https://github.com/llvm/llvm-project/pull/101794 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] Simplify and fix variable scope handling (PR #101788)

2024-08-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/101788 >From 5cb12152ccb6e2dbdf09c87ae7562ccd7ca6ff57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 2 Aug 2024 19:05:04 +0200 Subject: [PATCH] [clang][Interp] Simplify and fix variable scope

[clang] [clang][Interp] Simplify and fix variable scope handling (PR #101788)

2024-08-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr edited https://github.com/llvm/llvm-project/pull/101788 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] Convert blocks to DeadBlocks when destroying frames (PR #101794)

2024-08-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/101794 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] Simplify and fix variable scope handling (PR #101788)

2024-08-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/101788 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] Fix array subscript eval order (PR #101804)

2024-08-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/101804 Always evaluate LHS first, then RHS. >From b2295d98eb4c9b9810e4f380f4a768309765 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 3 Aug 2024 11:31:38 +0200 Subject: [PATCH] [clang][In

[clang] [clang][Interp] Fix array subscript eval order (PR #101804)

2024-08-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/101804 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Implement `__builtin_is_implicit_lifetime()` (PR #101807)

2024-08-03 Thread Timm Baeder via cfe-commits
@@ -5637,6 +5638,27 @@ static bool EvaluateUnaryTypeTrait(Sema &Self, TypeTrait UTT, return false; case UTT_IsTriviallyEqualityComparable: return isTriviallyEqualityComparableType(Self, T, KeyLoc); + case UTT_IsImplicitLifetime: { +DiagnoseVLAInCXXTypeTrait(Self

[clang] [clang][Interp] Fix function pointer callexpr eval order (PR #101821)

2024-08-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/101821 We need to evaluate the callee before the arguments. >From ef92f7ef23014f001630fe9d30cdf7c39d19bfbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 3 Aug 2024 15:06:12 +0200 Subject: [P

[clang] [clang][Interp] Fix function pointer callexpr eval order (PR #101821)

2024-08-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/101821 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] Fix assignment eval order (PR #101833)

2024-08-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/101833 RHS first. >From dc4740dd572eb71af1a7cd33e2c4cf5400d7d5af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 3 Aug 2024 17:24:15 +0200 Subject: [PATCH] [clang][Interp] Fix assignment eval

[clang] [clang][Interp] Fix assignment eval order (PR #101833)

2024-08-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/101833 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] Fix assignment operator call eval order (PR #101845)

2024-08-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/101845 None >From d3912da14ccba5ecc07ae229a95b647f78ea2001 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 3 Aug 2024 21:15:35 +0200 Subject: [PATCH] [clang][Interp] Fix assignment operator ca

[clang] [clang][Interp] Fix assignment operator call eval order (PR #101845)

2024-08-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/101845 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] Fix assignment operator call eval order (PR #101845)

2024-08-04 Thread Timm Baeder via cfe-commits
tbaederr wrote: I have post-review powers for changes in `Interp/`. https://github.com/llvm/llvm-project/pull/101845 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] reinterpret casts aren't always fatal (PR #101900)

2024-08-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/101900 The current interpreter emits the diagnostic and continues, so do the same. >From c10fedb826c41c2f640814428d996b8bfd3f2867 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 4 Aug 2024 19:

[clang] [clang][Interp] reinterpret casts aren't always fatal (PR #101900)

2024-08-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/101900 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] Handle Pointer::toAPValue() for expr bases (PR #101937)

2024-08-05 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/101937 No reason to return early for them anymore. >From 3b8a063c42f92faf6eac8b254b208d8d48013046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 5 Aug 2024 09:18:23 +0200 Subject: [PATCH] [cl

[clang] [clang][Interp] Handle Pointer::toAPValue() for expr bases (PR #101937)

2024-08-05 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/101937 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] Remove GlobalDecl flag (PR #101995)

2024-08-05 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/101995 When initializing global variables, we still need to create local variables for temporaries created in the process. Otherwise, we will never call their destructors. >From 0d4526e27c897cd9f928ddc16eb72d4c2c592

<    8   9   10   11   12   13   14   15   16   17   >