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

LLVM Continuous Integration via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 12 03:33:18 PST 2024


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `premerge-monolithic-windows` running on `premerge-windows-1` while building `clang` at step 5 "clean-build-dir".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/35/builds/3580

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 5 (clean-build-dir) failure: Delete failed. (failure)
Step 8 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED ********************
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 3
cat C:\ws\buildbot\premerge-monolithic-windows\llvm-project\clang\test\Interpreter\out-of-process.cpp | c:\ws\buildbot\premerge-monolithic-windows\build\bin\clang-repl.exe -oop-executor -orc-runtime | c:\ws\buildbot\premerge-monolithic-windows\build\bin\filecheck.exe C:\ws\buildbot\premerge-monolithic-windows\llvm-project\clang\test\Interpreter\out-of-process.cpp
# executed command: cat 'C:\ws\buildbot\premerge-monolithic-windows\llvm-project\clang\test\Interpreter\out-of-process.cpp'
# .---command stdout------------
# | // REQUIRES: host-supports-jit
# | 
# | // RUN: cat %s | clang-repl -oop-executor -orc-runtime | FileCheck %s
# | 
# | extern "C" int printf(const char *, ...);
# | 
# | int intVar = 0;
# | double doubleVar = 3.14;
# | %undo
# | double doubleVar = 2.71;
# | 
# | auto r1 = printf("intVar = %d\n", intVar);
# | // CHECK: intVar = 0
# | auto r2 = printf("doubleVar = %.2f\n", doubleVar);
# | // CHECK: doubleVar = 2.71
# | 
# | // Test redefinition with inline and static functions.
# | int add(int a, int b, int c) { return a + b + c; }
# | %undo  // Revert to the initial version of add
# | inline int add(int a, int b) { return a + b; }
# | 
# | auto r3 = printf("add(1, 2) = %d\n", add(1, 2));
# | // CHECK-NEXT: add(1, 2) = 3
# | 
# | // Test inline and lambda functions with variations.
# | inline int square(int x) { return x * x; }
# | auto lambdaSquare = [](int x) { return x * x; };
# | auto lambdaMult = [](int a, int b) { return a * b; };
# | 
# | auto r4 = printf("square(4) = %d\n", square(4));
# | // CHECK-NEXT: square(4) = 16
# | auto lambda_r1 = printf("lambdaSquare(5) = %d\n", lambdaSquare(5));
# | // CHECK-NEXT: lambdaSquare(5) = 25
# | auto lambda_r2 = printf("lambdaMult(2, 3) = %d\n", lambdaMult(2, 3));
# | // CHECK-NEXT: lambdaMult(2, 3) = 6
# | 
# | %undo  // Undo previous lambda assignments
# | auto lambda_r3 = lambdaMult(3, 4);  // Should fail or revert to the original lambda
# | 
# | // Test weak and strong symbol linkage.
# | int __attribute__((weak)) weakFunc() { return 42; }
...

```

</details>

https://github.com/llvm/llvm-project/pull/110418


More information about the cfe-commits mailing list