From 20ac9af5966ff6d0eb4661599600204519b79c6c Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 28 May 2025 20:32:42 +0100 Subject: [PATCH 01/40] Add initial attempt to build cppyy on Windows --- .../Build_and_Test_CppInterOp/action.yml | 14 +-- .../actions/Build_and_Test_cppyy/action.yml | 98 ++++++++++++++++++- .github/workflows/Windows-arm.yml | 17 +++- .github/workflows/Windows.yml | 17 +++- 4 files changed, 130 insertions(+), 16 deletions(-) diff --git a/.github/actions/Build_and_Test_CppInterOp/action.yml b/.github/actions/Build_and_Test_CppInterOp/action.yml index b97d2e8ae..0640ab502 100644 --- a/.github/actions/Build_and_Test_CppInterOp/action.yml +++ b/.github/actions/Build_and_Test_CppInterOp/action.yml @@ -91,15 +91,15 @@ runs: echo "CLING_BUILD_DIR=$env:CLING_BUILD_DIR" echo "CLING_BUILD_DIR=$env:CLING_BUILD_DIR" >> $env:GITHUB_ENV - $env:CPLUS_INCLUDE_PATH="$env:CLING_DIR\tools\cling\include;$env:CLING_BUILD_DIR\include;$env:LLVM_DIR\llvm\include;$env:LLVM_DIR\clang\include;$env:LLVM_BUILD_DIR\include;$env:LLVM_BUILD_DIR\tools\clang\include;$env:PWD_DIR\include;" - echo "CPLUS_INCLUDE_PATH=$env:CPLUS_INCLUDE_PATH" - echo "CPLUS_INCLUDE_PATH=$env:CPLUS_INCLUDE_PATH" >> $env:GITHUB_ENV + $env:IncludePath="$env:IncludePath;$env:CLING_DIR\tools\cling\include;$env:CLING_BUILD_DIR\include;$env:LLVM_DIR\llvm\include;$env:LLVM_DIR\clang\include;$env:LLVM_BUILD_DIR\include;$env:LLVM_BUILD_DIR\tools\clang\include;$env:PWD_DIR\include;" + echo "IncludePath=$env:IncludePath" + echo "IncludePath=$env:IncludePath" >> $env:GITHUB_ENV } else { - $env:CPLUS_INCLUDE_PATH="$env:LLVM_DIR\llvm\include;$env:LLVM_DIR\clang\include;$env:LLVM_BUILD_DIR\include;$env:LLVM_BUILD_DIR\tools\clang\include;$env:PWD_DIR\include;" - echo "CPLUS_INCLUDE_PATH=$env:CPLUS_INCLUDE_PATH" - echo "CPLUS_INCLUDE_PATH=$env:CPLUS_INCLUDE_PATH" >> $env:GITHUB_ENV + $env:IncludePath="$env:IncludePath;$env:LLVM_DIR\llvm\include;$env:LLVM_DIR\clang\include;$env:LLVM_BUILD_DIR\include;$env:LLVM_BUILD_DIR\tools\clang\include;$env:PWD_DIR\include;" + echo "IncludePath=$env:IncludePath" + echo "IncludePath=$env:IncludePath" >> $env:GITHUB_ENV } $env:CB_PYTHON_DIR="$env:PWD_DIR\cppyy-backend\python" @@ -113,7 +113,7 @@ runs: # Build CppInterOp next to cling and llvm-project. mkdir build cd build - $env:CPPINTEROP_BUILD_DIR="$env:PWD_DIR" + $env:CPPINTEROP_BUILD_DIR=$PWD.Path echo "CPPINTEROP_BUILD_DIR=$env:CPPINTEROP_BUILD_DIR" echo "CPPINTEROP_BUILD_DIR=$env:CPPINTEROP_BUILD_DIR" >> $env:GITHUB_ENV if ( "${{ matrix.cling }}" -imatch "On" ) diff --git a/.github/actions/Build_and_Test_cppyy/action.yml b/.github/actions/Build_and_Test_cppyy/action.yml index 244908348..1fbd7d9e9 100644 --- a/.github/actions/Build_and_Test_cppyy/action.yml +++ b/.github/actions/Build_and_Test_cppyy/action.yml @@ -15,7 +15,7 @@ runs: # Install CppInterOp (cd $CPPINTEROP_BUILD_DIR && cmake --build . --target install --parallel ${{ env.ncpus }} ) # Build and Install cppyy-backend - cmake -DCppInterOp_DIR=$CPPINTEROP_DIR .. + cmake -DCppInterOp_DIR=$CPPINTEROP_DIR -DINCLUDE_PATH="$env:CPLUS_INCLUDE_PATH" .. cmake --build . --parallel ${{ env.ncpus }} os="${{ matrix.os }}" if [[ "${os}" == "macos"* ]]; then @@ -138,3 +138,99 @@ runs: tail -n1 test_xfailed.log echo "Return Code: ${RETCODE}" exit $RETCODE + + - name: Build and Install cppyy-backend + if: ${{ matrix.cppyy == 'On' && runner.os == 'Windows' }} + shell: powershell + run: | + # Download cppyy-backend + git clone --depth=1 https://github.com/compiler-research/cppyy-backend.git + cd cppyy-backend + mkdir $env:CPPINTEROP_DIR\lib + mkdir build + cd build + # Install CppInterOp + cd $env:CPPINTEROP_BUILD_DIR + cmake --build . --target install --parallel ${{ env.ncpus }} + cd ..\cppyy-backend\build\ + # Build and Install cppyy-backend + cmake -DCppInterOp_DIR=$env:CPPINTEROP_DIR -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} .. + cmake --build . --config ${{ env.BUILD_TYPE }} --parallel ${{ env.ncpus }} + cp Release\libcppyy-backend.lib $env:CPPINTEROP_DIR\lib\ + cd .. + + - name: Install CPyCppyy + if: ${{ matrix.cppyy == 'On' && runner.os == 'Windows' }} + shell: powershell + run: | + python -m venv .venv + . .\.venv\Scripts\Activate.ps1 + # Install CPyCppyy + git clone --depth=1 https://github.com/compiler-research/CPyCppyy.git + mkdir CPyCppyy\build + cd CPyCppyy\build + cmake .. + cmake --build . --parallel ${{ env.ncpus }} + # + env:CPYCPPYY_DIR = $PWD.Path + cd ../.. + # We need CPYCPPYY_DIR later + echo "CPYCPPYY_DIR=$env:CPYCPPYY_DIR" >> $env:GITHUB_ENV + + - name: Install cppyy + if: ${{ matrix.cppyy == 'On' && runner.os == 'Windows' }} + shell: powershell + run: | + # source virtual environment + . .\.venv\Scripts\Activate.ps1 + # Install cppyy + git clone --depth=1 https://github.com/compiler-research/cppyy.git + cd cppyy + python -m pip install --upgrade . --no-deps + cd .. + + - name: Run cppyy + if: ${{ matrix.cppyy == 'On' && runner.os == 'Windows' }} + shell: powershell + run: | + # Run cppyy + . .\.venv\Scripts\Activate.ps1 + $env:PYTHONPATH=$env:PYTHONPATH:$env:CPYCPPYY_DIR:$env:CB_PYTHON_DIR + python -c "import cppyy" + # We need PYTHONPATH later + echo "PYTHONPATH=$env:PYTHONPATH" >> $GITHUB_ENV + + - name: Run the tests + if: ${{ matrix.cppyy == 'On' && runner.os == 'Windows' }} + shell: powershell + run: | + # Run the tests + . .\.venv\Scripts\Activate.ps1 + cd cppyy\test + echo ::group::Prepare For Testing + make all + python -m pip install --upgrade pip + python -m pip install pytest + python -m pip install pytest-xdist + python -m pip install numba + echo ::endgroup:: + echo ::group::Run complete test suite + $ErrorActionPreference = "Stop" + python -m pytest -sv -ra 2>&1 | Tee-Object -FilePath complete_testrun.log + $ErrorActionPreference = "Continue" + echo ::group::Crashing Test Logs + # See if we don't have a crash that went away + # Comment out all xfails but the ones that have a run=False condition. + find.exe . -name "*.py" -exec sed.exe -i '/run=False/!s/^ *@mark.xfail\(.*\)/#&/' {} \; + python -m pytest -n 1 -m "xfail" --runxfail -sv -ra --max-worker-restart 512 2>&1 | Tee-Object -FilePath test_crashed.log + $LASTEXITCODE = 0 + git checkout . + echo ::endgroup:: + echo ::group::XFAIL Test Logs + # Rewrite all xfails that have a run clause to skipif. This way we will + # avoid conditionally crashing xfails + find.exe . -name "*.py" -exec sed.exe -i -E 's/(^ *)@mark.xfail\(run=(.*)/\1@mark.skipif(condition=not \2/g' {} \; + # See if we don't have an xfail that went away + python -m pytest --runxfail -sv -ra | tee test_xfailed.log 2>&1 || true + git checkout . + echo ::endgroup:: diff --git a/.github/workflows/Windows-arm.yml b/.github/workflows/Windows-arm.yml index 32ac7fe8a..d84d22326 100644 --- a/.github/workflows/Windows-arm.yml +++ b/.github/workflows/Windows-arm.yml @@ -142,19 +142,19 @@ jobs: fail-fast: false matrix: include: - - name: win11-msvc-clang-repl-20 + - name: win11-msvc-clang-repl-20-cppyy os: windows-11-arm compiler: msvc clang-runtime: '20' cling: Off - cppyy: Off - - name: win11-msvc-clang18-cling + cppyy: On + - name: win11-msvc-clang18-cling-cppyy os: windows-11-arm compiler: msvc clang-runtime: '18' cling: On cling-version: '1.2' - cppyy: Off + cppyy: On steps: - uses: actions/checkout@v4 @@ -200,6 +200,13 @@ jobs: $env:ncpus=$([Environment]::ProcessorCount) echo "ncpus=$env:ncpus" >> $env:GITHUB_ENV + - name: Install deps on Windows + if: ${{ steps.cache.outputs.cache-hit != 'true' }} + run: | + choco install findutils + choco install gnuwin32-coreutils.install + $env:PATH="C:\Program Files (x86)\GnuWin32\bin;$env:PATH" + - name: Setup compiler on Windows run: | if ( "${{ matrix.compiler }}" -imatch "clang" ) @@ -233,6 +240,8 @@ jobs: - uses: ./.github/actions/Build_and_Test_CppInterOp + - uses: ./.github/actions/Build_and_Test_cppyy + - name: Setup tmate session if: ${{ failure() && runner.debug }} uses: mxschmitt/action-tmate@v3 diff --git a/.github/workflows/Windows.yml b/.github/workflows/Windows.yml index f3dba0720..b9453d40b 100644 --- a/.github/workflows/Windows.yml +++ b/.github/workflows/Windows.yml @@ -142,19 +142,19 @@ jobs: fail-fast: false matrix: include: - - name: win2025-msvc-clang-repl-20 + - name: win2025-msvc-clang-repl-20-cppyy os: windows-2025 compiler: msvc clang-runtime: '20' cling: Off - cppyy: Off - - name: win2025-msvc-clang18-cling + cppyy: On + - name: win2025-msvc-clang18-cling-cppyy os: windows-2025 compiler: msvc clang-runtime: '18' cling: On cling-version: '1.2' - cppyy: Off + cppyy: On steps: - uses: actions/checkout@v4 @@ -200,6 +200,13 @@ jobs: $env:ncpus=$([Environment]::ProcessorCount) echo "ncpus=$env:ncpus" >> $env:GITHUB_ENV + - name: Install deps on Windows + if: ${{ steps.cache.outputs.cache-hit != 'true' }} + run: | + choco install findutils + choco install gnuwin32-coreutils.install + $env:PATH="C:\Program Files (x86)\GnuWin32\bin;$env:PATH" + - name: Setup compiler on Windows run: | if ( "${{ matrix.compiler }}" -imatch "clang" ) @@ -233,6 +240,8 @@ jobs: - uses: ./.github/actions/Build_and_Test_CppInterOp + - uses: ./.github/actions/Build_and_Test_cppyy + - name: Setup tmate session if: ${{ failure() && runner.debug }} uses: mxschmitt/action-tmate@v3 From e562abc4476a49982ff7966b6542c6f705acd258 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Thu, 29 May 2025 11:22:14 +0100 Subject: [PATCH 02/40] Debug action.yml --- .github/actions/Build_and_Test_cppyy/action.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/actions/Build_and_Test_cppyy/action.yml b/.github/actions/Build_and_Test_cppyy/action.yml index 1fbd7d9e9..d8dfdcb51 100644 --- a/.github/actions/Build_and_Test_cppyy/action.yml +++ b/.github/actions/Build_and_Test_cppyy/action.yml @@ -156,6 +156,8 @@ runs: # Build and Install cppyy-backend cmake -DCppInterOp_DIR=$env:CPPINTEROP_DIR -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} .. cmake --build . --config ${{ env.BUILD_TYPE }} --parallel ${{ env.ncpus }} + find.exe . -name "*.dll" + find.exe . -name "*.lib" cp Release\libcppyy-backend.lib $env:CPPINTEROP_DIR\lib\ cd .. From cede61ddab87ff77975d6d0d6c851730926d14ff Mon Sep 17 00:00:00 2001 From: mcbarton Date: Thu, 29 May 2025 11:36:45 +0100 Subject: [PATCH 03/40] Debug action.yml --- .github/actions/Build_and_Test_cppyy/action.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/actions/Build_and_Test_cppyy/action.yml b/.github/actions/Build_and_Test_cppyy/action.yml index d8dfdcb51..7f753c701 100644 --- a/.github/actions/Build_and_Test_cppyy/action.yml +++ b/.github/actions/Build_and_Test_cppyy/action.yml @@ -152,13 +152,14 @@ runs: # Install CppInterOp cd $env:CPPINTEROP_BUILD_DIR cmake --build . --target install --parallel ${{ env.ncpus }} + find.exe . -name "*.dll" + find.exe . -name "*.lib" cd ..\cppyy-backend\build\ # Build and Install cppyy-backend cmake -DCppInterOp_DIR=$env:CPPINTEROP_DIR -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} .. cmake --build . --config ${{ env.BUILD_TYPE }} --parallel ${{ env.ncpus }} - find.exe . -name "*.dll" - find.exe . -name "*.lib" - cp Release\libcppyy-backend.lib $env:CPPINTEROP_DIR\lib\ + find.exe . -name "*" + cp Release\libcppyy-backend.dll $env:CPPINTEROP_DIR\lib\ cd .. - name: Install CPyCppyy From 0abfdcdc01d6be254126ddd2acfecbba514a9df6 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Thu, 29 May 2025 21:20:27 +0100 Subject: [PATCH 04/40] Try -DBUILD_SHARED_LIBS=ON Windows --- .github/actions/Build_and_Test_CppInterOp/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/Build_and_Test_CppInterOp/action.yml b/.github/actions/Build_and_Test_CppInterOp/action.yml index 0640ab502..302446550 100644 --- a/.github/actions/Build_and_Test_CppInterOp/action.yml +++ b/.github/actions/Build_and_Test_CppInterOp/action.yml @@ -123,14 +123,14 @@ runs: -DCPPINTEROP_USE_REPL=OFF ` -DCling_DIR="$env:LLVM_BUILD_DIR\tools\cling" ` -DLLVM_DIR="$env:LLVM_BUILD_DIR" ` - -DLLVM_ENABLE_WERROR=On ` + -DLLVM_ENABLE_WERROR=On -DBUILD_SHARED_LIBS=ON ` -DClang_DIR="$env:LLVM_BUILD_DIR" -DCODE_COVERAGE=${{ env.CODE_COVERAGE }} -DCMAKE_INSTALL_PREFIX="$env:CPPINTEROP_DIR" ..\ } else { cmake -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} ` -DLLVM_DIR="$env:LLVM_BUILD_DIR\lib\cmake\llvm" ` - -DLLVM_ENABLE_WERROR=On ` + -DLLVM_ENABLE_WERROR=On -DBUILD_SHARED_LIBS=ON ` -DClang_DIR="$env:LLVM_BUILD_DIR\lib\cmake\clang" -DCODE_COVERAGE=${{ env.CODE_COVERAGE }} -DCMAKE_INSTALL_PREFIX="$env:CPPINTEROP_DIR" ..\ } cmake --build . --config ${{ env.BUILD_TYPE }} --target check-cppinterop --parallel ${{ env.ncpus }} From a5576ac19e15d8f05b2c8848aa28cf31307ec854 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Thu, 29 May 2025 21:28:33 +0100 Subject: [PATCH 05/40] Revert previous change --- .github/actions/Build_and_Test_CppInterOp/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/Build_and_Test_CppInterOp/action.yml b/.github/actions/Build_and_Test_CppInterOp/action.yml index 302446550..8b3f97d64 100644 --- a/.github/actions/Build_and_Test_CppInterOp/action.yml +++ b/.github/actions/Build_and_Test_CppInterOp/action.yml @@ -123,14 +123,14 @@ runs: -DCPPINTEROP_USE_REPL=OFF ` -DCling_DIR="$env:LLVM_BUILD_DIR\tools\cling" ` -DLLVM_DIR="$env:LLVM_BUILD_DIR" ` - -DLLVM_ENABLE_WERROR=On -DBUILD_SHARED_LIBS=ON ` + -DLLVM_ENABLE_WERROR=On ` -DClang_DIR="$env:LLVM_BUILD_DIR" -DCODE_COVERAGE=${{ env.CODE_COVERAGE }} -DCMAKE_INSTALL_PREFIX="$env:CPPINTEROP_DIR" ..\ } else { cmake -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} ` -DLLVM_DIR="$env:LLVM_BUILD_DIR\lib\cmake\llvm" ` - -DLLVM_ENABLE_WERROR=On -DBUILD_SHARED_LIBS=ON ` + -DLLVM_ENABLE_WERROR=On ` -DClang_DIR="$env:LLVM_BUILD_DIR\lib\cmake\clang" -DCODE_COVERAGE=${{ env.CODE_COVERAGE }} -DCMAKE_INSTALL_PREFIX="$env:CPPINTEROP_DIR" ..\ } cmake --build . --config ${{ env.BUILD_TYPE }} --target check-cppinterop --parallel ${{ env.ncpus }} From 4e71a86c448947190fb77caed67880cb185ff8d1 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Thu, 29 May 2025 21:38:07 +0100 Subject: [PATCH 06/40] Update action.yml --- .github/actions/Build_and_Test_cppyy/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/Build_and_Test_cppyy/action.yml b/.github/actions/Build_and_Test_cppyy/action.yml index 7f753c701..8559f7392 100644 --- a/.github/actions/Build_and_Test_cppyy/action.yml +++ b/.github/actions/Build_and_Test_cppyy/action.yml @@ -15,7 +15,7 @@ runs: # Install CppInterOp (cd $CPPINTEROP_BUILD_DIR && cmake --build . --target install --parallel ${{ env.ncpus }} ) # Build and Install cppyy-backend - cmake -DCppInterOp_DIR=$CPPINTEROP_DIR -DINCLUDE_PATH="$env:CPLUS_INCLUDE_PATH" .. + cmake -DCppInterOp_DIR=$CPPINTEROP_DIR .. cmake --build . --parallel ${{ env.ncpus }} os="${{ matrix.os }}" if [[ "${os}" == "macos"* ]]; then From a9a9dd53b966887e54d2077083ac75002a5af5b8 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Fri, 30 May 2025 12:35:29 +0100 Subject: [PATCH 07/40] Update action.yml --- .github/actions/Build_and_Test_CppInterOp/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/Build_and_Test_CppInterOp/action.yml b/.github/actions/Build_and_Test_CppInterOp/action.yml index 8b3f97d64..ff2ad391f 100644 --- a/.github/actions/Build_and_Test_CppInterOp/action.yml +++ b/.github/actions/Build_and_Test_CppInterOp/action.yml @@ -123,14 +123,14 @@ runs: -DCPPINTEROP_USE_REPL=OFF ` -DCling_DIR="$env:LLVM_BUILD_DIR\tools\cling" ` -DLLVM_DIR="$env:LLVM_BUILD_DIR" ` - -DLLVM_ENABLE_WERROR=On ` + -DLLVM_ENABLE_WERROR=On -DBUILD_SHARED_LIBS=ON ` -DClang_DIR="$env:LLVM_BUILD_DIR" -DCODE_COVERAGE=${{ env.CODE_COVERAGE }} -DCMAKE_INSTALL_PREFIX="$env:CPPINTEROP_DIR" ..\ } else { cmake -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} ` -DLLVM_DIR="$env:LLVM_BUILD_DIR\lib\cmake\llvm" ` - -DLLVM_ENABLE_WERROR=On ` + -DLLVM_ENABLE_WERROR=On -DBUILD_SHARED_LIBS=ON ` -DClang_DIR="$env:LLVM_BUILD_DIR\lib\cmake\clang" -DCODE_COVERAGE=${{ env.CODE_COVERAGE }} -DCMAKE_INSTALL_PREFIX="$env:CPPINTEROP_DIR" ..\ } cmake --build . --config ${{ env.BUILD_TYPE }} --target check-cppinterop --parallel ${{ env.ncpus }} From a2c1aa986156cc54883d2386a8855d4a883f49bb Mon Sep 17 00:00:00 2001 From: mcbarton Date: Fri, 30 May 2025 19:06:42 +0100 Subject: [PATCH 08/40] [debug] disable CppInterOp tests Windows shared library build --- .github/actions/Build_and_Test_CppInterOp/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/Build_and_Test_CppInterOp/action.yml b/.github/actions/Build_and_Test_CppInterOp/action.yml index ff2ad391f..1b3be882d 100644 --- a/.github/actions/Build_and_Test_CppInterOp/action.yml +++ b/.github/actions/Build_and_Test_CppInterOp/action.yml @@ -133,4 +133,4 @@ runs: -DLLVM_ENABLE_WERROR=On -DBUILD_SHARED_LIBS=ON ` -DClang_DIR="$env:LLVM_BUILD_DIR\lib\cmake\clang" -DCODE_COVERAGE=${{ env.CODE_COVERAGE }} -DCMAKE_INSTALL_PREFIX="$env:CPPINTEROP_DIR" ..\ } - cmake --build . --config ${{ env.BUILD_TYPE }} --target check-cppinterop --parallel ${{ env.ncpus }} + cmake --build . --config ${{ env.BUILD_TYPE }} --parallel ${{ env.ncpus }} From 519e408f99eedb649b08e018724ceabffb21cfaa Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 15:46:34 +0100 Subject: [PATCH 09/40] Try fix PR --- lib/CppInterOp/CMakeLists.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index 8835511b4..9f4daeab4 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -146,3 +146,14 @@ string(REPLACE ";" "\;" _VER CPPINTEROP_VERSION) set_source_files_properties(CppInterOp.cpp PROPERTIES COMPILE_DEFINITIONS "LLVM_BINARY_DIR=\"${LLVM_BINARY_DIR}\";CPPINTEROP_VERSION=\"${_VAR}\"" ) + +if(MSVC) + target_link_options(clangCppInterOp PRIVATE + "/INCLUDE:?write@raw_ostream@llvm@@QEAAAEAV12@PEBD_K@Z" + "/INCLUDE:?errs@llvm@@YAAEAVraw_fd_ostream@1@XZ" + "/INCLUDE:?DestroyDataAndMakeUninit@APValue@clang@@AEAAXXZ" + "/INCLUDE:?dbgs@llvm@@YAAEAVraw_ostream@1@XZ" + "/INCLUDE:?fatalUncheckedError@Error@llvm@@AEBAXXZ" + "/INCLUDE:?logAllUnhandledErrors@llvm@@YAXVError@1@AEAVraw_ostream@1@VTwine@1@@Z" + ) +endif() From f6fbca22882a9f2540206fc7a4400936f3498ed7 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 15:48:06 +0100 Subject: [PATCH 10/40] Update action.yml --- .github/actions/Build_and_Test_CppInterOp/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/Build_and_Test_CppInterOp/action.yml b/.github/actions/Build_and_Test_CppInterOp/action.yml index 1b3be882d..ff2ad391f 100644 --- a/.github/actions/Build_and_Test_CppInterOp/action.yml +++ b/.github/actions/Build_and_Test_CppInterOp/action.yml @@ -133,4 +133,4 @@ runs: -DLLVM_ENABLE_WERROR=On -DBUILD_SHARED_LIBS=ON ` -DClang_DIR="$env:LLVM_BUILD_DIR\lib\cmake\clang" -DCODE_COVERAGE=${{ env.CODE_COVERAGE }} -DCMAKE_INSTALL_PREFIX="$env:CPPINTEROP_DIR" ..\ } - cmake --build . --config ${{ env.BUILD_TYPE }} --parallel ${{ env.ncpus }} + cmake --build . --config ${{ env.BUILD_TYPE }} --target check-cppinterop --parallel ${{ env.ncpus }} From fa4ceb2ddb87e98cb55b37f70c3faaf5ee8ffced Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 17:20:10 +0100 Subject: [PATCH 11/40] Try exporting new set of symbols msvc --- lib/CppInterOp/CMakeLists.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index 9f4daeab4..71384f66e 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -149,11 +149,11 @@ set_source_files_properties(CppInterOp.cpp PROPERTIES COMPILE_DEFINITIONS if(MSVC) target_link_options(clangCppInterOp PRIVATE - "/INCLUDE:?write@raw_ostream@llvm@@QEAAAEAV12@PEBD_K@Z" - "/INCLUDE:?errs@llvm@@YAAEAVraw_fd_ostream@1@XZ" - "/INCLUDE:?DestroyDataAndMakeUninit@APValue@clang@@AEAAXXZ" - "/INCLUDE:?dbgs@llvm@@YAAEAVraw_ostream@1@XZ" - "/INCLUDE:?fatalUncheckedError@Error@llvm@@AEBAXXZ" - "/INCLUDE:?logAllUnhandledErrors@llvm@@YAXVError@1@AEAVraw_ostream@1@VTwine@1@@Z" + "/EXPORT:?write@raw_ostream@llvm@@QEAAAEAV12@PEBD_K@Z" + "/EXPORT:?errs@llvm@@YAAEAVraw_fd_ostream@1@XZ" + "/EXPORT:?DestroyDataAndMakeUninit@APValue@clang@@AEAAXXZ" + "/EXPORT:?dbgs@llvm@@YAAEAVraw_ostream@1@XZ" + "/EXPORT:?fatalUncheckedError@Error@llvm@@AEBAXXZ" + "/EXPORT:?logAllUnhandledErrors@llvm@@YAXVError@1@AEAVraw_ostream@1@VTwine@1@@Z" ) endif() From 9da90d23215b45b5ae8425b70dd32c15d3d4d882 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 17:32:38 +0100 Subject: [PATCH 12/40] Update CMakeLists.txt to export more symbols --- lib/CppInterOp/CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index 71384f66e..e8f9ae05f 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -155,5 +155,13 @@ if(MSVC) "/EXPORT:?dbgs@llvm@@YAAEAVraw_ostream@1@XZ" "/EXPORT:?fatalUncheckedError@Error@llvm@@AEBAXXZ" "/EXPORT:?logAllUnhandledErrors@llvm@@YAXVError@1@AEAVraw_ostream@1@VTwine@1@@Z" + "/EXPORT:?Parse@Interpreter@clang@@QEAA?AV?$Expected@AEAUPartialTranslationUnit@clang@@@llvm@@VStringRef@4@@Z" + "/EXPORT:?Execute@Interpreter@clang@@QEAA?AVError@llvm@@AEAUPartialTranslationUnit@2@@Z" + "/EXPORT:?isFloatingType@Type@clang@@QEBA_NXZ" + "/EXPORT:?getDecl@TagType@clang@@QEBAPEAVTagDecl@2@XZ" + "/EXPORT:?hasDefiningAttr@Decl@clang@@QEBA_NXZ" + "/EXPORT:?getNumParams@FunctionDecl@clang@@QEBAIXZ" + "/EXPORT:?getTemplateInstantiationPattern@FunctionDecl@clang@@QEBAPEAV12@_N@Z" + "/EXPORT:?getTemplateSpecializationArgs@FunctionDecl@clang@@QEBAPEBVTemplateArgumentList@2@XZ" ) endif() From cd7e3369c2a0e87f7a7751f271803df46635aaa0 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 17:58:22 +0100 Subject: [PATCH 13/40] Update CMakeLists.txt to export more symbols --- lib/CppInterOp/CMakeLists.txt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index e8f9ae05f..b63cb1dc6 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -163,5 +163,22 @@ if(MSVC) "/EXPORT:?getNumParams@FunctionDecl@clang@@QEBAIXZ" "/EXPORT:?getTemplateInstantiationPattern@FunctionDecl@clang@@QEBAPEAV12@_N@Z" "/EXPORT:?getTemplateSpecializationArgs@FunctionDecl@clang@@QEBAPEBVTemplateArgumentList@2@XZ" + "/EXPORT:?getLValueReferenceType@ASTContext@clang@@QEBA?AVQualType@2@V32@_N@Z" + "/EXPORT:?getCompilerInstance@Interpreter@clang@@QEAAPEAVCompilerInstance@2@XZ" + "/EXPORT:?RunningOnValgrind@sys@llvm@@YA_NXZ" + "/EXPORT:?grow_pod@?$SmallVectorBase@_K@llvm@@IEAAXPEAX_K1@Z" + "/EXPORT:?access@fs@sys@llvm@@YA?AVerror_code@std@@AEBVTwine@3@W4AccessMode@123@@Z" + "/EXPORT:?CreateCpp@IncrementalCompilerBuilder@clang@@QEAA?AV?$Expected@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@llvm@@XZ" + "/EXPORT:?create@Interpreter@clang@@SA?AV?$Expected@V?$unique_ptr@VInterpreter@clang@@U?$default_delete@VInterpreter@clang@@@std@@@std@@@llvm@@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@Z" + "/EXPORT:?grow_pod@?$SmallVectorBase@I@llvm@@IEAAXPEAX_K1@Z" + "/EXPORT:??0APInt@llvm@@QEAA@IV?$ArrayRef@_K@1@@Z" + "/EXPORT:?sext@APInt@llvm@@QEBA?AV12@I@Z" + "/EXPORT:?zext@APInt@llvm@@QEBA?AV12@I@Z" + "/EXPORT:?initSlowCase@APInt@llvm@@AEAAX_K_N@Z" + "/EXPORT:?compare@APInt@llvm@@AEBAHAEBV12@@Z" + "/EXPORT:?compareSigned@APInt@llvm@@AEBAHAEBV12@@Z" + "/EXPORT:?compareValues@APSInt@llvm@@SAHAEBV12@0@Z" + "/EXPORT:??1raw_ostream@llvm@@UEAA@XZ" + "/EXPORT:??1raw_string_ostream" ) endif() From 593164aa2ba0144d984791a554908e218d964403 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 18:05:46 +0100 Subject: [PATCH 14/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index b63cb1dc6..668452843 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -180,5 +180,6 @@ if(MSVC) "/EXPORT:?compareValues@APSInt@llvm@@SAHAEBV12@0@Z" "/EXPORT:??1raw_ostream@llvm@@UEAA@XZ" "/EXPORT:??1raw_string_ostream" + "/EXPORT:??1raw_string_ostream@llvm@@UEAA@XZ" ) endif() From 712c77b1087a258a460be9f05f7f852720b4544e Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 18:30:00 +0100 Subject: [PATCH 15/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index 668452843..e9cd83361 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -171,15 +171,15 @@ if(MSVC) "/EXPORT:?CreateCpp@IncrementalCompilerBuilder@clang@@QEAA?AV?$Expected@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@llvm@@XZ" "/EXPORT:?create@Interpreter@clang@@SA?AV?$Expected@V?$unique_ptr@VInterpreter@clang@@U?$default_delete@VInterpreter@clang@@@std@@@std@@@llvm@@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@Z" "/EXPORT:?grow_pod@?$SmallVectorBase@I@llvm@@IEAAXPEAX_K1@Z" - "/EXPORT:??0APInt@llvm@@QEAA@IV?$ArrayRef@_K@1@@Z" + "/EXPORT:?0APInt@llvm@@QEAA@IV?$ArrayRef@_K@1@@Z" "/EXPORT:?sext@APInt@llvm@@QEBA?AV12@I@Z" "/EXPORT:?zext@APInt@llvm@@QEBA?AV12@I@Z" "/EXPORT:?initSlowCase@APInt@llvm@@AEAAX_K_N@Z" "/EXPORT:?compare@APInt@llvm@@AEBAHAEBV12@@Z" "/EXPORT:?compareSigned@APInt@llvm@@AEBAHAEBV12@@Z" "/EXPORT:?compareValues@APSInt@llvm@@SAHAEBV12@0@Z" - "/EXPORT:??1raw_ostream@llvm@@UEAA@XZ" - "/EXPORT:??1raw_string_ostream" - "/EXPORT:??1raw_string_ostream@llvm@@UEAA@XZ" + "/EXPORT:?1raw_ostream@llvm@@UEAA@XZ" + "/EXPORT:?1raw_string_ostream" + "/EXPORT:?1raw_string_ostream@llvm@@UEAA@XZ" ) endif() From 466c6c8e012dac94109a44f4ab0866a6d7ee39a2 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 18:37:00 +0100 Subject: [PATCH 16/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index e9cd83361..668452843 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -171,15 +171,15 @@ if(MSVC) "/EXPORT:?CreateCpp@IncrementalCompilerBuilder@clang@@QEAA?AV?$Expected@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@llvm@@XZ" "/EXPORT:?create@Interpreter@clang@@SA?AV?$Expected@V?$unique_ptr@VInterpreter@clang@@U?$default_delete@VInterpreter@clang@@@std@@@std@@@llvm@@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@Z" "/EXPORT:?grow_pod@?$SmallVectorBase@I@llvm@@IEAAXPEAX_K1@Z" - "/EXPORT:?0APInt@llvm@@QEAA@IV?$ArrayRef@_K@1@@Z" + "/EXPORT:??0APInt@llvm@@QEAA@IV?$ArrayRef@_K@1@@Z" "/EXPORT:?sext@APInt@llvm@@QEBA?AV12@I@Z" "/EXPORT:?zext@APInt@llvm@@QEBA?AV12@I@Z" "/EXPORT:?initSlowCase@APInt@llvm@@AEAAX_K_N@Z" "/EXPORT:?compare@APInt@llvm@@AEBAHAEBV12@@Z" "/EXPORT:?compareSigned@APInt@llvm@@AEBAHAEBV12@@Z" "/EXPORT:?compareValues@APSInt@llvm@@SAHAEBV12@0@Z" - "/EXPORT:?1raw_ostream@llvm@@UEAA@XZ" - "/EXPORT:?1raw_string_ostream" - "/EXPORT:?1raw_string_ostream@llvm@@UEAA@XZ" + "/EXPORT:??1raw_ostream@llvm@@UEAA@XZ" + "/EXPORT:??1raw_string_ostream" + "/EXPORT:??1raw_string_ostream@llvm@@UEAA@XZ" ) endif() From 9549a6566c2090b143093b311baa739d727d8590 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 18:43:29 +0100 Subject: [PATCH 17/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index 668452843..c6b9aa02b 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -180,6 +180,8 @@ if(MSVC) "/EXPORT:?compareValues@APSInt@llvm@@SAHAEBV12@0@Z" "/EXPORT:??1raw_ostream@llvm@@UEAA@XZ" "/EXPORT:??1raw_string_ostream" + "/EXPORT:?1raw_string_ostream" "/EXPORT:??1raw_string_ostream@llvm@@UEAA@XZ" + "/EXPORT:?1raw_string_ostream@llvm@@UEAA@XZ" ) endif() From 63f11ce7d0d276e5278d817ff1a1e102fdd3a51b Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 18:50:11 +0100 Subject: [PATCH 18/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index c6b9aa02b..a792db2f9 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -180,8 +180,7 @@ if(MSVC) "/EXPORT:?compareValues@APSInt@llvm@@SAHAEBV12@0@Z" "/EXPORT:??1raw_ostream@llvm@@UEAA@XZ" "/EXPORT:??1raw_string_ostream" - "/EXPORT:?1raw_string_ostream" "/EXPORT:??1raw_string_ostream@llvm@@UEAA@XZ" - "/EXPORT:?1raw_string_ostream@llvm@@UEAA@XZ" + "/INCLUDE:??1raw_string_ostream@@QEAA@XZ" ) endif() From c63d4507e43406d63a08ca144012dae59c6d2b29 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 18:57:31 +0100 Subject: [PATCH 19/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index a792db2f9..1f34d143e 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -181,6 +181,6 @@ if(MSVC) "/EXPORT:??1raw_ostream@llvm@@UEAA@XZ" "/EXPORT:??1raw_string_ostream" "/EXPORT:??1raw_string_ostream@llvm@@UEAA@XZ" - "/INCLUDE:??1raw_string_ostream@@QEAA@XZ" + "/EXPORT:?write_impl@raw_string_ostream@llvm@@EEAAXPEBD_K@Z" ) endif() From 3e1cc813cdc7438f8c5513d8df99812c986ab36f Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 19:09:43 +0100 Subject: [PATCH 20/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index 1f34d143e..4d00beaba 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -182,5 +182,12 @@ if(MSVC) "/EXPORT:??1raw_string_ostream" "/EXPORT:??1raw_string_ostream@llvm@@UEAA@XZ" "/EXPORT:?write_impl@raw_string_ostream@llvm@@EEAAXPEBD_K@Z" + "/EXPORT:?changeColor@raw_ostream@llvm@@UEAAAEAV12@W4Colors@12@_N1@Z" + "/EXPORT:?resetColor@raw_ostream@llvm@@UEAAAEAV12@XZ" + "/EXPORT:?reverseColor@raw_ostream@llvm@@UEAAAEAV12@XZ" + "/EXPORT:?preferred_buffer_size@raw_ostream@llvm@@MEBA_KXZ" + "/EXPORT:?SetBufferAndMode@raw_ostream@llvm@@AEAAXPEAD_KW4BufferKind@12@@Z" + "/EXPORT:?flush_nonempty@raw_ostream@llvm@@AEAAXXZ" + "/EXPORT:?anchor@raw_ostream@llvm@@EEAAXXZ" ) endif() From 2c2d6524ce62e1e16ba7d8df464675bc7c74d477 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 19:17:39 +0100 Subject: [PATCH 21/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index 4d00beaba..8d69db837 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -181,6 +181,7 @@ if(MSVC) "/EXPORT:??1raw_ostream@llvm@@UEAA@XZ" "/EXPORT:??1raw_string_ostream" "/EXPORT:??1raw_string_ostream@llvm@@UEAA@XZ" + "/EXPORT:??1raw_string_ostream@llvm@@QEAA@XZ" "/EXPORT:?write_impl@raw_string_ostream@llvm@@EEAAXPEBD_K@Z" "/EXPORT:?changeColor@raw_ostream@llvm@@UEAAAEAV12@W4Colors@12@_N1@Z" "/EXPORT:?resetColor@raw_ostream@llvm@@UEAAAEAV12@XZ" From 0db2b7dccea3565dcee6514c4611aa1e657c5f34 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 19:33:33 +0100 Subject: [PATCH 22/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index 8d69db837..b798d413f 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -190,5 +190,6 @@ if(MSVC) "/EXPORT:?SetBufferAndMode@raw_ostream@llvm@@AEAAXPEAD_KW4BufferKind@12@@Z" "/EXPORT:?flush_nonempty@raw_ostream@llvm@@AEAAXXZ" "/EXPORT:?anchor@raw_ostream@llvm@@EEAAXXZ" + "/EXPORT:?maybeMangleDeclName@compat@@YAXAEBVGlobalDecl@clang@@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z" ) endif() From 9107d44ed1009bde38a32f41ba0a7c8face4f839 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 19:45:21 +0100 Subject: [PATCH 23/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index b798d413f..aa65a5bf2 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -163,17 +163,6 @@ if(MSVC) "/EXPORT:?getNumParams@FunctionDecl@clang@@QEBAIXZ" "/EXPORT:?getTemplateInstantiationPattern@FunctionDecl@clang@@QEBAPEAV12@_N@Z" "/EXPORT:?getTemplateSpecializationArgs@FunctionDecl@clang@@QEBAPEBVTemplateArgumentList@2@XZ" - "/EXPORT:?getLValueReferenceType@ASTContext@clang@@QEBA?AVQualType@2@V32@_N@Z" - "/EXPORT:?getCompilerInstance@Interpreter@clang@@QEAAPEAVCompilerInstance@2@XZ" - "/EXPORT:?RunningOnValgrind@sys@llvm@@YA_NXZ" - "/EXPORT:?grow_pod@?$SmallVectorBase@_K@llvm@@IEAAXPEAX_K1@Z" - "/EXPORT:?access@fs@sys@llvm@@YA?AVerror_code@std@@AEBVTwine@3@W4AccessMode@123@@Z" - "/EXPORT:?CreateCpp@IncrementalCompilerBuilder@clang@@QEAA?AV?$Expected@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@llvm@@XZ" - "/EXPORT:?create@Interpreter@clang@@SA?AV?$Expected@V?$unique_ptr@VInterpreter@clang@@U?$default_delete@VInterpreter@clang@@@std@@@std@@@llvm@@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@Z" - "/EXPORT:?grow_pod@?$SmallVectorBase@I@llvm@@IEAAXPEAX_K1@Z" - "/EXPORT:??0APInt@llvm@@QEAA@IV?$ArrayRef@_K@1@@Z" - "/EXPORT:?sext@APInt@llvm@@QEBA?AV12@I@Z" - "/EXPORT:?zext@APInt@llvm@@QEBA?AV12@I@Z" "/EXPORT:?initSlowCase@APInt@llvm@@AEAAX_K_N@Z" "/EXPORT:?compare@APInt@llvm@@AEBAHAEBV12@@Z" "/EXPORT:?compareSigned@APInt@llvm@@AEBAHAEBV12@@Z" @@ -181,7 +170,6 @@ if(MSVC) "/EXPORT:??1raw_ostream@llvm@@UEAA@XZ" "/EXPORT:??1raw_string_ostream" "/EXPORT:??1raw_string_ostream@llvm@@UEAA@XZ" - "/EXPORT:??1raw_string_ostream@llvm@@QEAA@XZ" "/EXPORT:?write_impl@raw_string_ostream@llvm@@EEAAXPEBD_K@Z" "/EXPORT:?changeColor@raw_ostream@llvm@@UEAAAEAV12@W4Colors@12@_N1@Z" "/EXPORT:?resetColor@raw_ostream@llvm@@UEAAAEAV12@XZ" From 66f0f6673c6a04cbef5edaf32f4056dcd85d028d Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 19:49:57 +0100 Subject: [PATCH 24/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index aa65a5bf2..1ebc4cb7e 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -168,7 +168,6 @@ if(MSVC) "/EXPORT:?compareSigned@APInt@llvm@@AEBAHAEBV12@@Z" "/EXPORT:?compareValues@APSInt@llvm@@SAHAEBV12@0@Z" "/EXPORT:??1raw_ostream@llvm@@UEAA@XZ" - "/EXPORT:??1raw_string_ostream" "/EXPORT:??1raw_string_ostream@llvm@@UEAA@XZ" "/EXPORT:?write_impl@raw_string_ostream@llvm@@EEAAXPEBD_K@Z" "/EXPORT:?changeColor@raw_ostream@llvm@@UEAAAEAV12@W4Colors@12@_N1@Z" From 3879ce3aa1ee080b59a5d0cd73f1b5175ff8d596 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 19:55:49 +0100 Subject: [PATCH 25/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index 1ebc4cb7e..d01510cad 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -178,5 +178,8 @@ if(MSVC) "/EXPORT:?flush_nonempty@raw_ostream@llvm@@AEAAXXZ" "/EXPORT:?anchor@raw_ostream@llvm@@EEAAXXZ" "/EXPORT:?maybeMangleDeclName@compat@@YAXAEBVGlobalDecl@clang@@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z" + "/EXPORT:?Execute@Interpreter@clang@@QEAA?AVError@llvm@@AEAUPartialTranslationUnit@2@@Z" + "/EXPORT:?Parse@Interpreter@clang@@QEAA?AV?$Expected@AEAUPartialTranslationUnit@clang@@@llvm@@VStringRef@4@@Z" + "/EXPORT:?maybeMangleDeclName@compat@@YAXAEBVGlobalDecl@clang@@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z" ) endif() From 577de75140ebbca0d7f3e78e1f98ee44b5cfce7d Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 20:01:06 +0100 Subject: [PATCH 26/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index d01510cad..654de8094 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -180,6 +180,6 @@ if(MSVC) "/EXPORT:?maybeMangleDeclName@compat@@YAXAEBVGlobalDecl@clang@@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z" "/EXPORT:?Execute@Interpreter@clang@@QEAA?AVError@llvm@@AEAUPartialTranslationUnit@2@@Z" "/EXPORT:?Parse@Interpreter@clang@@QEAA?AV?$Expected@AEAUPartialTranslationUnit@clang@@@llvm@@VStringRef@4@@Z" - "/EXPORT:?maybeMangleDeclName@compat@@YAXAEBVGlobalDecl@clang@@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z" + "/EXPORT:??maybeMangleDeclName@compat@@YAXAEBVGlobalDecl@clang@@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z" ) endif() From 75cc1f9d2ab8385311595499330c96249e613b56 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 20:06:39 +0100 Subject: [PATCH 27/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index 654de8094..c906312d5 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -155,8 +155,6 @@ if(MSVC) "/EXPORT:?dbgs@llvm@@YAAEAVraw_ostream@1@XZ" "/EXPORT:?fatalUncheckedError@Error@llvm@@AEBAXXZ" "/EXPORT:?logAllUnhandledErrors@llvm@@YAXVError@1@AEAVraw_ostream@1@VTwine@1@@Z" - "/EXPORT:?Parse@Interpreter@clang@@QEAA?AV?$Expected@AEAUPartialTranslationUnit@clang@@@llvm@@VStringRef@4@@Z" - "/EXPORT:?Execute@Interpreter@clang@@QEAA?AVError@llvm@@AEAUPartialTranslationUnit@2@@Z" "/EXPORT:?isFloatingType@Type@clang@@QEBA_NXZ" "/EXPORT:?getDecl@TagType@clang@@QEBAPEAVTagDecl@2@XZ" "/EXPORT:?hasDefiningAttr@Decl@clang@@QEBA_NXZ" @@ -178,8 +176,5 @@ if(MSVC) "/EXPORT:?flush_nonempty@raw_ostream@llvm@@AEAAXXZ" "/EXPORT:?anchor@raw_ostream@llvm@@EEAAXXZ" "/EXPORT:?maybeMangleDeclName@compat@@YAXAEBVGlobalDecl@clang@@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z" - "/EXPORT:?Execute@Interpreter@clang@@QEAA?AVError@llvm@@AEAUPartialTranslationUnit@2@@Z" - "/EXPORT:?Parse@Interpreter@clang@@QEAA?AV?$Expected@AEAUPartialTranslationUnit@clang@@@llvm@@VStringRef@4@@Z" - "/EXPORT:??maybeMangleDeclName@compat@@YAXAEBVGlobalDecl@clang@@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z" ) endif() From e566c833a5352dc4811a03b7770b1d532d007ef7 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 20:19:47 +0100 Subject: [PATCH 28/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index c906312d5..be0ccd6d6 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -176,5 +176,31 @@ if(MSVC) "/EXPORT:?flush_nonempty@raw_ostream@llvm@@AEAAXXZ" "/EXPORT:?anchor@raw_ostream@llvm@@EEAAXXZ" "/EXPORT:?maybeMangleDeclName@compat@@YAXAEBVGlobalDecl@clang@@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z" +"/EXPORT:?grow_pod@?$SmallVectorBase@I@llvm@@IEAAXPEAX_K1@Z" +"/EXPORT:??0APInt@llvm@@QEAA@IV?$ArrayRef@_K@1@@Z" +"/EXPORT:?sext@APInt@llvm@@QEBA?AV12@I@Z" +"/EXPORT:?zext@APInt@llvm@@QEBA?AV12@I@Z" +"/EXPORT:?allocate_buffer@llvm@@YAPEAX_K0@Z" +"/EXPORT:?RehashTable@StringMapImpl@llvm@@IEAAII@Z" +"/EXPORT:?LookupBucketFor@StringMapImpl@llvm@@IEAAIVStringRef@2@I@Z" +"/EXPORT:?hash@StringMapImpl@llvm@@SAIVStringRef@2@@Z" +"/EXPORT:?getUnqualifiedDesugaredType@Type@clang@@QEBAPEBV12@XZ" +"/EXPORT:?getASTContext@Decl@clang@@QEBAAEAVASTContext@2@XZ" +"/EXPORT:?getAttrs@Decl@clang@@QEBAAEBV?$SmallVector@PEAVAttr@clang@@$03@llvm@@XZ" +"/EXPORT:?lookup@DeclContext@clang@@QEBA?AVDeclContextLookupResult@2@VDeclarationName@2@@Z" +"/EXPORT:?isThisDeclarationADefinition@VarDecl@clang@@QEBA?AW4DefinitionKind@12@AEAVASTContext@2@@Z" +"/EXPORT:?isInjectedClassName@RecordDecl@clang@@QEBA_NXZ" +"/EXPORT:__imp_?classof@CUDAGlobalAttr@clang@@SA_NPEBVAttr@2@@Z" +"/EXPORT:?getTypeDeclTypeSlow@ASTContext@clang@@AEBA?AVQualType@2@PEBVTypeDecl@2@@Z" +"/EXPORT:?getComplexType@ASTContext@clang@@QEBA?AVQualType@2@V32@@Z" +"/EXPORT:?createMangleContext@ASTContext@clang@@QEAAPEAVMangleContext@2@PEBVTargetInfo@2@@Z" +"/EXPORT:?getSpecializations@ClassTemplateDecl@clang@@IEBAAEAV?$FoldingSetVector@VClassTemplateSpecializationDecl@clang@@V?$SmallVector@PEAVClassTemplateSpecializationDecl@clang@@$07@llvm@@@llvm@@XZ" +"/EXPORT:?getSpecializedTemplate@VarTemplateSpecializationDecl@clang@@QEBAPEAVVarTemplateDecl@2@XZ" +"/EXPORT:?shouldMangleDeclName@MangleContext@clang@@QEAA_NPEBVNamedDecl@2@@Z" +"/EXPORT:?mangleName@MangleContext@clang@@QEAAXVGlobalDecl@2@AEAVraw_ostream@llvm@@@Z" +"/EXPORT:?getStdNamespace@Sema@clang@@QEBAPEAVNamespaceDecl@2@XZ" +"/EXPORT:?castToDeclContext@Decl@clang@@SAPEAVDeclContext@2@PEBV12@@Z +"/EXPORT:?decls_begin@DeclContext@clang@@QEBA?AVdecl_iterator@12@XZ" +"/EXPORT:?classof@DeclContext@clang@@SA_NPEBVDecl@2@@Z" ) endif() From bc825cf41eff97fd283b216ae13e16a5c10b00f2 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 20:24:12 +0100 Subject: [PATCH 29/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index be0ccd6d6..f0abc0022 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -199,7 +199,7 @@ if(MSVC) "/EXPORT:?shouldMangleDeclName@MangleContext@clang@@QEAA_NPEBVNamedDecl@2@@Z" "/EXPORT:?mangleName@MangleContext@clang@@QEAAXVGlobalDecl@2@AEAVraw_ostream@llvm@@@Z" "/EXPORT:?getStdNamespace@Sema@clang@@QEBAPEAVNamespaceDecl@2@XZ" -"/EXPORT:?castToDeclContext@Decl@clang@@SAPEAVDeclContext@2@PEBV12@@Z +"/EXPORT:?castToDeclContext@Decl@clang@@SAPEAVDeclContext@2@PEBV12@@Z" "/EXPORT:?decls_begin@DeclContext@clang@@QEBA?AVdecl_iterator@12@XZ" "/EXPORT:?classof@DeclContext@clang@@SA_NPEBVDecl@2@@Z" ) From 7e2514bb61026d0c2ac79e6c7d41b54af6c34077 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 20:28:27 +0100 Subject: [PATCH 30/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index f0abc0022..68bf6af02 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -190,7 +190,6 @@ if(MSVC) "/EXPORT:?lookup@DeclContext@clang@@QEBA?AVDeclContextLookupResult@2@VDeclarationName@2@@Z" "/EXPORT:?isThisDeclarationADefinition@VarDecl@clang@@QEBA?AW4DefinitionKind@12@AEAVASTContext@2@@Z" "/EXPORT:?isInjectedClassName@RecordDecl@clang@@QEBA_NXZ" -"/EXPORT:__imp_?classof@CUDAGlobalAttr@clang@@SA_NPEBVAttr@2@@Z" "/EXPORT:?getTypeDeclTypeSlow@ASTContext@clang@@AEBA?AVQualType@2@PEBVTypeDecl@2@@Z" "/EXPORT:?getComplexType@ASTContext@clang@@QEBA?AVQualType@2@V32@@Z" "/EXPORT:?createMangleContext@ASTContext@clang@@QEAAPEAVMangleContext@2@PEBVTargetInfo@2@@Z" From 86bd0d75991623511db33607734380f5ed11bb3e Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 20:36:48 +0100 Subject: [PATCH 31/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index 68bf6af02..e11780527 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -201,5 +201,15 @@ if(MSVC) "/EXPORT:?castToDeclContext@Decl@clang@@SAPEAVDeclContext@2@PEBV12@@Z" "/EXPORT:?decls_begin@DeclContext@clang@@QEBA?AVdecl_iterator@12@XZ" "/EXPORT:?classof@DeclContext@clang@@SA_NPEBVDecl@2@@Z" +"/EXPORT:?Parse@Interpreter@clang@@QEAA?AV?$Expected@AEAUPartialTranslationUnit@clang@@@llvm@@VStringRef@4@@Z" +"/EXPORT:?Execute@Interpreter@clang@@QEAA?AVError@llvm@@AEAUPartialTranslationUnit@2@@Z" +"/EXPORT:?getLValueReferenceType@ASTContext@clang@@QEBA?AVQualType@2@V32@_N@Z" +"/EXPORT:?getCompilerInstance@Interpreter@clang@@QEAAPEAVCompilerInstance@2@XZ" +"/EXPORT:?RunningOnValgrind@sys@llvm@@YA_NXZ" +"/EXPORT:?grow_pod@?$SmallVectorBase@_K@llvm@@IEAAXPEAX_K1@Z" +"/EXPORT:?access@fs@sys@llvm@@YA?AVerror_code@std@@AEBVTwine@3@W4AccessMode@123@@Z" +"/EXPORT:?CreateCpp@IncrementalCompilerBuilder@clang@@QEAA?AV?$Expected@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@llvm@@XZ" +"/EXPORT:?create@Interpreter@clang@@SA?AV?$Expected@V?$unique_ptr@VInterpreter@clang@@U?$default_delete@VInterpreter@clang@@@std@@@std@@@llvm@@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@Z" +"/EXPORT:__imp_?classof@CUDAGlobalAttr@clang@@SA_NPEBVAttr@2@@Z" ) endif() From 590f9c0415f2c7ed8afffa1e0b177beda048687c Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 20:42:02 +0100 Subject: [PATCH 32/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index e11780527..0e22d84d2 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -209,7 +209,6 @@ if(MSVC) "/EXPORT:?grow_pod@?$SmallVectorBase@_K@llvm@@IEAAXPEAX_K1@Z" "/EXPORT:?access@fs@sys@llvm@@YA?AVerror_code@std@@AEBVTwine@3@W4AccessMode@123@@Z" "/EXPORT:?CreateCpp@IncrementalCompilerBuilder@clang@@QEAA?AV?$Expected@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@llvm@@XZ" -"/EXPORT:?create@Interpreter@clang@@SA?AV?$Expected@V?$unique_ptr@VInterpreter@clang@@U?$default_delete@VInterpreter@clang@@@std@@@std@@@llvm@@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@Z" -"/EXPORT:__imp_?classof@CUDAGlobalAttr@clang@@SA_NPEBVAttr@2@@Z" +"/EXPORT:?create@Interpreter@clang@@SA?AV?$Expected@V?$unique_ptr@VInterpreter@clang@@U?$default_delete@VInterpreter@clang@@@std@@@std@@@llvm@@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@" ) endif() From 64c7aff68edcf5cc9d95f2568ecded4d318eea27 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 20:47:03 +0100 Subject: [PATCH 33/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index 0e22d84d2..3d145f347 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -209,6 +209,5 @@ if(MSVC) "/EXPORT:?grow_pod@?$SmallVectorBase@_K@llvm@@IEAAXPEAX_K1@Z" "/EXPORT:?access@fs@sys@llvm@@YA?AVerror_code@std@@AEBVTwine@3@W4AccessMode@123@@Z" "/EXPORT:?CreateCpp@IncrementalCompilerBuilder@clang@@QEAA?AV?$Expected@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@llvm@@XZ" -"/EXPORT:?create@Interpreter@clang@@SA?AV?$Expected@V?$unique_ptr@VInterpreter@clang@@U?$default_delete@VInterpreter@clang@@@std@@@std@@@llvm@@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@" ) endif() From 8020b1ec9fd792a2b2fc9556213cc471a790ebf2 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 20:57:27 +0100 Subject: [PATCH 34/40] Update CMakeLists.txt --- lib/CppInterOp/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index 3d145f347..8ae0f7749 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -209,5 +209,8 @@ if(MSVC) "/EXPORT:?grow_pod@?$SmallVectorBase@_K@llvm@@IEAAXPEAX_K1@Z" "/EXPORT:?access@fs@sys@llvm@@YA?AVerror_code@std@@AEBVTwine@3@W4AccessMode@123@@Z" "/EXPORT:?CreateCpp@IncrementalCompilerBuilder@clang@@QEAA?AV?$Expected@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@llvm@@XZ" +"/EXPORT:__imp_?classof@DeclContext@clang@@SA_NPEBVDecl@2@@Z" +"/EXPORT:?getMainExecutable@fs@sys@llvm@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEBDPEAX@Z" +"/EXPORT:?parent_path@path@sys@llvm@@YA?AVStringRef@3@V43@W4Style@123@@Z" ) endif() From 051bde8cbeb205c4712b3fa52e71f6b3c373323c Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 4 Jun 2025 21:11:17 +0100 Subject: [PATCH 35/40] Update action.yml --- .github/actions/Build_and_Test_CppInterOp/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/Build_and_Test_CppInterOp/action.yml b/.github/actions/Build_and_Test_CppInterOp/action.yml index ff2ad391f..caa6504d5 100644 --- a/.github/actions/Build_and_Test_CppInterOp/action.yml +++ b/.github/actions/Build_and_Test_CppInterOp/action.yml @@ -133,4 +133,4 @@ runs: -DLLVM_ENABLE_WERROR=On -DBUILD_SHARED_LIBS=ON ` -DClang_DIR="$env:LLVM_BUILD_DIR\lib\cmake\clang" -DCODE_COVERAGE=${{ env.CODE_COVERAGE }} -DCMAKE_INSTALL_PREFIX="$env:CPPINTEROP_DIR" ..\ } - cmake --build . --config ${{ env.BUILD_TYPE }} --target check-cppinterop --parallel ${{ env.ncpus }} + cmake --build . --config ${{ env.BUILD_TYPE }} --target check-cppinterop From a0c57d220b4f5f619ada8dd219fc9cb4eda3aef0 Mon Sep 17 00:00:00 2001 From: mcbarton <150042563+mcbarton@users.noreply.github.com> Date: Thu, 5 Jun 2025 10:19:09 +0100 Subject: [PATCH 36/40] Try new solution --- lib/CppInterOp/CMakeLists.txt | 66 +----------------------------- lib/CppInterOp/clangCppInterOp.def | 65 +++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 64 deletions(-) create mode 100644 lib/CppInterOp/clangCppInterOp.def diff --git a/lib/CppInterOp/CMakeLists.txt b/lib/CppInterOp/CMakeLists.txt index 8ae0f7749..805209640 100644 --- a/lib/CppInterOp/CMakeLists.txt +++ b/lib/CppInterOp/CMakeLists.txt @@ -148,69 +148,7 @@ set_source_files_properties(CppInterOp.cpp PROPERTIES COMPILE_DEFINITIONS ) if(MSVC) - target_link_options(clangCppInterOp PRIVATE - "/EXPORT:?write@raw_ostream@llvm@@QEAAAEAV12@PEBD_K@Z" - "/EXPORT:?errs@llvm@@YAAEAVraw_fd_ostream@1@XZ" - "/EXPORT:?DestroyDataAndMakeUninit@APValue@clang@@AEAAXXZ" - "/EXPORT:?dbgs@llvm@@YAAEAVraw_ostream@1@XZ" - "/EXPORT:?fatalUncheckedError@Error@llvm@@AEBAXXZ" - "/EXPORT:?logAllUnhandledErrors@llvm@@YAXVError@1@AEAVraw_ostream@1@VTwine@1@@Z" - "/EXPORT:?isFloatingType@Type@clang@@QEBA_NXZ" - "/EXPORT:?getDecl@TagType@clang@@QEBAPEAVTagDecl@2@XZ" - "/EXPORT:?hasDefiningAttr@Decl@clang@@QEBA_NXZ" - "/EXPORT:?getNumParams@FunctionDecl@clang@@QEBAIXZ" - "/EXPORT:?getTemplateInstantiationPattern@FunctionDecl@clang@@QEBAPEAV12@_N@Z" - "/EXPORT:?getTemplateSpecializationArgs@FunctionDecl@clang@@QEBAPEBVTemplateArgumentList@2@XZ" - "/EXPORT:?initSlowCase@APInt@llvm@@AEAAX_K_N@Z" - "/EXPORT:?compare@APInt@llvm@@AEBAHAEBV12@@Z" - "/EXPORT:?compareSigned@APInt@llvm@@AEBAHAEBV12@@Z" - "/EXPORT:?compareValues@APSInt@llvm@@SAHAEBV12@0@Z" - "/EXPORT:??1raw_ostream@llvm@@UEAA@XZ" - "/EXPORT:??1raw_string_ostream@llvm@@UEAA@XZ" - "/EXPORT:?write_impl@raw_string_ostream@llvm@@EEAAXPEBD_K@Z" - "/EXPORT:?changeColor@raw_ostream@llvm@@UEAAAEAV12@W4Colors@12@_N1@Z" - "/EXPORT:?resetColor@raw_ostream@llvm@@UEAAAEAV12@XZ" - "/EXPORT:?reverseColor@raw_ostream@llvm@@UEAAAEAV12@XZ" - "/EXPORT:?preferred_buffer_size@raw_ostream@llvm@@MEBA_KXZ" - "/EXPORT:?SetBufferAndMode@raw_ostream@llvm@@AEAAXPEAD_KW4BufferKind@12@@Z" - "/EXPORT:?flush_nonempty@raw_ostream@llvm@@AEAAXXZ" - "/EXPORT:?anchor@raw_ostream@llvm@@EEAAXXZ" - "/EXPORT:?maybeMangleDeclName@compat@@YAXAEBVGlobalDecl@clang@@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z" -"/EXPORT:?grow_pod@?$SmallVectorBase@I@llvm@@IEAAXPEAX_K1@Z" -"/EXPORT:??0APInt@llvm@@QEAA@IV?$ArrayRef@_K@1@@Z" -"/EXPORT:?sext@APInt@llvm@@QEBA?AV12@I@Z" -"/EXPORT:?zext@APInt@llvm@@QEBA?AV12@I@Z" -"/EXPORT:?allocate_buffer@llvm@@YAPEAX_K0@Z" -"/EXPORT:?RehashTable@StringMapImpl@llvm@@IEAAII@Z" -"/EXPORT:?LookupBucketFor@StringMapImpl@llvm@@IEAAIVStringRef@2@I@Z" -"/EXPORT:?hash@StringMapImpl@llvm@@SAIVStringRef@2@@Z" -"/EXPORT:?getUnqualifiedDesugaredType@Type@clang@@QEBAPEBV12@XZ" -"/EXPORT:?getASTContext@Decl@clang@@QEBAAEAVASTContext@2@XZ" -"/EXPORT:?getAttrs@Decl@clang@@QEBAAEBV?$SmallVector@PEAVAttr@clang@@$03@llvm@@XZ" -"/EXPORT:?lookup@DeclContext@clang@@QEBA?AVDeclContextLookupResult@2@VDeclarationName@2@@Z" -"/EXPORT:?isThisDeclarationADefinition@VarDecl@clang@@QEBA?AW4DefinitionKind@12@AEAVASTContext@2@@Z" -"/EXPORT:?isInjectedClassName@RecordDecl@clang@@QEBA_NXZ" -"/EXPORT:?getTypeDeclTypeSlow@ASTContext@clang@@AEBA?AVQualType@2@PEBVTypeDecl@2@@Z" -"/EXPORT:?getComplexType@ASTContext@clang@@QEBA?AVQualType@2@V32@@Z" -"/EXPORT:?createMangleContext@ASTContext@clang@@QEAAPEAVMangleContext@2@PEBVTargetInfo@2@@Z" -"/EXPORT:?getSpecializations@ClassTemplateDecl@clang@@IEBAAEAV?$FoldingSetVector@VClassTemplateSpecializationDecl@clang@@V?$SmallVector@PEAVClassTemplateSpecializationDecl@clang@@$07@llvm@@@llvm@@XZ" -"/EXPORT:?getSpecializedTemplate@VarTemplateSpecializationDecl@clang@@QEBAPEAVVarTemplateDecl@2@XZ" -"/EXPORT:?shouldMangleDeclName@MangleContext@clang@@QEAA_NPEBVNamedDecl@2@@Z" -"/EXPORT:?mangleName@MangleContext@clang@@QEAAXVGlobalDecl@2@AEAVraw_ostream@llvm@@@Z" -"/EXPORT:?getStdNamespace@Sema@clang@@QEBAPEAVNamespaceDecl@2@XZ" -"/EXPORT:?castToDeclContext@Decl@clang@@SAPEAVDeclContext@2@PEBV12@@Z" -"/EXPORT:?decls_begin@DeclContext@clang@@QEBA?AVdecl_iterator@12@XZ" -"/EXPORT:?classof@DeclContext@clang@@SA_NPEBVDecl@2@@Z" -"/EXPORT:?Parse@Interpreter@clang@@QEAA?AV?$Expected@AEAUPartialTranslationUnit@clang@@@llvm@@VStringRef@4@@Z" -"/EXPORT:?Execute@Interpreter@clang@@QEAA?AVError@llvm@@AEAUPartialTranslationUnit@2@@Z" -"/EXPORT:?getLValueReferenceType@ASTContext@clang@@QEBA?AVQualType@2@V32@_N@Z" -"/EXPORT:?getCompilerInstance@Interpreter@clang@@QEAAPEAVCompilerInstance@2@XZ" -"/EXPORT:?RunningOnValgrind@sys@llvm@@YA_NXZ" -"/EXPORT:?grow_pod@?$SmallVectorBase@_K@llvm@@IEAAXPEAX_K1@Z" -"/EXPORT:?access@fs@sys@llvm@@YA?AVerror_code@std@@AEBVTwine@3@W4AccessMode@123@@Z" -"/EXPORT:?CreateCpp@IncrementalCompilerBuilder@clang@@QEAA?AV?$Expected@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@llvm@@XZ" -"/EXPORT:__imp_?classof@DeclContext@clang@@SA_NPEBVDecl@2@@Z" -"/EXPORT:?getMainExecutable@fs@sys@llvm@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEBDPEAX@Z" -"/EXPORT:?parent_path@path@sys@llvm@@YA?AVStringRef@3@V43@W4Style@123@@Z" + set_target_properties(clangCppInterOp PROPERTIES + LINK_FLAGS "/DEF:${CMAKE_CURRENT_SOURCE_DIR}/clangCppInterOp.def" ) endif() diff --git a/lib/CppInterOp/clangCppInterOp.def b/lib/CppInterOp/clangCppInterOp.def new file mode 100644 index 000000000..670bde7f3 --- /dev/null +++ b/lib/CppInterOp/clangCppInterOp.def @@ -0,0 +1,65 @@ +LIBRARY clangCppInterOp +EXPORTS + ?write@raw_ostream@llvm@@QEAAAEAV12@PEBD_K@Z + ?errs@llvm@@YAAEAVraw_fd_ostream@1@XZ + ?DestroyDataAndMakeUninit@APValue@clang@@AEAAXXZ + ?dbgs@llvm@@YAAEAVraw_ostream@1@XZ + ?fatalUncheckedError@Error@llvm@@AEBAXXZ + ?logAllUnhandledErrors@llvm@@YAXVError@1@AEAVraw_ostream@1@VTwine@1@@Z + ?isFloatingType@Type@clang@@QEBA_NXZ + ?getDecl@TagType@clang@@QEBAPEAVTagDecl@2@XZ + ?hasDefiningAttr@Decl@clang@@QEBA_NXZ + ?getNumParams@FunctionDecl@clang@@QEBAIXZ + ?getTemplateInstantiationPattern@FunctionDecl@clang@@QEBAPEAV12@_N@Z + ?getTemplateSpecializationArgs@FunctionDecl@clang@@QEBAPEBVTemplateArgumentList@2@XZ + ?initSlowCase@APInt@llvm@@AEAAX_K_N@Z + ?compare@APInt@llvm@@AEBAHAEBV12@@Z + ?compareSigned@APInt@llvm@@AEBAHAEBV12@@Z + ?compareValues@APSInt@llvm@@SAHAEBV12@0@Z + ??1raw_ostream@llvm@@UEAA@XZ + ??1raw_string_ostream@llvm@@UEAA@XZ + ?write_impl@raw_string_ostream@llvm@@EEAAXPEBD_K@Z + ?changeColor@raw_ostream@llvm@@UEAAAEAV12@W4Colors@12@_N1@Z + ?resetColor@raw_ostream@llvm@@UEAAAEAV12@XZ + ?reverseColor@raw_ostream@llvm@@UEAAAEAV12@XZ + ?preferred_buffer_size@raw_ostream@llvm@@MEBA_KXZ + ?SetBufferAndMode@raw_ostream@llvm@@AEAAXPEAD_KW4BufferKind@12@@Z + ?flush_nonempty@raw_ostream@llvm@@AEAAXXZ + ?anchor@raw_ostream@llvm@@EEAAXXZ + ?maybeMangleDeclName@compat@@YAXAEBVGlobalDecl@clang@@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z + ?grow_pod@?$SmallVectorBase@I@llvm@@IEAAXPEAX_K1@Z + ??0APInt@llvm@@QEAA@IV?$ArrayRef@_K@1@@Z + ?sext@APInt@llvm@@QEBA?AV12@I@Z + ?zext@APInt@llvm@@QEBA?AV12@I@Z + ?allocate_buffer@llvm@@YAPEAX_K0@Z + ?RehashTable@StringMapImpl@llvm@@IEAAII@Z + ?LookupBucketFor@StringMapImpl@llvm@@IEAAIVStringRef@2@I@Z + ?hash@StringMapImpl@llvm@@SAIVStringRef@2@@Z + ?getUnqualifiedDesugaredType@Type@clang@@QEBAPEBV12@XZ + ?getASTContext@Decl@clang@@QEBAAEAVASTContext@2@XZ + ?getAttrs@Decl@clang@@QEBAAEBV?$SmallVector@PEAVAttr@clang@@$03@llvm@@XZ + ?lookup@DeclContext@clang@@QEBA?AVDeclContextLookupResult@2@VDeclarationName@2@@Z + ?isThisDeclarationADefinition@VarDecl@clang@@QEBA?AW4DefinitionKind@12@AEAVASTContext@2@@Z + ?isInjectedClassName@RecordDecl@clang@@QEBA_NXZ + ?getTypeDeclTypeSlow@ASTContext@clang@@AEBA?AVQualType@2@PEBVTypeDecl@2@@Z + ?getComplexType@ASTContext@clang@@QEBA?AVQualType@2@V32@@Z + ?createMangleContext@ASTContext@clang@@QEAAPEAVMangleContext@2@PEBVTargetInfo@2@@Z + ?getSpecializations@ClassTemplateDecl@clang@@IEBAAEAV?$FoldingSetVector@VClassTemplateSpecializationDecl@clang@@V?$SmallVector@PEAVClassTemplateSpecializationDecl@clang@@$07@llvm@@@llvm@@XZ + ?getSpecializedTemplate@VarTemplateSpecializationDecl@clang@@QEBAPEAVVarTemplateDecl@2@XZ + ?shouldMangleDeclName@MangleContext@clang@@QEAA_NPEBVNamedDecl@2@@Z + ?mangleName@MangleContext@clang@@QEAAXVGlobalDecl@2@AEAVraw_ostream@llvm@@@Z + ?getStdNamespace@Sema@clang@@QEBAPEAVNamespaceDecl@2@XZ + ?castToDeclContext@Decl@clang@@SAPEAVDeclContext@2@PEBV12@@Z + ?decls_begin@DeclContext@clang@@QEBA?AVdecl_iterator@12@XZ + ?classof@DeclContext@clang@@SA_NPEBVDecl@2@@Z + ?Parse@Interpreter@clang@@QEAA?AV?$Expected@AEAUPartialTranslationUnit@clang@@@llvm@@VStringRef@4@@Z + ?Execute@Interpreter@clang@@QEAA?AVError@llvm@@AEAUPartialTranslationUnit@2@@Z + ?getLValueReferenceType@ASTContext@clang@@QEBA?AVQualType@2@V32@_N@Z + ?getCompilerInstance@Interpreter@clang@@QEAAPEAVCompilerInstance@2@XZ + ?RunningOnValgrind@sys@llvm@@YA_NXZ + ?grow_pod@?$SmallVectorBase@_K@llvm@@IEAAXPEAX_K1@Z + ?access@fs@sys@llvm@@YA?AVerror_code@std@@AEBVTwine@3@W4AccessMode@123@@Z + ?CreateCpp@IncrementalCompilerBuilder@clang@@QEAA?AV?$Expected@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@llvm@@XZ + __imp_?classof@DeclContext@clang@@SA_NPEBVDecl@2@@Z + ?getMainExecutable@fs@sys@llvm@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEBDPEAX@Z + ?parent_path@path@sys@llvm@@YA?AVStringRef@3@V43@W4Style@123@@Z From e2c1f61ecd27e7e3188dea7ff90d737523bcecb7 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Mon, 9 Jun 2025 22:59:09 +0100 Subject: [PATCH 37/40] Update clangCppInterOp.def --- lib/CppInterOp/clangCppInterOp.def | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/CppInterOp/clangCppInterOp.def b/lib/CppInterOp/clangCppInterOp.def index 670bde7f3..7f60edd78 100644 --- a/lib/CppInterOp/clangCppInterOp.def +++ b/lib/CppInterOp/clangCppInterOp.def @@ -60,6 +60,5 @@ EXPORTS ?grow_pod@?$SmallVectorBase@_K@llvm@@IEAAXPEAX_K1@Z ?access@fs@sys@llvm@@YA?AVerror_code@std@@AEBVTwine@3@W4AccessMode@123@@Z ?CreateCpp@IncrementalCompilerBuilder@clang@@QEAA?AV?$Expected@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@llvm@@XZ - __imp_?classof@DeclContext@clang@@SA_NPEBVDecl@2@@Z ?getMainExecutable@fs@sys@llvm@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEBDPEAX@Z ?parent_path@path@sys@llvm@@YA?AVStringRef@3@V43@W4Style@123@@Z From 6a0e0069c7777c101794c5f0c490a0e06b9a399b Mon Sep 17 00:00:00 2001 From: mcbarton Date: Tue, 10 Jun 2025 07:44:58 +0100 Subject: [PATCH 38/40] Update clangCppInterOp.def --- lib/CppInterOp/clangCppInterOp.def | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/CppInterOp/clangCppInterOp.def b/lib/CppInterOp/clangCppInterOp.def index 7f60edd78..b1cb86896 100644 --- a/lib/CppInterOp/clangCppInterOp.def +++ b/lib/CppInterOp/clangCppInterOp.def @@ -1,6 +1,7 @@ LIBRARY clangCppInterOp EXPORTS ?write@raw_ostream@llvm@@QEAAAEAV12@PEBD_K@Z + ?create@Interpreter@clang@@SA?AV?$Expected@V?$unique_ptr@VInterpreter@clang@@U?$default_delete@VInterpreter@clang@@@std@@@std@@@llvm@@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@Z ?errs@llvm@@YAAEAVraw_fd_ostream@1@XZ ?DestroyDataAndMakeUninit@APValue@clang@@AEAAXXZ ?dbgs@llvm@@YAAEAVraw_ostream@1@XZ From 2ab4ec3f40740db9749d1d5dfee5fee24e6044e7 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Tue, 10 Jun 2025 07:54:22 +0100 Subject: [PATCH 39/40] Update clangCppInterOp.def --- lib/CppInterOp/clangCppInterOp.def | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/CppInterOp/clangCppInterOp.def b/lib/CppInterOp/clangCppInterOp.def index b1cb86896..a12b6784d 100644 --- a/lib/CppInterOp/clangCppInterOp.def +++ b/lib/CppInterOp/clangCppInterOp.def @@ -1,6 +1,7 @@ LIBRARY clangCppInterOp EXPORTS ?write@raw_ostream@llvm@@QEAAAEAV12@PEBD_K@Z + ??0GlobalDecl@clang@@QEAA@PEBVNamedDecl@1@@Z ?create@Interpreter@clang@@SA?AV?$Expected@V?$unique_ptr@VInterpreter@clang@@U?$default_delete@VInterpreter@clang@@@std@@@std@@@llvm@@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@Z ?errs@llvm@@YAAEAVraw_fd_ostream@1@XZ ?DestroyDataAndMakeUninit@APValue@clang@@AEAAXXZ From 83837d6a33fcc7bb472f7b6ba3c109711161afb1 Mon Sep 17 00:00:00 2001 From: mcbarton Date: Tue, 10 Jun 2025 09:38:04 +0100 Subject: [PATCH 40/40] Update clangCppInterOp.def --- lib/CppInterOp/clangCppInterOp.def | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/CppInterOp/clangCppInterOp.def b/lib/CppInterOp/clangCppInterOp.def index a12b6784d..75a2de413 100644 --- a/lib/CppInterOp/clangCppInterOp.def +++ b/lib/CppInterOp/clangCppInterOp.def @@ -1,7 +1,7 @@ LIBRARY clangCppInterOp EXPORTS ?write@raw_ostream@llvm@@QEAAAEAV12@PEBD_K@Z - ??0GlobalDecl@clang@@QEAA@PEBVNamedDecl@1@@Z + __imp_?classof@DeclContext@clang@@SA_NPEBVDecl@2@@Z ?create@Interpreter@clang@@SA?AV?$Expected@V?$unique_ptr@VInterpreter@clang@@U?$default_delete@VInterpreter@clang@@@std@@@std@@@llvm@@V?$unique_ptr@VCompilerInstance@clang@@U?$default_delete@VCompilerInstance@clang@@@std@@@std@@@Z ?errs@llvm@@YAAEAVraw_fd_ostream@1@XZ ?DestroyDataAndMakeUninit@APValue@clang@@AEAAXXZ