From f2b278928af2c7e5c5e3c8b972983fc51e7c4b3f Mon Sep 17 00:00:00 2001 From: mcbarton Date: Sat, 18 Jan 2025 20:30:27 +0000 Subject: [PATCH 01/16] Add Ubuntu 24.04 arm runners to ci --- .github/workflows/Ubuntu.yml | 63 ++++++++++++++++++++++++++++++++ .github/workflows/emscripten.yml | 8 ++++ lib/Interpreter/CppInterOp.cpp | 14 +++++++ 3 files changed, 85 insertions(+) diff --git a/.github/workflows/Ubuntu.yml b/.github/workflows/Ubuntu.yml index ce852593f..f5088b6c0 100644 --- a/.github/workflows/Ubuntu.yml +++ b/.github/workflows/Ubuntu.yml @@ -94,6 +94,42 @@ jobs: cling-version: '1.0' llvm_enable_projects: "clang" llvm_targets_to_build: "host;NVPTX" + - name: ubu24-arm-gcc12-clang-repl-19 + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '19' + cling: Off + llvm_enable_projects: "clang" + llvm_targets_to_build: "host;NVPTX" + - name: ubu24-arm-gcc12-clang-repl-18 + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '18' + cling: Off + llvm_enable_projects: "clang" + llvm_targets_to_build: "host;NVPTX" + - name: ubu24-arm-gcc12-clang-repl-17 + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '17' + cling: Off + llvm_enable_projects: "clang" + llvm_targets_to_build: "host;NVPTX" + - name: ubu24-arm-gcc12-clang-repl-16 + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '16' + cling: Off + llvm_enable_projects: "clang" + llvm_targets_to_build: "host;NVPTX" + - name: ubu24-arm-gcc9-clang13-cling + os: ubuntu-24.04-arm + compiler: gcc-9 + clang-runtime: '13' + cling: On + cling-version: '1.0' + llvm_enable_projects: "clang" + llvm_targets_to_build: "host;NVPTX" steps: - uses: actions/checkout@v4 @@ -337,6 +373,33 @@ jobs: clang-runtime: '13' cling: On cling-version: '1.0' + - name: ubu24-arm-gcc12-clang-repl-19 + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '19' + cling: Off + - name: ubu24-arm-gcc12-clang-repl-18 + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '18' + cling: Off + - name: ubu24-arm-gcc12-clang-repl-17 + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '17' + cling: Off + - name: ubu24-arm-gcc12-clang-repl-16 + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '16' + cling: Off + cppyy: Off + - name: ubu24-arm-gcc9-clang13-cling + os: ubuntu-24.04-arm + compiler: gcc-9 + clang-runtime: '13' + cling: On + cling-version: '1.0' steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index 1fcdd6090..dceefc0c3 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -37,6 +37,14 @@ jobs: llvm_enable_projects: "clang;lld" llvm_targets_to_build: "WebAssembly" emsdk_ver: "3.1.45" + - name: ubu24-arm-gcc12-clang-repl-19-emscripten + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '19' + cling: Off + llvm_enable_projects: "clang;lld" + llvm_targets_to_build: "WebAssembly" + emsdk_ver: "3.1.45" - name: osx15-arm-clang-clang-repl-19-emscripten os: macos-15 compiler: clang diff --git a/lib/Interpreter/CppInterOp.cpp b/lib/Interpreter/CppInterOp.cpp index 34908d88a..661265c52 100644 --- a/lib/Interpreter/CppInterOp.cpp +++ b/lib/Interpreter/CppInterOp.cpp @@ -2828,7 +2828,14 @@ namespace Cpp { #define DEBUG_TYPE "exec" std::array buffer; +#if defined(__GNUC__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wignored-attributes" +#endif std::unique_ptr pipe(popen(cmd, "r"), pclose); +#if defined(__GNUC__) +#pragma GCC diagnostic pop +#endif LLVM_DEBUG(dbgs() << "Executing command '" << cmd << "'\n"); if (!pipe) { @@ -3437,7 +3444,14 @@ namespace Cpp { } class StreamCaptureInfo { +#if defined(__GNUC__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wignored-attributes" +#endif std::unique_ptr m_TempFile; +#if defined(__GNUC__) +#pragma GCC diagnostic pop +#endif int m_FD = -1; int m_DupFD = -1; From ae3268b6167d97442af1bc4de9c47d4bac9e7f32 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Tue, 21 Jan 2025 17:11:29 +0000 Subject: [PATCH 02/16] Test solution --- lib/Interpreter/CppInterOp.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/Interpreter/CppInterOp.cpp b/lib/Interpreter/CppInterOp.cpp index 661265c52..87f64146e 100644 --- a/lib/Interpreter/CppInterOp.cpp +++ b/lib/Interpreter/CppInterOp.cpp @@ -2828,14 +2828,14 @@ namespace Cpp { #define DEBUG_TYPE "exec" std::array buffer; -#if defined(__GNUC__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wignored-attributes" -#endif - std::unique_ptr pipe(popen(cmd, "r"), pclose); -#if defined(__GNUC__) -#pragma GCC diagnostic pop -#endif +struct file_deleter +{ + void operator()(std::FILE* fp) + { + pclose(fp); + } +}; + std::unique_ptr pipe(popen(cmd, "r"), pclose); LLVM_DEBUG(dbgs() << "Executing command '" << cmd << "'\n"); if (!pipe) { From 2db0e76285c854c897e975f86f55a6978b6569be Mon Sep 17 00:00:00 2001 From: mcbarton Date: Tue, 21 Jan 2025 17:28:49 +0000 Subject: [PATCH 03/16] Try new solution --- lib/Interpreter/CppInterOp.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/Interpreter/CppInterOp.cpp b/lib/Interpreter/CppInterOp.cpp index 87f64146e..0e24af574 100644 --- a/lib/Interpreter/CppInterOp.cpp +++ b/lib/Interpreter/CppInterOp.cpp @@ -2828,14 +2828,15 @@ namespace Cpp { #define DEBUG_TYPE "exec" std::array buffer; -struct file_deleter -{ - void operator()(std::FILE* fp) - { - pclose(fp); - } -}; - std::unique_ptr pipe(popen(cmd, "r"), pclose); + struct file_deleter + { + void operator()(std::FILE* fp) + { + pclose(fp); + } + }; + using unique_file = std::unique_ptr; + unique_file pipe(popen(cmd, "r"), pclose); LLVM_DEBUG(dbgs() << "Executing command '" << cmd << "'\n"); if (!pipe) { From 33bad2aba444192489a4241c14399a05b1ececb3 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Tue, 21 Jan 2025 17:34:46 +0000 Subject: [PATCH 04/16] Update CppInterOp.cpp --- lib/Interpreter/CppInterOp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Interpreter/CppInterOp.cpp b/lib/Interpreter/CppInterOp.cpp index 0e24af574..d0e4994b2 100644 --- a/lib/Interpreter/CppInterOp.cpp +++ b/lib/Interpreter/CppInterOp.cpp @@ -2836,7 +2836,7 @@ namespace Cpp { } }; using unique_file = std::unique_ptr; - unique_file pipe(popen(cmd, "r"), pclose); + unique_file file{popen(cmd, "r")}; LLVM_DEBUG(dbgs() << "Executing command '" << cmd << "'\n"); if (!pipe) { From ac760a730039dbb20ef74624b1fc4462d5076c94 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Tue, 21 Jan 2025 18:00:13 +0000 Subject: [PATCH 05/16] Update CppInterOp.cpp --- lib/Interpreter/CppInterOp.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Interpreter/CppInterOp.cpp b/lib/Interpreter/CppInterOp.cpp index d0e4994b2..8931afb8f 100644 --- a/lib/Interpreter/CppInterOp.cpp +++ b/lib/Interpreter/CppInterOp.cpp @@ -2835,8 +2835,8 @@ namespace Cpp { pclose(fp); } }; - using unique_file = std::unique_ptr; - unique_file file{popen(cmd, "r")}; + using pipe = std::unique_ptr; + pipe file{popen(cmd, "r")}; LLVM_DEBUG(dbgs() << "Executing command '" << cmd << "'\n"); if (!pipe) { From 3242fea49d23ba0fdd4868ee337f9f269bb3b062 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Tue, 21 Jan 2025 18:34:19 +0000 Subject: [PATCH 06/16] Update CppInterOp.cpp --- lib/Interpreter/CppInterOp.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/Interpreter/CppInterOp.cpp b/lib/Interpreter/CppInterOp.cpp index 8931afb8f..31b2df124 100644 --- a/lib/Interpreter/CppInterOp.cpp +++ b/lib/Interpreter/CppInterOp.cpp @@ -2830,13 +2830,13 @@ namespace Cpp { std::array buffer; struct file_deleter { - void operator()(std::FILE* fp) + void operator()(FILE* fp) { pclose(fp); } }; - using pipe = std::unique_ptr; - pipe file{popen(cmd, "r")}; + using file_pointer = std::unique_ptr; + file_pointer pipe{popen(cmd, "r")}; LLVM_DEBUG(dbgs() << "Executing command '" << cmd << "'\n"); if (!pipe) { From 7bf2ab3cf4678ced5581163a0d1fc9fb43733f52 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Tue, 21 Jan 2025 18:43:03 +0000 Subject: [PATCH 07/16] Update CppInterOp.cpp --- lib/Interpreter/CppInterOp.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/Interpreter/CppInterOp.cpp b/lib/Interpreter/CppInterOp.cpp index 31b2df124..a3bde75d3 100644 --- a/lib/Interpreter/CppInterOp.cpp +++ b/lib/Interpreter/CppInterOp.cpp @@ -3445,14 +3445,15 @@ namespace Cpp { } class StreamCaptureInfo { -#if defined(__GNUC__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wignored-attributes" -#endif - std::unique_ptr m_TempFile; -#if defined(__GNUC__) -#pragma GCC diagnostic pop -#endif + struct file_deleter + { + void operator()(FILE* fp) + { + pclose(fp); + } + }; + using file_pointer = std::unique_ptr; + file_pointer m_TempFile; int m_FD = -1; int m_DupFD = -1; From fd7dd3c586807659f2f17f73bb965bd8bc8c7c61 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Sat, 18 Jan 2025 20:30:27 +0000 Subject: [PATCH 08/16] Add Ubuntu 24.04 arm runners to ci --- .github/workflows/Ubuntu.yml | 63 ++++++++++++++++++++++++++++++++ .github/workflows/emscripten.yml | 8 ++++ lib/Interpreter/CppInterOp.cpp | 20 +++++++++- 3 files changed, 89 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Ubuntu.yml b/.github/workflows/Ubuntu.yml index ce852593f..f5088b6c0 100644 --- a/.github/workflows/Ubuntu.yml +++ b/.github/workflows/Ubuntu.yml @@ -94,6 +94,42 @@ jobs: cling-version: '1.0' llvm_enable_projects: "clang" llvm_targets_to_build: "host;NVPTX" + - name: ubu24-arm-gcc12-clang-repl-19 + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '19' + cling: Off + llvm_enable_projects: "clang" + llvm_targets_to_build: "host;NVPTX" + - name: ubu24-arm-gcc12-clang-repl-18 + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '18' + cling: Off + llvm_enable_projects: "clang" + llvm_targets_to_build: "host;NVPTX" + - name: ubu24-arm-gcc12-clang-repl-17 + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '17' + cling: Off + llvm_enable_projects: "clang" + llvm_targets_to_build: "host;NVPTX" + - name: ubu24-arm-gcc12-clang-repl-16 + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '16' + cling: Off + llvm_enable_projects: "clang" + llvm_targets_to_build: "host;NVPTX" + - name: ubu24-arm-gcc9-clang13-cling + os: ubuntu-24.04-arm + compiler: gcc-9 + clang-runtime: '13' + cling: On + cling-version: '1.0' + llvm_enable_projects: "clang" + llvm_targets_to_build: "host;NVPTX" steps: - uses: actions/checkout@v4 @@ -337,6 +373,33 @@ jobs: clang-runtime: '13' cling: On cling-version: '1.0' + - name: ubu24-arm-gcc12-clang-repl-19 + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '19' + cling: Off + - name: ubu24-arm-gcc12-clang-repl-18 + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '18' + cling: Off + - name: ubu24-arm-gcc12-clang-repl-17 + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '17' + cling: Off + - name: ubu24-arm-gcc12-clang-repl-16 + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '16' + cling: Off + cppyy: Off + - name: ubu24-arm-gcc9-clang13-cling + os: ubuntu-24.04-arm + compiler: gcc-9 + clang-runtime: '13' + cling: On + cling-version: '1.0' steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index 1fcdd6090..dceefc0c3 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -37,6 +37,14 @@ jobs: llvm_enable_projects: "clang;lld" llvm_targets_to_build: "WebAssembly" emsdk_ver: "3.1.45" + - name: ubu24-arm-gcc12-clang-repl-19-emscripten + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '19' + cling: Off + llvm_enable_projects: "clang;lld" + llvm_targets_to_build: "WebAssembly" + emsdk_ver: "3.1.45" - name: osx15-arm-clang-clang-repl-19-emscripten os: macos-15 compiler: clang diff --git a/lib/Interpreter/CppInterOp.cpp b/lib/Interpreter/CppInterOp.cpp index 34908d88a..a3bde75d3 100644 --- a/lib/Interpreter/CppInterOp.cpp +++ b/lib/Interpreter/CppInterOp.cpp @@ -2828,7 +2828,15 @@ namespace Cpp { #define DEBUG_TYPE "exec" std::array buffer; - std::unique_ptr pipe(popen(cmd, "r"), pclose); + struct file_deleter + { + void operator()(FILE* fp) + { + pclose(fp); + } + }; + using file_pointer = std::unique_ptr; + file_pointer pipe{popen(cmd, "r")}; LLVM_DEBUG(dbgs() << "Executing command '" << cmd << "'\n"); if (!pipe) { @@ -3437,7 +3445,15 @@ namespace Cpp { } class StreamCaptureInfo { - std::unique_ptr m_TempFile; + struct file_deleter + { + void operator()(FILE* fp) + { + pclose(fp); + } + }; + using file_pointer = std::unique_ptr; + file_pointer m_TempFile; int m_FD = -1; int m_DupFD = -1; From 030f2c7b1f53cbad3eadfe42b2102eb31eba425e Mon Sep 17 00:00:00 2001 From: mcbarton <150042563+mcbarton@users.noreply.github.com> Date: Tue, 21 Jan 2025 18:44:39 +0000 Subject: [PATCH 09/16] clang-format --- lib/Interpreter/CppInterOp.cpp | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 lib/Interpreter/CppInterOp.cpp diff --git a/lib/Interpreter/CppInterOp.cpp b/lib/Interpreter/CppInterOp.cpp old mode 100644 new mode 100755 From 1f942820d38cd7b3d977434644fae638da7881f2 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Tue, 21 Jan 2025 18:49:16 +0000 Subject: [PATCH 10/16] Update CppInterOp.cpp --- lib/Interpreter/CppInterOp.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/Interpreter/CppInterOp.cpp b/lib/Interpreter/CppInterOp.cpp index a3bde75d3..87f973e1c 100755 --- a/lib/Interpreter/CppInterOp.cpp +++ b/lib/Interpreter/CppInterOp.cpp @@ -2828,12 +2828,8 @@ namespace Cpp { #define DEBUG_TYPE "exec" std::array buffer; - struct file_deleter - { - void operator()(FILE* fp) - { - pclose(fp); - } + struct file_deleter { + void operator()(FILE* fp) { pclose(fp); } }; using file_pointer = std::unique_ptr; file_pointer pipe{popen(cmd, "r")}; From bb6f6adce7350441fe8b06d3404bedb55548131f Mon Sep 17 00:00:00 2001 From: mcbarton Date: Tue, 21 Jan 2025 18:51:42 +0000 Subject: [PATCH 11/16] Fix --- lib/Interpreter/CppInterOp.cpp | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/lib/Interpreter/CppInterOp.cpp b/lib/Interpreter/CppInterOp.cpp index 87f973e1c..dd7f2f95c 100755 --- a/lib/Interpreter/CppInterOp.cpp +++ b/lib/Interpreter/CppInterOp.cpp @@ -3441,12 +3441,8 @@ namespace Cpp { } class StreamCaptureInfo { - struct file_deleter - { - void operator()(FILE* fp) - { - pclose(fp); - } + struct file_deleter { + void operator()(FILE* fp) { pclose(fp); } }; using file_pointer = std::unique_ptr; file_pointer m_TempFile; @@ -3456,19 +3452,17 @@ namespace Cpp { public: #ifdef _MSC_VER StreamCaptureInfo(int FD) - : m_TempFile( - []() { - FILE* stream = nullptr; - errno_t err; - err = tmpfile_s(&stream); - if (err) - printf("Cannot create temporary file!\n"); - return stream; - }(), - std::fclose), + : m_TempFile(file_pointer{[]() { + FILE* stream = nullptr; + errno_t err; + err = tmpfile_s(&stream); + if (err) + printf("Cannot create temporary file!\n"); + return stream; + }()}), m_FD(FD) { #else - StreamCaptureInfo(int FD) : m_TempFile(tmpfile(), std::fclose), m_FD(FD) { + StreamCaptureInfo(int FD) : m_TempFile(file_pointer{tmpfile()}), m_FD(FD) { #endif if (!m_TempFile) { perror("StreamCaptureInfo: Unable to create temp file"); From cdcd65fa1dfbbdd209a6a1878bda14e42f89adcb Mon Sep 17 00:00:00 2001 From: mcbarton Date: Tue, 21 Jan 2025 19:42:11 +0000 Subject: [PATCH 12/16] Update Ubuntu.yml --- .github/workflows/Ubuntu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Ubuntu.yml b/.github/workflows/Ubuntu.yml index f5088b6c0..8f65eb90c 100644 --- a/.github/workflows/Ubuntu.yml +++ b/.github/workflows/Ubuntu.yml @@ -466,7 +466,7 @@ jobs: sudo apt-get update sudo apt-get install git g++ debhelper devscripts gnupg python3 doxygen graphviz python3-sphinx sudo apt-get install -y libc6-dbg - sudo snap install valgrind --classic + sudo snap install valgrind sudo apt autoremove sudo apt clean # Install libraries used by the cppyy test suite From 4f1d4173f730e37d38e5ada471c997ac973c50d6 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Tue, 21 Jan 2025 19:47:42 +0000 Subject: [PATCH 13/16] Update Ubuntu.yml --- .github/workflows/Ubuntu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Ubuntu.yml b/.github/workflows/Ubuntu.yml index 8f65eb90c..8d622dbfa 100644 --- a/.github/workflows/Ubuntu.yml +++ b/.github/workflows/Ubuntu.yml @@ -466,7 +466,7 @@ jobs: sudo apt-get update sudo apt-get install git g++ debhelper devscripts gnupg python3 doxygen graphviz python3-sphinx sudo apt-get install -y libc6-dbg - sudo snap install valgrind + sudo apt-get install valgrind sudo apt autoremove sudo apt clean # Install libraries used by the cppyy test suite From 1b572290e6fbf26a1aee81a8398e2621e12a8503 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Tue, 21 Jan 2025 19:57:32 +0000 Subject: [PATCH 14/16] Update lib/Interpreter/CppInterOp.cpp Update lib/Interpreter/CppInterOp.cpp --- lib/Interpreter/CppInterOp.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/Interpreter/CppInterOp.cpp b/lib/Interpreter/CppInterOp.cpp index dd7f2f95c..e77da512f 100755 --- a/lib/Interpreter/CppInterOp.cpp +++ b/lib/Interpreter/CppInterOp.cpp @@ -2831,8 +2831,7 @@ namespace Cpp { struct file_deleter { void operator()(FILE* fp) { pclose(fp); } }; - using file_pointer = std::unique_ptr; - file_pointer pipe{popen(cmd, "r")}; + std::unique_ptr pipe{popen(cmd, "r")}; LLVM_DEBUG(dbgs() << "Executing command '" << cmd << "'\n"); if (!pipe) { @@ -3444,8 +3443,7 @@ namespace Cpp { struct file_deleter { void operator()(FILE* fp) { pclose(fp); } }; - using file_pointer = std::unique_ptr; - file_pointer m_TempFile; + std::unique_ptr m_TempFile; int m_FD = -1; int m_DupFD = -1; From d8ffe4a8cfa2dba132d76d182eea60e1ff74cb4a Mon Sep 17 00:00:00 2001 From: mcbarton Date: Tue, 21 Jan 2025 20:07:20 +0000 Subject: [PATCH 15/16] Update CppInterOp.cpp --- lib/Interpreter/CppInterOp.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/Interpreter/CppInterOp.cpp b/lib/Interpreter/CppInterOp.cpp index e77da512f..15a177281 100755 --- a/lib/Interpreter/CppInterOp.cpp +++ b/lib/Interpreter/CppInterOp.cpp @@ -3450,17 +3450,17 @@ namespace Cpp { public: #ifdef _MSC_VER StreamCaptureInfo(int FD) - : m_TempFile(file_pointer{[]() { + : m_TempFile{[]() { FILE* stream = nullptr; errno_t err; err = tmpfile_s(&stream); if (err) printf("Cannot create temporary file!\n"); return stream; - }()}), + }()}, m_FD(FD) { #else - StreamCaptureInfo(int FD) : m_TempFile(file_pointer{tmpfile()}), m_FD(FD) { + StreamCaptureInfo(int FD) : m_TempFile{tmpfile()}, m_FD(FD) { #endif if (!m_TempFile) { perror("StreamCaptureInfo: Unable to create temp file"); From d388141c9640314051624ac82cb01588b4665ca0 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Tue, 21 Jan 2025 20:43:11 +0000 Subject: [PATCH 16/16] Update Ubuntu.yml --- .github/workflows/Ubuntu.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Ubuntu.yml b/.github/workflows/Ubuntu.yml index 8d622dbfa..b3b8fc46a 100644 --- a/.github/workflows/Ubuntu.yml +++ b/.github/workflows/Ubuntu.yml @@ -466,7 +466,12 @@ jobs: sudo apt-get update sudo apt-get install git g++ debhelper devscripts gnupg python3 doxygen graphviz python3-sphinx sudo apt-get install -y libc6-dbg - sudo apt-get install valgrind + export ARCHITECHURE=$(uname -m) + if [[ "$ARCHITECHURE" != "x86_64" ]]; then + sudo apt-get install valgrind + else + sudo snap install valgrind --classic + fi sudo apt autoremove sudo apt clean # Install libraries used by the cppyy test suite