[clang] [clang-repl] Improve error message on failed undos (PR #149396)

2025-07-21 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev approved this pull request. Lgtm! Thank you @aadanen! https://github.com/llvm/llvm-project/pull/149396 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [Clang-Repl] Add custom function as lambda in launchExecutor and fetch PID of launched executor (PR #147478)

2025-07-20 Thread Vassil Vassilev via cfe-commits
@@ -68,6 +165,18 @@ TEST_F(InterpreterTest, Sanity) { EXPECT_EQ(1U, DeclsSize(R2.TUPart)); } +TEST_F(InterpreterTest, SanityWithRemoteExecution) { vgvassilev wrote: That probably will need to follow the what was done in `InterpreterExtensionsTest.cpp` wher

[clang] 6163b66 - [clang-repl] Another try on system-z.

2025-07-20 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2025-07-20T08:23:47Z New Revision: 6163b66e0aa7a3fa32b05fa4e1016d0631c20451 URL: https://github.com/llvm/llvm-project/commit/6163b66e0aa7a3fa32b05fa4e1016d0631c20451 DIFF: https://github.com/llvm/llvm-project/commit/6163b66e0aa7a3fa32b05fa4e1016d0631c20451.diff LO

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-19 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: https://github.com/llvm/llvm-project/commit/0a463bd43e626695b7221b0cf20cdaa5970cfe98 should bring piece in the galaxy. However, I am puzzled by the system-z (s390) -- it is a big endian -- it is a good test bed for the conformance for low-level primitives such as `clang::Val

[clang] 0a463bd - [clang-repl] Mark asan and systemz as unsupported for now.

2025-07-19 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2025-07-19T17:45:56Z New Revision: 0a463bd43e626695b7221b0cf20cdaa5970cfe98 URL: https://github.com/llvm/llvm-project/commit/0a463bd43e626695b7221b0cf20cdaa5970cfe98 DIFF: https://github.com/llvm/llvm-project/commit/0a463bd43e626695b7221b0cf20cdaa5970cfe98.diff LO

[clang] 50408ee - Revert "[clang-repl] Spell out the enum types to appease some bots."

2025-07-19 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2025-07-19T14:31:19Z New Revision: 50408eeff6020061ceb6685448e214f36c75f71b URL: https://github.com/llvm/llvm-project/commit/50408eeff6020061ceb6685448e214f36c75f71b DIFF: https://github.com/llvm/llvm-project/commit/50408eeff6020061ceb6685448e214f36c75f71b.diff LO

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-19 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: I added a fix for the system-z, however, I believe I still a maintainer to confirm this is not a big-endian related issue. I realize I do not understand the sanitizer failures. I ran the tests with valgrind and it seems happy with it. @vitalybuka what should I do here? https

[clang] 193de1a - [clang-repl] Spell out the enum types to appease some bots.

2025-07-19 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2025-07-19T11:28:26Z New Revision: 193de1a566aa5a10a6f63f6f7c7fca2e52a7d75b URL: https://github.com/llvm/llvm-project/commit/193de1a566aa5a10a6f63f6f7c7fca2e52a7d75b DIFF: https://github.com/llvm/llvm-project/commit/193de1a566aa5a10a6f63f6f7c7fca2e52a7d75b.diff LO

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-19 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: Working on understanding the issues... https://github.com/llvm/llvm-project/pull/148701 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-18 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev closed https://github.com/llvm/llvm-project/pull/148701 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-18 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev updated https://github.com/llvm/llvm-project/pull/148701 >From 114e4ec4194afa865bd22f6d76b29200d231bef9 Mon Sep 17 00:00:00 2001 From: Vassil Vassilev Date: Sun, 16 Jul 2023 21:18:26 + Subject: [PATCH 01/10] [clang-repl] Lay the basic infrastructure for pretty

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-18 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,59 @@ +// RUN: clang-repl "int i = 10;" 'extern "C" int printf(const char*,...);' \ +// RUN:'auto r1 = printf("i = %d\n", i);' | FileCheck --check-prefix=CHECK-DRIVER %s +// UNSUPPORTED: system-aix +// CHECK-DRIVER: i = 10 +// RUN: cat %s | clang-repl -Xcc

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-18 Thread Vassil Vassilev via cfe-commits
@@ -3,9 +3,80 @@ // RUN: cat %s | clang-repl -Xcc -xc | FileCheck %s // RUN: cat %s | clang-repl -Xcc -std=c++11 | FileCheck %s -// Fails with `Symbols not found: [ __clang_Interpreter_SetValueNoAlloc ]`. // UNSUPPORTED: hwasan + +char c = 'a'; c +// CHECK: (char) 'a' + c

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-18 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev updated https://github.com/llvm/llvm-project/pull/148701 >From 114e4ec4194afa865bd22f6d76b29200d231bef9 Mon Sep 17 00:00:00 2001 From: Vassil Vassilev Date: Sun, 16 Jul 2023 21:18:26 + Subject: [PATCH 01/10] [clang-repl] Lay the basic infrastructure for pretty

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-18 Thread Vassil Vassilev via cfe-commits
@@ -300,16 +640,17 @@ llvm::Expected Interpreter::ExtractValueFromExpr(Expr *E) { using namespace clang; // Temporary rvalue struct that need special care. -REPL_EXTERNAL_VISIBILITY void * +REPL_EXTERNAL_VISIBILITY extern "C" void * vgvassilev wrote: I resol

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-18 Thread Vassil Vassilev via cfe-commits
@@ -3,9 +3,80 @@ // RUN: cat %s | clang-repl -Xcc -xc | FileCheck %s // RUN: cat %s | clang-repl -Xcc -std=c++11 | FileCheck %s -// Fails with `Symbols not found: [ __clang_Interpreter_SetValueNoAlloc ]`. // UNSUPPORTED: hwasan + +char c = 'a'; c +// CHECK: (char) 'a' + c

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-18 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,59 @@ +// RUN: clang-repl "int i = 10;" 'extern "C" int printf(const char*,...);' \ +// RUN:'auto r1 = printf("i = %d\n", i);' | FileCheck --check-prefix=CHECK-DRIVER %s +// UNSUPPORTED: system-aix +// CHECK-DRIVER: i = 10 +// RUN: cat %s | clang-repl -Xcc

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-18 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev updated https://github.com/llvm/llvm-project/pull/148701 >From 114e4ec4194afa865bd22f6d76b29200d231bef9 Mon Sep 17 00:00:00 2001 From: Vassil Vassilev Date: Sun, 16 Jul 2023 21:18:26 + Subject: [PATCH 1/9] [clang-repl] Lay the basic infrastructure for pretty p

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-18 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev updated https://github.com/llvm/llvm-project/pull/148701 >From 114e4ec4194afa865bd22f6d76b29200d231bef9 Mon Sep 17 00:00:00 2001 From: Vassil Vassilev Date: Sun, 16 Jul 2023 21:18:26 + Subject: [PATCH 1/8] [clang-repl] Lay the basic infrastructure for pretty p

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-17 Thread Vassil Vassilev via cfe-commits
@@ -300,16 +640,17 @@ llvm::Expected Interpreter::ExtractValueFromExpr(Expr *E) { using namespace clang; // Temporary rvalue struct that need special care. -REPL_EXTERNAL_VISIBILITY void * +REPL_EXTERNAL_VISIBILITY extern "C" void * vgvassilev wrote: Exactly

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-16 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev updated https://github.com/llvm/llvm-project/pull/148701 >From 114e4ec4194afa865bd22f6d76b29200d231bef9 Mon Sep 17 00:00:00 2001 From: Vassil Vassilev Date: Sun, 16 Jul 2023 21:18:26 + Subject: [PATCH 1/7] [clang-repl] Lay the basic infrastructure for pretty p

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-16 Thread Vassil Vassilev via cfe-commits
@@ -300,16 +640,17 @@ llvm::Expected Interpreter::ExtractValueFromExpr(Expr *E) { using namespace clang; // Temporary rvalue struct that need special care. -REPL_EXTERNAL_VISIBILITY void * +REPL_EXTERNAL_VISIBILITY extern "C" void * vgvassilev wrote: @AaronB

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-16 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,59 @@ +// RUN: clang-repl "int i = 10;" 'extern "C" int printf(const char*,...);' \ +// RUN:'auto r1 = printf("i = %d\n", i);' | FileCheck --check-prefix=CHECK-DRIVER %s +// UNSUPPORTED: system-aix +// CHECK-DRIVER: i = 10 +// RUN: cat %s | clang-repl -Xcc

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-16 Thread Vassil Vassilev via cfe-commits
@@ -3,9 +3,80 @@ // RUN: cat %s | clang-repl -Xcc -xc | FileCheck %s // RUN: cat %s | clang-repl -Xcc -std=c++11 | FileCheck %s -// Fails with `Symbols not found: [ __clang_Interpreter_SetValueNoAlloc ]`. // UNSUPPORTED: hwasan + +char c = 'a'; c +// CHECK: (char) 'a' + c

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-14 Thread Vassil Vassilev via cfe-commits
@@ -250,17 +254,35 @@ const ASTContext &Value::getASTContext() const { return getInterpreter().getASTContext(); } -void Value::dump() const { print(llvm::outs()); } +void Value::dump() { print(llvm::outs()); } void Value::printType(llvm::raw_ostream &Out) const { - Out <

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-14 Thread Vassil Vassilev via cfe-commits
@@ -416,6 +416,8 @@ Interpreter::Interpreter(std::unique_ptr Instance, return; } } + + ValuePrintingInfo.resize(4); vgvassilev wrote: It was a `std::vector` of a predefined elements. I removed this by switching to a `std::array`. Good catch!

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-14 Thread Vassil Vassilev via cfe-commits
@@ -18,18 +18,341 @@ #include "clang/Frontend/CompilerInstance.h" #include "clang/Interpreter/Interpreter.h" #include "clang/Interpreter/Value.h" +#include "clang/Lex/Preprocessor.h" #include "clang/Sema/Lookup.h" #include "clang/Sema/Sema.h" #include "llvm/Support/Error.h

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-14 Thread Vassil Vassilev via cfe-commits
@@ -119,9 +119,9 @@ class REPL_EXTERNAL_VISIBILITY Value { ~Value(); void printType(llvm::raw_ostream &Out) const; - void printData(llvm::raw_ostream &Out) const; - void print(llvm::raw_ostream &Out) const; - void dump() const; + void printData(llvm::raw_ostream &Out);

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-14 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev updated https://github.com/llvm/llvm-project/pull/148701 >From 114e4ec4194afa865bd22f6d76b29200d231bef9 Mon Sep 17 00:00:00 2001 From: Vassil Vassilev Date: Sun, 16 Jul 2023 21:18:26 + Subject: [PATCH 1/3] [clang-repl] Lay the basic infrastructure for pretty p

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-14 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev updated https://github.com/llvm/llvm-project/pull/148701 >From 114e4ec4194afa865bd22f6d76b29200d231bef9 Mon Sep 17 00:00:00 2001 From: Vassil Vassilev Date: Sun, 16 Jul 2023 21:18:26 + Subject: [PATCH 1/2] [clang-repl] Lay the basic infrastructure for pretty p

[clang] [clang-repl] Lay the basic infrastructure for pretty printing of types (PR #148701)

2025-07-14 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev created https://github.com/llvm/llvm-project/pull/148701 The idea is to store a type-value pair in clang::Value which is updated by the interpreter runtime. The class copies builtin types and boxes non-builtin types to provide some lifetime control. The patch ena

[clang] [llvm] [Clang-Repl] Add custom function as lambda in launchExecutor and fetch PID of launched executor (PR #147478)

2025-07-11 Thread Vassil Vassilev via cfe-commits
@@ -91,7 +95,8 @@ createSharedMemoryManager(SimpleRemoteEPC &SREPC, Expected> launchExecutor(StringRef ExecutablePath, bool UseSharedMemory, - llvm::StringRef SlabAllocateSizeString) { + llvm::StringRef SlabAllocateSizeString, + std::f

[clang] [llvm] [Clang-Repl] Add custom function as lambda in launchExecutor and fetch PID of launched executor (PR #147478)

2025-07-09 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: We will probably need a test in clang/unittest/Interpreter https://github.com/llvm/llvm-project/pull/147478 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [Clang-Repl] Add custom function as lambda in launchExecutor and fetch PID of launched executor (PR #147478)

2025-07-09 Thread Vassil Vassilev via cfe-commits
@@ -23,10 +23,19 @@ #include #include #include +#ifdef LLVM_ON_UNIX +#include +#else +// Windows/MSVC fallback +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 +#endif vgvassilev wrote: Do we need all of these now? https://github.

[clang] [Serialization] Fix lazy template loading (PR #133057)

2025-07-04 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > I don't think we should merge a partial state of this PR for two reasons: 1. > The three patches alone don't actually bring much benefit. When I measured in > ROOT, we definitely needed the (currently) problematic one for lazy template > loading to become really effective.

[clang] [Serialization] Fix lazy template loading (PR #133057)

2025-07-03 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > > I'm not so sure it's about conversion function templates in particular: if > > it's really commit > > [658d55b](https://github.com/llvm/llvm-project/commit/658d55ba1117a029f37f51a3072585a1fd9fc59f) > > causing the problem (@emaxx-google if you happen to have some time, it

[clang] [llvm] Add __attribute__((visibility("default"))) attribute to certain symbols to stop them being hidden when linking clangInterpreter library to other libraries during Emscripten build (PR #1

2025-07-03 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: Can’t we solve this with a linker script provided externally when building llvm? https://github.com/llvm/llvm-project/pull/146786 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/

[clang] [clang] Handle consteval constructors with default initialization. (PR #144970)

2025-06-29 Thread Vassil Vassilev via cfe-commits
@@ -14458,6 +14461,9 @@ void Sema::ActOnUninitializedDecl(Decl *RealDecl) { } CheckCompleteVariableDeclaration(Var); + +if (getLangOpts().CPlusPlus) + ActOnCXXExitDeclInitializer(nullptr, Var); vgvassilev wrote: ```suggestion ActOnCXXEx

[clang] [clang] Handle consteval constructors with default initialization. (PR #144970)

2025-06-29 Thread Vassil Vassilev via cfe-commits
@@ -14423,6 +14423,9 @@ void Sema::ActOnUninitializedDecl(Decl *RealDecl) { Var->getType().getAddressSpace() == LangAS::hlsl_input) return; +if (getLangOpts().CPlusPlus) + ActOnCXXEnterDeclInitializer(nullptr, Var); vgvassilev wrote: ``

[clang] [clang] Handle consteval constructors with default initialization. (PR #144970)

2025-06-29 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev commented: LGTM! https://github.com/llvm/llvm-project/pull/144970 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Handle consteval constructors with default initialization. (PR #144970)

2025-06-29 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev edited https://github.com/llvm/llvm-project/pull/144970 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [REAPPLY][Clang-Repl] Add support for out-of-process execution. #110418 (PR #144064)

2025-06-27 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev closed https://github.com/llvm/llvm-project/pull/144064 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [REAPPLY][Clang-Repl] Add support for out-of-process execution. #110418 (PR #144064)

2025-06-27 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev updated https://github.com/llvm/llvm-project/pull/144064 >From 05943c9542cd89ae672ddc0f14514e0c7b1e0bd7 Mon Sep 17 00:00:00 2001 From: SahilPatidar Date: Tue, 3 Dec 2024 15:07:56 +0530 Subject: [PATCH 1/6] Re-Land: [Clang-Repl] Add support for out-of-process execu

[clang] [REAPPLY][Clang-Repl] Add support for out-of-process execution. #110418 (PR #144064)

2025-06-25 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev approved this pull request. Modulo that one comment that's left -- LGTM! https://github.com/llvm/llvm-project/pull/144064 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listi

[clang] [flang] [llvm] [llvm] annotate remaining LLVM interfaces for DLL export (PR #144746)

2025-06-18 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev approved this pull request. LGTM! https://github.com/llvm/llvm-project/pull/144746 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [REAPPLY][Clang-Repl] Add support for out-of-process execution. #110418 (PR #144064)

2025-06-18 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,267 @@ +//===-- RemoteJITUtils.cpp - Utilities for remote-JITing *- 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] [REAPPLY][Clang-Repl] Add support for out-of-process execution. #110418 (PR #144064)

2025-06-18 Thread Vassil Vassilev via cfe-commits
@@ -756,11 +777,11 @@ llvm::Error Interpreter::LoadDynamicLibrary(const char *name) { if (!EE) return EE.takeError(); - auto &DL = EE->getDataLayout(); - - if (auto DLSG = llvm::orc::DynamicLibrarySearchGenerator::Load( - name, DL.getGlobalPrefix())) -EE-

[clang] [REAPPLY][Clang-Repl] Add support for out-of-process execution. #110418 (PR #144064)

2025-06-18 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,267 @@ +//===-- RemoteJITUtils.cpp - Utilities for remote-JITing *- 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] [REAPPLY][Clang-Repl] Add support for out-of-process execution. #110418 (PR #144064)

2025-06-14 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: Looks a reasonable way forward. Is there a reason to be a draft? https://github.com/llvm/llvm-project/pull/144064 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] Teach clang-repl how to load PCHs. (PR #94166)

2025-06-11 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev updated https://github.com/llvm/llvm-project/pull/94166 >From 306ef834c83e358f3463a73dddacd1346864699e Mon Sep 17 00:00:00 2001 From: Vassil Vassilev Date: Thu, 30 May 2024 05:05:41 + Subject: [PATCH 1/2] [clang-repl] Teach clang-repl how to load PCHs. --- cl

[clang] Revert "[clang-repl] Ensure clang-repl accepts all C keywords supported in all language models (#142749) (PR #142933)

2025-06-05 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev closed https://github.com/llvm/llvm-project/pull/142933 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] Fix error recovery while PTU cleanup (PR #127467)

2025-06-02 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev approved this pull request. LGTM! Thank you. https://github.com/llvm/llvm-project/pull/127467 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] Disable EmulatedTLS on Windows for interpreter executor (PR #127468)

2025-05-07 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > The JIT does not support native TLS on Windows yet. I thought @sunho has implemented the native tls support in jitlink. Is that different? https://github.com/llvm/llvm-project/pull/127468 ___ cfe-commits mailing list cfe-commits@l

[clang] [clang-repl] Fix destructor for interpreter for the cuda negation case (PR #138091)

2025-05-05 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: Generally we should wait a day or two for the bots to go through these changes... https://github.com/llvm/llvm-project/pull/138091 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinf

[clang] [clang-repl] Fix destructor for interpreter for the cuda negation case (PR #138091)

2025-05-05 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev milestoned https://github.com/llvm/llvm-project/pull/138091 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] Fix destructor for interpreter for the cuda negation case (PR #138091)

2025-05-05 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev closed https://github.com/llvm/llvm-project/pull/138091 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] Fix destructor for interpreter for the cuda negation case (PR #138091)

2025-05-05 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev approved this pull request. LGTM! https://github.com/llvm/llvm-project/pull/138091 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add test for QualTypes in template class NNS (PR #137804)

2025-04-29 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev approved this pull request. LGTM! https://github.com/llvm/llvm-project/pull/137804 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] Implement LoadDynamicLibrary for clang-repl wasm use cases (PR #133037)

2025-04-28 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev milestoned https://github.com/llvm/llvm-project/pull/133037 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] : Fix clang-repl crash with --cuda flag (PR #136404)

2025-04-28 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev milestoned https://github.com/llvm/llvm-project/pull/136404 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] : Fix clang-repl crash with --cuda flag (PR #136404)

2025-04-25 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev closed https://github.com/llvm/llvm-project/pull/136404 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] : Fix clang-repl crash with --cuda flag (PR #136404)

2025-04-24 Thread Vassil Vassilev via cfe-commits
@@ -760,8 +787,10 @@ std::unique_ptr Interpreter::GenModule() { return nullptr; } -CodeGenerator *Interpreter::getCodeGen() const { - FrontendAction *WrappedAct = Act->getWrapped(); +CodeGenerator *Interpreter::getCodeGen(IncrementalAction *Action) const { + if (!Action) +

[clang] [clang-repl] : Fix clang-repl crash with --cuda flag (PR #136404)

2025-04-24 Thread Vassil Vassilev via cfe-commits
@@ -50,25 +50,6 @@ IncrementalCUDADeviceParser::Parse(llvm::StringRef Input) { if (!PTU) return PTU.takeError(); - auto PTX = GeneratePTX(); vgvassilev wrote: If this code moved, can't we rely on the base class implementation of `Parse` here? https:/

[clang] [clang-repl] : Fix clang-repl crash with --cuda flag (PR #136404)

2025-04-24 Thread Vassil Vassilev via cfe-commits
@@ -760,8 +787,10 @@ std::unique_ptr Interpreter::GenModule() { return nullptr; } -CodeGenerator *Interpreter::getCodeGen() const { - FrontendAction *WrappedAct = Act->getWrapped(); +CodeGenerator *Interpreter::getCodeGen(IncrementalAction *Action) const { + if (!Action) +

[clang] [clang-repl] : Fix clang-repl crash with --cuda flag (PR #136404)

2025-04-24 Thread Vassil Vassilev via cfe-commits
@@ -28,20 +28,21 @@ IncrementalCUDADeviceParser::IncrementalCUDADeviceParser( std::unique_ptr DeviceInstance, CompilerInstance &HostInstance, llvm::IntrusiveRefCntPtr FS, -llvm::Error &Err, const std::list &PTUs) +llvm::Error &Err, std::list &PTUs) : In

[clang] [clang-repl] : Fix clang-repl crash with --cuda flag (PR #136404)

2025-04-24 Thread Vassil Vassilev via cfe-commits
@@ -172,6 +154,19 @@ llvm::Error IncrementalCUDADeviceParser::GenerateFatbinary() { FatbinContent.append(PTXCode.begin(), PTXCode.end()); + auto &PTU = PTUs.back(); vgvassilev wrote: ```suggestion const PartialTranslationUnit &PTU = PTUs.back(); ``` h

[clang] [clang-repl] : Fix clang-repl crash with --cuda flag (PR #136404)

2025-04-24 Thread Vassil Vassilev via cfe-commits
@@ -28,20 +28,21 @@ IncrementalCUDADeviceParser::IncrementalCUDADeviceParser( std::unique_ptr DeviceInstance, CompilerInstance &HostInstance, llvm::IntrusiveRefCntPtr FS, -llvm::Error &Err, const std::list &PTUs) vgvassilev wrote: Why removing

[clang] [llvm] Prefer std::getenv to ::getenv (PR #108529)

2025-04-24 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev closed https://github.com/llvm/llvm-project/pull/108529 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Prefer std::getenv to ::getenv (PR #108529)

2025-04-24 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: Yes. Good point. https://github.com/llvm/llvm-project/pull/108529 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] : Fix clang-repl crash with --cuda flag (PR #136404)

2025-04-19 Thread Vassil Vassilev via cfe-commits
@@ -451,13 +451,44 @@ const char *const Runtimes = R"( )"; llvm::Expected> -Interpreter::create(std::unique_ptr CI) { +Interpreter::create(std::unique_ptr CI, +std::unique_ptr DeviceCI) { llvm::Error Err = llvm::Error::success(); auto Interp =

[clang] [clang-repl] : Fix clang-repl crash with --cuda flag (PR #136404)

2025-04-19 Thread Vassil Vassilev via cfe-commits
@@ -451,13 +451,44 @@ const char *const Runtimes = R"( )"; llvm::Expected> -Interpreter::create(std::unique_ptr CI) { +Interpreter::create(std::unique_ptr CI, +std::unique_ptr DeviceCI) { llvm::Error Err = llvm::Error::success(); auto Interp =

[clang] [clang-repl] : Fix clang-repl crash with --cuda flag (PR #136404)

2025-04-19 Thread Vassil Vassilev via cfe-commits
@@ -451,13 +451,44 @@ const char *const Runtimes = R"( )"; llvm::Expected> -Interpreter::create(std::unique_ptr CI) { +Interpreter::create(std::unique_ptr CI, +std::unique_ptr DeviceCI) { llvm::Error Err = llvm::Error::success(); auto Interp =

[clang] [clang-repl] : Fix clang-repl crash with --cuda flag (PR #136404)

2025-04-18 Thread Vassil Vassilev via cfe-commits
@@ -451,13 +451,44 @@ const char *const Runtimes = R"( )"; llvm::Expected> -Interpreter::create(std::unique_ptr CI) { +Interpreter::create(std::unique_ptr CI, +std::unique_ptr DeviceCI) { llvm::Error Err = llvm::Error::success(); auto Interp =

[clang] [clang-repl] : Fix clang-repl crash with --cuda flag (PR #136404)

2025-04-18 Thread Vassil Vassilev via cfe-commits
@@ -451,13 +451,44 @@ const char *const Runtimes = R"( )"; llvm::Expected> -Interpreter::create(std::unique_ptr CI) { +Interpreter::create(std::unique_ptr CI, +std::unique_ptr DeviceCI) { llvm::Error Err = llvm::Error::success(); auto Interp =

[clang] [Modules] Fix an identifier hiding a function-like macro definition. (PR #135471)

2025-04-14 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev commented: The patch looks reasonable to me, however, I'd wait for somebody with more experience in the macro logic in modules. https://github.com/llvm/llvm-project/pull/135471 ___ cfe-commits mailing list cfe-commits@lis

[clang] [Modules] Fix an identifier hiding a function-like macro definition. (PR #135471)

2025-04-11 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: Thanks! Does the pr fix https://bugs.llvm.org//show_bug.cgi?id=32670 https://github.com/llvm/llvm-project/pull/135471 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Serialization] Fix lazy template loading (PR #133057)

2025-04-11 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > > > Here's a new reproducer, this time verifying that a semi-fresh > > > tip-of-the-tree doesn't trigger the same error: > > > https://pastebin.com/7tYfjazz. Apologies for the delay. > > > > > > Thanks. I gave it a try, but I don't see any `use of overloaded operator > >

[clang] [Serialization] Fix lazy template loading (PR #133057)

2025-04-11 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > > Here's a new reproducer, this time verifying that a semi-fresh > > tip-of-the-tree doesn't trigger the same error: > > https://pastebin.com/7tYfjazz. Apologies for the delay. > > Thanks. I gave it a try, but I don't see any `use of overloaded operator '=' > is ambiguous`

[clang] [clang-repl] Fix error recovery while PTU cleanup (PR #127467)

2025-04-04 Thread Vassil Vassilev via cfe-commits
@@ -14,4 +15,13 @@ auto r2 = l2(); auto r3 = l2(); // CHECK: TWO -%quit +// Verify non-local lambda capture error is correctly reported +int x = 42; + +// expected-error {{non-local lambda expression cannot have a capture-default}} +auto capture = [&]() { return x * 2; }; + --

[clang] [clang-repl] Implement LoadDynamicLibrary for clang-repl wasm use cases (PR #133037)

2025-04-01 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > > We really need to figure out how to add in-tree tests. > > Yupp sadly I was only able to test this through cppinterop and xeus-cpp as > I've commented above ([#133037 > (comment)](https://github.com/llvm/llvm-project/pull/133037#discussion_r2015819533)) > where it works

[clang] [llvm] Define LLVM_ABI and CLANG_ABI for __EMSCRIPTEN__ builds (PR #131578)

2025-03-31 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev milestoned https://github.com/llvm/llvm-project/pull/131578 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] Fix error recovery while PTU cleanup (PR #127467)

2025-03-31 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev approved this pull request. Lgtm! https://github.com/llvm/llvm-project/pull/127467 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] Implement LoadDynamicLibrary for clang-repl wasm use cases (PR #133037)

2025-03-31 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: We really need to figure out how to add in-tree tests. https://github.com/llvm/llvm-project/pull/133037 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Serialization] Fix lazy template loading (PR #133057)

2025-03-28 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > The small-scale benchmarks we had show 10% improvement in CPU and 23% > improvement in memory usage for some compilations! That's very good news. I think we can further reduce these times. IIRC, we still deserialize declarations that we do not need. One of the places to loo

[clang] [Serialization] Fix lazy template loading (PR #133057)

2025-03-28 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > > > While I may not able to look into them in detail recently, it may be > > > helpful to split this into seperate patches to review and to land. > > > > > > I initially considered this, but @vgvassilev said in > > [root-project/root#17722 > > (comment)](https://github.co

[clang] [Serialization] Fix lazy template loading (PR #133057)

2025-03-28 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > > > > > While I may not able to look into them in detail recently, it may be > > > > > helpful to split this into seperate patches to review and to land. > > > > > > > > > > > > I initially considered this, but @vgvassilev said in > > > > [root-project/root#17722 > > > >

[clang] [Serialization] Fix lazy template loading (PR #133057)

2025-03-26 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: @ilya-biryukov, would you mind giving this PR a test on your infrastructure and if it works maybe share some performance results? https://github.com/llvm/llvm-project/pull/133057 ___ cfe-commits mailing list cfe-commits@lists.llvm.or

[clang] [clang-repl] Implement LoadDynamicLibrary for clang-repl wasm use cases (PR #133037)

2025-03-25 Thread Vassil Vassilev via cfe-commits
@@ -711,6 +712,14 @@ llvm::Error Interpreter::Undo(unsigned N) { } llvm::Error Interpreter::LoadDynamicLibrary(const char *name) { +#ifdef __EMSCRIPTEN__ + void *handle = dlopen(name, RTLD_NOW | RTLD_GLOBAL); + if (!handle) { +llvm::errs() << dlerror() << '\n'; +retu

[clang] [clang-repl] Fix error recovery while PTU cleanup (PR #127467)

2025-03-12 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev approved this pull request. LGTM! https://github.com/llvm/llvm-project/pull/127467 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] Fix target creation in Wasm.cpp (PR #130909)

2025-03-12 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev approved this pull request. LGTM! https://github.com/llvm/llvm-project/pull/130909 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] Fix error recovery while PTU cleanup (PR #127467)

2025-03-11 Thread Vassil Vassilev via cfe-commits
@@ -1,7 +1,8 @@ // REQUIRES: host-supports-jit // UNSUPPORTED: system-aix // RUN: cat %s | clang-repl | FileCheck %s -// RUN: cat %s | clang-repl -Xcc -O2 | FileCheck %s +// RUN: cat %s | not clang-repl -Xcc -Xclang -Xcc -verify -Xcc -O2 | FileCheck %s vgvassi

[clang] [clang] Fix ASTWriter crash after merging named enums (PR #114240)

2025-03-07 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: Please rebase this PR. https://github.com/llvm/llvm-project/pull/114240 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Fix ASTWriter crash after merging named enums (PR #114240)

2025-03-07 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev approved this pull request. LGTM! https://github.com/llvm/llvm-project/pull/114240 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] Disable EmulatedTLS on Windows for interpreter executor (PR #127468)

2025-03-06 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: Our local windows expert is @bellenot. Maybe he can help us out here. https://github.com/llvm/llvm-project/pull/127468 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Add `pragma clang scope [push|pop]` (PR #121025)

2025-03-01 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: I wonder if we had an rfc for this. Maybe we should solicit some feedback before moving forward with this extension. https://github.com/llvm/llvm-project/pull/121025 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lis

[clang] [modules] Add missing test file for b21ee08e57173102b67bc18237b135550 (PR #129221)

2025-02-28 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev approved this pull request. LGTM! https://github.com/llvm/llvm-project/pull/129221 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] Fix error recovery while PTU cleanup (PR #127467)

2025-02-26 Thread Vassil Vassilev via cfe-commits
@@ -114,6 +114,13 @@ TEST_F(InterpreterTest, Errors) { RecoverErr = Interp->Parse("var1 = 424;"); EXPECT_TRUE(!!RecoverErr); + + Err = Interp->Parse("int x = 5; auto capture = [&]() { return x * 2; };").takeError(); vgvassilev wrote: There is no such a

[clang] [clang-repl] Fix error recovery while PTU cleanup (PR #127467)

2025-02-26 Thread Vassil Vassilev via cfe-commits
@@ -114,6 +114,13 @@ TEST_F(InterpreterTest, Errors) { RecoverErr = Interp->Parse("var1 = 424;"); EXPECT_TRUE(!!RecoverErr); + + Err = Interp->Parse("int x = 5; auto capture = [&]() { return x * 2; };").takeError(); vgvassilev wrote: Can we move this te

[clang] [clang-repl] Fix error recovery while PTU cleanup (PR #127467)

2025-02-26 Thread Vassil Vassilev via cfe-commits
@@ -178,8 +178,8 @@ void IncrementalParser::CleanUpPTU(TranslationUnitDecl *MostRecentTU) { if (!ND) continue; // Check if we need to clean up the IdResolver chain. -if (ND->getDeclName().getFETokenInfo() && !D->getLangOpts().ObjC && -!D->getLangOpts(

[clang] [clang] Fix ASTWriter crash after merging named enums (PR #114240)

2025-02-24 Thread Vassil Vassilev via cfe-commits
@@ -2551,18 +2551,7 @@ void Sema::MergeTypedefNameDecl(Scope *S, TypedefNameDecl *New, // Make the old tag definition visible. makeMergedDefinitionVisible(Hidden); - // If this was an unscoped enumeration, yank all of its enumerators - // out of the scop

  1   2   3   4   5   6   7   8   9   10   >