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
@@ -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
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
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
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
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
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
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
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
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
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
@@ -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
@@ -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
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
@@ -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
@@ -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
@@ -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
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
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
@@ -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
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
@@ -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
@@ -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
@@ -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
@@ -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 <
@@ -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!
@@ -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
@@ -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);
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
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
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
@@ -91,7 +95,8 @@ createSharedMemoryManager(SimpleRemoteEPC &SREPC,
Expected>
launchExecutor(StringRef ExecutablePath, bool UseSharedMemory,
- llvm::StringRef SlabAllocateSizeString) {
+ llvm::StringRef SlabAllocateSizeString,
+ std::f
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
@@ -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.
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.
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
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/
@@ -14458,6 +14461,9 @@ void Sema::ActOnUninitializedDecl(Decl *RealDecl) {
}
CheckCompleteVariableDeclaration(Var);
+
+if (getLangOpts().CPlusPlus)
+ ActOnCXXExitDeclInitializer(nullptr, Var);
vgvassilev wrote:
```suggestion
ActOnCXXEx
@@ -14423,6 +14423,9 @@ void Sema::ActOnUninitializedDecl(Decl *RealDecl) {
Var->getType().getAddressSpace() == LangAS::hlsl_input)
return;
+if (getLangOpts().CPlusPlus)
+ ActOnCXXEnterDeclInitializer(nullptr, Var);
vgvassilev wrote:
``
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
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
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
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
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
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
@@ -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
@@ -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-
@@ -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
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
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
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
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
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
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
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
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
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
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
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
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
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
@@ -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)
+
@@ -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:/
@@ -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)
+
@@ -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
@@ -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
@@ -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
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
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
@@ -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 =
@@ -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 =
@@ -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 =
@@ -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 =
@@ -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 =
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
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
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
> >
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`
@@ -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; };
+
--
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
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
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
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
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
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
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
> > > >
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
@@ -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
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
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
@@ -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
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
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
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
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
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
@@ -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
@@ -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
@@ -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(
@@ -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 - 100 of 1005 matches
Mail list logo