diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 521bc25b..9485b984 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,26 +28,6 @@ jobs: ./artifacts/pkg/**/* ./artifacts/tst/**/* if-no-files-found: error - windows-x86: - runs-on: ${{ matrix.os }}-latest - strategy: - matrix: - architecture: [ x86 ] - configuration: [ debug, release ] - os: [ windows ] - steps: - - uses: actions/checkout@v3 - - run: ./scripts/cibuild.cmd -configuration ${{ matrix.configuration }} -architecture ${{ matrix.architecture }} /p:PlatformTarget=${{ matrix.architecture }} - shell: cmd - - uses: actions/upload-artifact@v3 - with: - name: ${{ matrix.os }}_${{ matrix.configuration }}_${{ matrix.architecture }} - path: | - ./artifacts/bin/**/* - ./artifacts/log/**/* - ./artifacts/pkg/**/* - ./artifacts/tst/**/* - if-no-files-found: error linux-x64: runs-on: ${{ matrix.os }}-latest strategy: @@ -173,7 +153,7 @@ jobs: publish-nightlies-azure: runs-on: ubuntu-latest if: ${{ github.event_name == 'push' }} - needs: [ windows-x64, windows-x86, linux-x64, macos-x64, sign-nuget-preview, sign-nuget-release ] + needs: [ windows-x64, linux-x64, macos-x64, sign-nuget-preview, sign-nuget-release ] steps: - uses: actions/download-artifact@v3 with: @@ -189,7 +169,7 @@ jobs: publish-nightlies-github: runs-on: ubuntu-latest if: false - needs: [ windows-x64, windows-x86, linux-x64, macos-x64, sign-nuget-preview, sign-nuget-release ] + needs: [ windows-x64, linux-x64, macos-x64, sign-nuget-preview, sign-nuget-release ] steps: - uses: actions/download-artifact@v3 with: diff --git a/CMakeLists.txt b/CMakeLists.txt index fc828d4a..c6e7d2cf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.13) -project(ClangSharp VERSION 16.0.6) +project(ClangSharp VERSION 17.0.4) set(CMAKE_CXX_STANDARD 17) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) diff --git a/ClangSharp.sln b/ClangSharp.sln index 22b11833..b6d29241 100644 --- a/ClangSharp.sln +++ b/ClangSharp.sln @@ -58,6 +58,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripts", "scripts", "{2F80 scripts\build.sh = scripts\build.sh scripts\cibuild.cmd = scripts\cibuild.cmd scripts\cibuild.sh = scripts\cibuild.sh + scripts\SignClientFileList.txt = scripts\SignClientFileList.txt EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "packages", "packages", "{AE6CF12F-5CC3-463B-A74B-6CCAE26EE4EF}" @@ -86,11 +87,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libclang.runtime.win-x64", packages\libclang\libclang.runtime.win-x64\libclang.runtime.win-x64.nuspec = packages\libclang\libclang.runtime.win-x64\libclang.runtime.win-x64.nuspec EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libclang.runtime.win-x86", "libclang.runtime.win-x86", "{98BDA79D-8D81-4381-B794-65BAF82349D4}" - ProjectSection(SolutionItems) = preProject - packages\libclang\libclang.runtime.win-x86\libclang.runtime.win-x86.nuspec = packages\libclang\libclang.runtime.win-x86\libclang.runtime.win-x86.nuspec - EndProjectSection -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libClangSharp", "libClangSharp", "{EDEC2130-DA14-4415-91A3-225733FB61F8}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libClangSharp", "libClangSharp", "{B043C50D-8B06-4663-943A-DEBB6CFACEA6}" @@ -114,11 +110,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libClangSharp.runtime.win-x packages\libClangSharp\libClangSharp.runtime.win-x64\libClangSharp.runtime.win-x64.nuspec = packages\libClangSharp\libClangSharp.runtime.win-x64\libClangSharp.runtime.win-x64.nuspec EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libClangSharp.runtime.win-x86", "libClangSharp.runtime.win-x86", "{6DF42BA2-F962-4BFC-9444-D0FD53D022B0}" - ProjectSection(SolutionItems) = preProject - packages\libClangSharp\libClangSharp.runtime.win-x86\libClangSharp.runtime.win-x86.nuspec = packages\libClangSharp\libClangSharp.runtime.win-x86\libClangSharp.runtime.win-x86.nuspec - EndProjectSection -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libClangSharp", "libClangSharp", "{520C1055-34A1-4C72-AC24-023F84EF461D}" ProjectSection(SolutionItems) = preProject sources\libClangSharp\CIndexDiagnostic.cpp = sources\libClangSharp\CIndexDiagnostic.cpp @@ -224,13 +215,11 @@ Global {7D89072F-8E3E-4009-BCCD-5D3C69F88042} = {DFACF682-2673-4AE1-8F10-816D025C2D45} {8006B5D7-5E0E-4A0A-884F-62C5216144EE} = {DFACF682-2673-4AE1-8F10-816D025C2D45} {4A298C7E-BF4D-418D-B70D-FE6D6F8097FD} = {DFACF682-2673-4AE1-8F10-816D025C2D45} - {98BDA79D-8D81-4381-B794-65BAF82349D4} = {DFACF682-2673-4AE1-8F10-816D025C2D45} {EDEC2130-DA14-4415-91A3-225733FB61F8} = {AE6CF12F-5CC3-463B-A74B-6CCAE26EE4EF} {B043C50D-8B06-4663-943A-DEBB6CFACEA6} = {EDEC2130-DA14-4415-91A3-225733FB61F8} {4F2F7171-202E-4E23-AABF-EB3501BDB0B2} = {EDEC2130-DA14-4415-91A3-225733FB61F8} {C2BE41E6-95E9-431A-9C49-923BD50692AB} = {EDEC2130-DA14-4415-91A3-225733FB61F8} {C1218464-0B5A-480E-BA13-2C6EA370987E} = {EDEC2130-DA14-4415-91A3-225733FB61F8} - {6DF42BA2-F962-4BFC-9444-D0FD53D022B0} = {EDEC2130-DA14-4415-91A3-225733FB61F8} {520C1055-34A1-4C72-AC24-023F84EF461D} = {732BA761-B58E-4C34-9C96-097382A55A7A} {B3F3A831-DA09-40A2-A25C-DE47A58BB93B} = {DFACF682-2673-4AE1-8F10-816D025C2D45} {69B805C6-230D-49A2-A569-3CAC2EC9F293} = {EDEC2130-DA14-4415-91A3-225733FB61F8} diff --git a/Directory.Build.props b/Directory.Build.props index e6c20eab..d7ca4d54 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -44,10 +44,10 @@ true true $(BaseArtifactsPath)pkg/$(Configuration)/ - 16.0.0 + 17.0.0 ClangSharp ClangSharp - 16.0.1 + 17.0.0 rc1 pr diff --git a/Directory.Packages.props b/Directory.Packages.props index 70b0337b..926be196 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -12,14 +12,12 @@ - - - - - + + + + - diff --git a/README.md b/README.md index 6e77ca41..9149de5e 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ A convenience package which provides the native libClang library for several pla A helper package which exposes many Clang APIs missing from libClang is provided here: https://www.nuget.org/packages/libClangSharp -**NOTE:** libclang and libClangSharp are meta-packages which point to the platform-specific runtime packages ([e.g.](https://www.nuget.org/packages/libClangSharp.runtime.win-x64/16.0.6); see others owned by [tannergooding](https://www.nuget.org/profiles/tannergooding)). Several manual steps may be required to use them, see discussion in [#46](https://github.com/dotnet/ClangSharp/issues/46) and [#118](https://github.com/dotnet/ClangSharp/issues/118). +**NOTE:** libclang and libClangSharp are meta-packages which point to the platform-specific runtime packages ([e.g.](https://www.nuget.org/packages/libClangSharp.runtime.win-x64/17.0.4); see others owned by [tannergooding](https://www.nuget.org/profiles/tannergooding)). Several manual steps may be required to use them, see discussion in [#46](https://github.com/dotnet/ClangSharp/issues/46) and [#118](https://github.com/dotnet/ClangSharp/issues/118). Nightly packages are available via the NuGet Feed URL: https://pkgs.clangsharp.dev/index.json @@ -71,45 +71,60 @@ You can see any additional options that are available by passing `-help` on Wind ClangSharp provides a helper library, `libClangSharp`, that exposes additional functionality that is not available in `libClang`. Building this requires [CMake 3.13 or later](https://cmake.org/download/) as well as a version of MSVC or Clang that supports C++ 17. -To succesfully build `libClangSharp` you must first build Clang (https://clang.llvm.org/get_started.html). The process done on Windows is roughly: +To successfully build `libClangSharp` you must first build Clang (https://clang.llvm.org/get_started.html). + +#### Windows + +The process done on Windows is roughly: ```cmd -git clone --single-branch --branch llvmorg-16.0.6 https://github.com/llvm/llvm-project +git clone --single-branch --branch llvmorg-17.0.4 https://github.com/llvm/llvm-project cd llvm-project mkdir artifacts/bin cd artifacts/bin -cmake -DLLVM_ENABLE_PROJECTS=clang -DCMAKE_INSTALL_PREFIX=../install -G "Visual Studio 16 2019" -A x64 -Thost=x64 ../../llvm +cmake -DCMAKE_INSTALL_PREFIX=../install -DLLVM_ENABLE_PROJECTS=clang -G "Visual Studio 17 2022" -A x64 -Thost=x64 ../../llvm ``` You can then open `LLVM.sln` in Visual Studio, change the configuration to `Release` and build the `install` project. + Afterwards, you can then build `libClangSharp` where the process followed is roughly: ```cmd git clone https://github.com/dotnet/clangsharp cd clangsharp mkdir artifacts/bin/native cd artifacts/bin/native -cmake -DPATH_TO_LLVM=../../../../llvm-project/artifacts/install/ -G "Visual Studio 16 2019" -A x64 -Thost=x64 ../../.. +cmake -DCMAKE_INSTALL_PREFIX=../install -DPATH_TO_LLVM=../../../../llvm-project/artifacts/install -G "Visual Studio 17 2022" -A x64 -Thost=x64 ../../.. ``` -You can then open `libClangSharp.sln` in Visual Studio, change the configuration to `Release` and build the `ALL_BUILD` project. +You can then open `libClangSharp.sln` in Visual Studio, change the configuration to `Release` and build the `install` project. -If you building on Linux -``` -git clone https://github.com/dotnet/clangsharp -cd clangsharp -mkdir artifacts/bin/native -cd artifacts/bin/native -cmake -DPATH_TO_LLVM=/usr/lib/llvm/14/ ../../.. -make -``` +#### Linux -or if you prefer Ninja +The process done on Linux is roughly: +```bash +git clone --single-branch --branch llvmorg-17.0.4 https://github.com/llvm/llvm-project +cd llvm-project +mkdir -p artifacts/bin +cd artifacts/bin +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../install -DLLVM_ENABLE_PROJECTS=clang ../../llvm +make install ``` + +If you want your Linux build to be portable, you may also consider specifying the following options: +* `-DLLVM_ENABLE_TERMINFO=OFF` +* `-DLLVM_ENABLE_ZLIB=OFF` +* `-DLLVM_ENABLE_ZSTD=OFF` +* `-DLLVM_STATIC_LINK_CXX_STDLIB=ON` + +If you would prefer to use `Ninja`, then make sure to pass in `-G Ninja` and then invoke `ninja` rather than `make install`. + +Afterwards, you can then build `libClangSharp` where the process followed is roughly: +```cmd git clone https://github.com/dotnet/clangsharp cd clangsharp -mkdir artifacts/bin/native +mkdir -p artifacts/bin/native cd artifacts/bin/native -cmake -DPATH_TO_LLVM=/usr/lib/llvm/14/ -G Ninja ../../.. -ninja +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../install -DPATH_TO_LLVM=../../../../llvm-project/artifacts/install +make install ``` ### Generating Bindings @@ -118,7 +133,7 @@ This program will take a given set of C or C++ header files and generate C# bind The simplest and recommended setup is to install the generator as a .NET tool and then use response files: ``` -dotnet tool install --global ClangSharpPInvokeGenerator --version 16.0.0 +dotnet tool install --global ClangSharpPInvokeGenerator --version 17.0.0 ClangSharpPInvokeGenerator @generate.rsp ``` diff --git a/packages/libClangSharp/libClangSharp.runtime.linux-arm64/libClangSharp.runtime.linux-arm64.nuspec b/packages/libClangSharp/libClangSharp.runtime.linux-arm64/libClangSharp.runtime.linux-arm64.nuspec index 80ef2575..d405ce9d 100644 --- a/packages/libClangSharp/libClangSharp.runtime.linux-arm64/libClangSharp.runtime.linux-arm64.nuspec +++ b/packages/libClangSharp/libClangSharp.runtime.linux-arm64/libClangSharp.runtime.linux-arm64.nuspec @@ -2,7 +2,7 @@ libClangSharp.runtime.linux-arm64 - 16.0.6 + 17.0.4 .NET Foundation and Contributors .NET Foundation and Contributors true diff --git a/packages/libClangSharp/libClangSharp.runtime.linux-x64/libClangSharp.runtime.linux-x64.nuspec b/packages/libClangSharp/libClangSharp.runtime.linux-x64/libClangSharp.runtime.linux-x64.nuspec index 049e5b53..8c60a80a 100644 --- a/packages/libClangSharp/libClangSharp.runtime.linux-x64/libClangSharp.runtime.linux-x64.nuspec +++ b/packages/libClangSharp/libClangSharp.runtime.linux-x64/libClangSharp.runtime.linux-x64.nuspec @@ -2,7 +2,7 @@ libClangSharp.runtime.linux-x64 - 16.0.6 + 17.0.4 .NET Foundation and Contributors .NET Foundation and Contributors true diff --git a/packages/libClangSharp/libClangSharp.runtime.osx-arm64/libClangSharp.runtime.osx-arm64.nuspec b/packages/libClangSharp/libClangSharp.runtime.osx-arm64/libClangSharp.runtime.osx-arm64.nuspec index 29133d29..11b372f1 100644 --- a/packages/libClangSharp/libClangSharp.runtime.osx-arm64/libClangSharp.runtime.osx-arm64.nuspec +++ b/packages/libClangSharp/libClangSharp.runtime.osx-arm64/libClangSharp.runtime.osx-arm64.nuspec @@ -2,7 +2,7 @@ libClangSharp.runtime.osx-arm64 - 16.0.6 + 17.0.4 .NET Foundation and Contributors .NET Foundation and Contributors true diff --git a/packages/libClangSharp/libClangSharp.runtime.osx-x64/libClangSharp.runtime.osx-x64.nuspec b/packages/libClangSharp/libClangSharp.runtime.osx-x64/libClangSharp.runtime.osx-x64.nuspec index a4ac9d43..73ba7da4 100644 --- a/packages/libClangSharp/libClangSharp.runtime.osx-x64/libClangSharp.runtime.osx-x64.nuspec +++ b/packages/libClangSharp/libClangSharp.runtime.osx-x64/libClangSharp.runtime.osx-x64.nuspec @@ -2,7 +2,7 @@ libClangSharp.runtime.osx-x64 - 16.0.6 + 17.0.4 .NET Foundation and Contributors .NET Foundation and Contributors true diff --git a/packages/libClangSharp/libClangSharp.runtime.win-arm64/libClangSharp.runtime.win-arm64.nuspec b/packages/libClangSharp/libClangSharp.runtime.win-arm64/libClangSharp.runtime.win-arm64.nuspec index 86957055..37da8975 100644 --- a/packages/libClangSharp/libClangSharp.runtime.win-arm64/libClangSharp.runtime.win-arm64.nuspec +++ b/packages/libClangSharp/libClangSharp.runtime.win-arm64/libClangSharp.runtime.win-arm64.nuspec @@ -2,7 +2,7 @@ libClangSharp.runtime.win-arm64 - 16.0.6 + 17.0.4 .NET Foundation and Contributors .NET Foundation and Contributors true diff --git a/packages/libClangSharp/libClangSharp.runtime.win-x64/libClangSharp.runtime.win-x64.nuspec b/packages/libClangSharp/libClangSharp.runtime.win-x64/libClangSharp.runtime.win-x64.nuspec index 644c39fe..b4f60fe0 100644 --- a/packages/libClangSharp/libClangSharp.runtime.win-x64/libClangSharp.runtime.win-x64.nuspec +++ b/packages/libClangSharp/libClangSharp.runtime.win-x64/libClangSharp.runtime.win-x64.nuspec @@ -2,7 +2,7 @@ libClangSharp.runtime.win-x64 - 16.0.6 + 17.0.4 .NET Foundation and Contributors .NET Foundation and Contributors true diff --git a/packages/libClangSharp/libClangSharp.runtime.win-x86/libClangSharp.runtime.win-x86.nuspec b/packages/libClangSharp/libClangSharp.runtime.win-x86/libClangSharp.runtime.win-x86.nuspec deleted file mode 100644 index e063f344..00000000 --- a/packages/libClangSharp/libClangSharp.runtime.win-x86/libClangSharp.runtime.win-x86.nuspec +++ /dev/null @@ -1,20 +0,0 @@ - - - - libClangSharp.runtime.win-x86 - 16.0.6 - .NET Foundation and Contributors - .NET Foundation and Contributors - true - MIT - https://github.com/dotnet/clangsharp - win x86 native library for libClangSharp. - Copyright © .NET Foundation and Contributors - - - - - - - - diff --git a/packages/libClangSharp/libClangSharp/libClangSharp.nuspec b/packages/libClangSharp/libClangSharp/libClangSharp.nuspec index b707bea6..d65ca77e 100644 --- a/packages/libClangSharp/libClangSharp/libClangSharp.nuspec +++ b/packages/libClangSharp/libClangSharp/libClangSharp.nuspec @@ -2,7 +2,7 @@ libClangSharp - 16.0.6 + 17.0.4 .NET Foundation and Contributors .NET Foundation and Contributors true diff --git a/packages/libClangSharp/libClangSharp/runtime.json b/packages/libClangSharp/libClangSharp/runtime.json index e99e6637..0b13c899 100644 --- a/packages/libClangSharp/libClangSharp/runtime.json +++ b/packages/libClangSharp/libClangSharp/runtime.json @@ -2,37 +2,32 @@ "runtimes": { "linux-arm64": { "libClangSharp": { - "libClangSharp.runtime.linux-arm64": "16.0.6" + "libClangSharp.runtime.linux-arm64": "17.0.4" } }, "linux-x64": { "libClangSharp": { - "libClangSharp.runtime.linux-x64": "16.0.6" + "libClangSharp.runtime.linux-x64": "17.0.4" } }, "osx-arm64": { "libClangSharp": { - "libClangSharp.runtime.osx-arm64": "16.0.6" + "libClangSharp.runtime.osx-arm64": "17.0.4" } }, "osx-x64": { "libClangSharp": { - "libClangSharp.runtime.osx-x64": "16.0.6" + "libClangSharp.runtime.osx-x64": "17.0.4" } }, "win-arm64": { "libClangSharp": { - "libClangSharp.runtime.win-arm64": "16.0.6" + "libClangSharp.runtime.win-arm64": "17.0.4" } }, "win-x64": { "libClangSharp": { - "libClangSharp.runtime.win-x64": "16.0.6" - } - }, - "win-x86": { - "libClangSharp": { - "libClangSharp.runtime.win-x86": "16.0.6" + "libClangSharp.runtime.win-x64": "17.0.4" } } } diff --git a/packages/libclang/libclang.runtime.linux-arm64/libclang.runtime.linux-arm64.nuspec b/packages/libclang/libclang.runtime.linux-arm64/libclang.runtime.linux-arm64.nuspec index f503faa4..4040079f 100644 --- a/packages/libclang/libclang.runtime.linux-arm64/libclang.runtime.linux-arm64.nuspec +++ b/packages/libclang/libclang.runtime.linux-arm64/libclang.runtime.linux-arm64.nuspec @@ -2,7 +2,7 @@ libclang.runtime.linux-arm64 - 16.0.6 + 17.0.4 .NET Foundation and Contributors .NET Foundation and Contributors true @@ -10,7 +10,7 @@ https://github.com/dotnet/clangsharp linux arm64 native library for libclang. Copyright © LLVM Project - + diff --git a/packages/libclang/libclang.runtime.linux-x64/libclang.runtime.linux-x64.nuspec b/packages/libclang/libclang.runtime.linux-x64/libclang.runtime.linux-x64.nuspec index 8a6a3c47..5d85795d 100644 --- a/packages/libclang/libclang.runtime.linux-x64/libclang.runtime.linux-x64.nuspec +++ b/packages/libclang/libclang.runtime.linux-x64/libclang.runtime.linux-x64.nuspec @@ -2,7 +2,7 @@ libclang.runtime.linux-x64 - 16.0.6 + 17.0.4 .NET Foundation and Contributors .NET Foundation and Contributors true @@ -10,7 +10,7 @@ https://github.com/dotnet/clangsharp linux x64 native library for libclang. Copyright © LLVM Project - + diff --git a/packages/libclang/libclang.runtime.osx-arm64/libclang.runtime.osx-arm64.nuspec b/packages/libclang/libclang.runtime.osx-arm64/libclang.runtime.osx-arm64.nuspec index d1d8b79e..17a3d37f 100644 --- a/packages/libclang/libclang.runtime.osx-arm64/libclang.runtime.osx-arm64.nuspec +++ b/packages/libclang/libclang.runtime.osx-arm64/libclang.runtime.osx-arm64.nuspec @@ -2,7 +2,7 @@ libclang.runtime.osx-arm64 - 16.0.6 + 17.0.4 .NET Foundation and Contributors .NET Foundation and Contributors true @@ -10,7 +10,7 @@ https://github.com/dotnet/clangsharp osx arm64 native library for libclang. Copyright © LLVM Project - + diff --git a/packages/libclang/libclang.runtime.osx-x64/libclang.runtime.osx-x64.nuspec b/packages/libclang/libclang.runtime.osx-x64/libclang.runtime.osx-x64.nuspec index eec01cc7..b1e3234e 100644 --- a/packages/libclang/libclang.runtime.osx-x64/libclang.runtime.osx-x64.nuspec +++ b/packages/libclang/libclang.runtime.osx-x64/libclang.runtime.osx-x64.nuspec @@ -2,7 +2,7 @@ libclang.runtime.osx-x64 - 16.0.6 + 17.0.4 .NET Foundation and Contributors .NET Foundation and Contributors true @@ -10,7 +10,7 @@ https://github.com/dotnet/clangsharp osx x64 native library for libclang. Copyright © LLVM Project - + diff --git a/packages/libclang/libclang.runtime.win-arm64/libclang.runtime.win-arm64.nuspec b/packages/libclang/libclang.runtime.win-arm64/libclang.runtime.win-arm64.nuspec index c9abddc5..ed6dcb34 100644 --- a/packages/libclang/libclang.runtime.win-arm64/libclang.runtime.win-arm64.nuspec +++ b/packages/libclang/libclang.runtime.win-arm64/libclang.runtime.win-arm64.nuspec @@ -2,7 +2,7 @@ libclang.runtime.win-arm64 - 16.0.6 + 17.0.4 .NET Foundation and Contributors .NET Foundation and Contributors true @@ -10,7 +10,7 @@ https://github.com/dotnet/clangsharp win arm64 native library for libclang. Copyright © LLVM Project - + diff --git a/packages/libclang/libclang.runtime.win-x64/libclang.runtime.win-x64.nuspec b/packages/libclang/libclang.runtime.win-x64/libclang.runtime.win-x64.nuspec index 80cfa4f8..ad3de842 100644 --- a/packages/libclang/libclang.runtime.win-x64/libclang.runtime.win-x64.nuspec +++ b/packages/libclang/libclang.runtime.win-x64/libclang.runtime.win-x64.nuspec @@ -2,7 +2,7 @@ libclang.runtime.win-x64 - 16.0.6 + 17.0.4 .NET Foundation and Contributors .NET Foundation and Contributors true @@ -10,7 +10,7 @@ https://github.com/dotnet/clangsharp win x64 native library for libclang. Copyright © LLVM Project - + diff --git a/packages/libclang/libclang.runtime.win-x86/libclang.runtime.win-x86.nuspec b/packages/libclang/libclang.runtime.win-x86/libclang.runtime.win-x86.nuspec deleted file mode 100644 index 9a006cd9..00000000 --- a/packages/libclang/libclang.runtime.win-x86/libclang.runtime.win-x86.nuspec +++ /dev/null @@ -1,19 +0,0 @@ - - - - libclang.runtime.win-x86 - 16.0.6 - .NET Foundation and Contributors - .NET Foundation and Contributors - true - Apache-2.0 WITH LLVM-exception - https://github.com/dotnet/clangsharp - win x86 native library for libclang. - Copyright © LLVM Project - - - - - - - diff --git a/packages/libclang/libclang/libclang.nuspec b/packages/libclang/libclang/libclang.nuspec index 562c5141..0b08e294 100644 --- a/packages/libclang/libclang/libclang.nuspec +++ b/packages/libclang/libclang/libclang.nuspec @@ -2,7 +2,7 @@ libclang - 16.0.6 + 17.0.4 .NET Foundation and Contributors .NET Foundation and Contributors true @@ -10,7 +10,7 @@ https://github.com/dotnet/clangsharp Multi-platform native library for libclang. Copyright © LLVM Project - + diff --git a/packages/libclang/libclang/runtime.json b/packages/libclang/libclang/runtime.json index 3ffbd7d4..12bb4a03 100644 --- a/packages/libclang/libclang/runtime.json +++ b/packages/libclang/libclang/runtime.json @@ -2,37 +2,32 @@ "runtimes": { "linux-arm64": { "libclang": { - "libclang.runtime.linux-arm64": "16.0.6" + "libclang.runtime.linux-arm64": "17.0.4" } }, "linux-x64": { "libclang": { - "libclang.runtime.linux-x64": "16.0.6" + "libclang.runtime.linux-x64": "17.0.4" } }, "osx-arm64": { "libclang": { - "libclang.runtime.osx-arm64": "16.0.6" + "libclang.runtime.osx-arm64": "17.0.4" } }, "osx-x64": { "libclang": { - "libclang.runtime.osx-x64": "16.0.6" + "libclang.runtime.osx-x64": "17.0.4" } }, "win-arm64": { "libclang": { - "libclang.runtime.win-arm64": "16.0.6" + "libclang.runtime.win-arm64": "17.0.4" } }, "win-x64": { "libclang": { - "libclang.runtime.win-x64": "16.0.6" - } - }, - "win-x86": { - "libclang": { - "libclang.runtime.win-x86": "16.0.6" + "libclang.runtime.win-x64": "17.0.4" } } } diff --git a/sources/ClangSharp.Interop/ClangSharp.Interop.csproj b/sources/ClangSharp.Interop/ClangSharp.Interop.csproj index 2a2cea46..b3f47c02 100644 --- a/sources/ClangSharp.Interop/ClangSharp.Interop.csproj +++ b/sources/ClangSharp.Interop/ClangSharp.Interop.csproj @@ -2,7 +2,7 @@ - net8.0;netstandard2.0 + net8.0 @@ -10,6 +10,7 @@ + @@ -24,30 +25,12 @@ - $(NoWarn);CA1003;CA1008;CA1027;CA1034;CA1051;CA1069;CA1305;CA1508;CA1707;CA1708;CA1710;CA1711;CA1712;CA1720;CA1721;CA1724;CA1815;CA2225 + $(NoWarn);CA1003;CA1008;CA1027;CA1034;CA1041;CA1051;CA1069;CA1305;CA1508;CA1707;CA1708;CA1710;CA1711;CA1712;CA1720;CA1721;CA1724;CA1815;CA2225 - - - - - - - - - - - - - - - - - - diff --git a/sources/ClangSharp.Interop/Extensions/CXCursor.cs b/sources/ClangSharp.Interop/Extensions/CXCursor.cs index 8febdfcc..3c006452 100644 --- a/sources/ClangSharp.Interop/Extensions/CXCursor.cs +++ b/sources/ClangSharp.Interop/Extensions/CXCursor.cs @@ -4,11 +4,11 @@ using System.Diagnostics; using System.Runtime.InteropServices; using static ClangSharp.Interop.CX_AttrKind; -using static ClangSharp.Interop.CX_BinaryOperatorKind; +using static ClangSharp.Interop.CXBinaryOperatorKind; using static ClangSharp.Interop.CX_CastKind; using static ClangSharp.Interop.CX_DeclKind; using static ClangSharp.Interop.CX_StmtClass; -using static ClangSharp.Interop.CX_UnaryOperatorKind; +using static ClangSharp.Interop.CXUnaryOperatorKind; namespace ClangSharp.Interop; @@ -35,7 +35,7 @@ public readonly string AttrKindSpelling Debug.Assert(CX_AttrKind_LastAttr == CX_AttrKind_Thread); Debug.Assert(CX_AttrKind_FirstTypeAttr == CX_AttrKind_AddressSpace); - Debug.Assert(CX_AttrKind_LastTypeAttr == CX_AttrKind_UPtr); + Debug.Assert(CX_AttrKind_LastTypeAttr == CX_AttrKind_WebAssemblyFuncref); Debug.Assert(CX_AttrKind_FirstStmtAttr == CX_AttrKind_FallThrough); Debug.Assert(CX_AttrKind_LastStmtAttr == CX_AttrKind_Unlikely); @@ -63,6 +63,7 @@ public readonly string AttrKindSpelling CX_AttrKind_AddressSpace => "AddressSpace", CX_AttrKind_AnnotateType => "AnnotateType", CX_AttrKind_ArmMveStrictPolymorphism => "ArmMveStrictPolymorphism", + CX_AttrKind_ArmStreaming => "CX_AttrKind_ArmStreaming", CX_AttrKind_BTFTypeTag => "BTFTypeTag", CX_AttrKind_CmseNSCall => "CmseNSCall", CX_AttrKind_HLSLGroupSharedAddressSpace => "HLSLGroupSharedAddressSpace", @@ -85,6 +86,7 @@ public readonly string AttrKindSpelling CX_AttrKind_TypeNullable => "TypeNullable", CX_AttrKind_TypeNullableResult => "TypeNullableResult", CX_AttrKind_UPtr => "UPtr", + CX_AttrKind_WebAssemblyFuncref => "WebAssemblyFuncref", CX_AttrKind_FallThrough => "FallThrough", CX_AttrKind_Likely => "Likely", CX_AttrKind_MustTail => "MustTail", @@ -162,6 +164,7 @@ public readonly string AttrKindSpelling CX_AttrKind_AssumeAligned => "AssumeAligned", CX_AttrKind_Assumption => "Assumption", CX_AttrKind_Availability => "Availability", + CX_AttrKind_AvailableOnlyInDefaultEvalMethod => "AvailableOnlyInDefaultEvalMethod", CX_AttrKind_BPFPreserveAccessIndex => "BPFPreserveAccessIndex", CX_AttrKind_BTFDeclTag => "BTFDeclTag", CX_AttrKind_Blocks => "Blocks", @@ -267,6 +270,7 @@ public readonly string AttrKindSpelling CX_AttrKind_NSErrorDomain => "NSErrorDomain", CX_AttrKind_NSReturnsAutoreleased => "NSReturnsAutoreleased", CX_AttrKind_NSReturnsNotRetained => "NSReturnsNotRetained", + CX_AttrKind_NVPTXKernel => "NVPTXKernel", CX_AttrKind_Naked => "Naked", CX_AttrKind_NoAlias => "NoAlias", CX_AttrKind_NoCommon => "NoCommon", @@ -378,6 +382,7 @@ public readonly string AttrKindSpelling CX_AttrKind_TypeVisibility => "TypeVisibility", CX_AttrKind_Unavailable => "Unavailable", CX_AttrKind_Uninitialized => "Uninitialized", + CX_AttrKind_UnsafeBufferUsage => "UnsafeBufferUsage", CX_AttrKind_Unused => "Unused", CX_AttrKind_Used => "Used", CX_AttrKind_UsingIfExists => "UsingIfExists", @@ -434,9 +439,9 @@ public readonly string AttrKindSpelling public readonly CXAvailabilityKind Availability => clang.getCursorAvailability(this); - public readonly CX_BinaryOperatorKind BinaryOperatorKind => clangsharp.Cursor_getBinaryOpcode(this); + public readonly CXBinaryOperatorKind BinaryOperatorKind => clangsharp.Cursor_getBinaryOpcode(this); - public readonly CXString BinaryOperatorKindSpelling => clangsharp.Cursor_getBinaryOpcodeSpelling(BinaryOperatorKind); + public readonly CXString BinaryOperatorKindSpelling => clang.getBinaryOperatorKindSpelling(BinaryOperatorKind); public readonly CXCursor BindingExpr => clangsharp.Cursor_getBindingExpr(this); @@ -1576,9 +1581,9 @@ public readonly string StmtClassSpelling public readonly CX_UnaryExprOrTypeTrait UnaryExprOrTypeTraitKind => clangsharp.Cursor_getUnaryExprOrTypeTraitKind(this); - public readonly CX_UnaryOperatorKind UnaryOperatorKind => clangsharp.Cursor_getUnaryOpcode(this); + public readonly CXUnaryOperatorKind UnaryOperatorKind => clang.getCursorUnaryOperatorKind(this); - public readonly CXString UnaryOperatorKindSpelling => clangsharp.Cursor_getUnaryOpcodeSpelling(UnaryOperatorKind); + public readonly CXString UnaryOperatorKindSpelling => clang.getUnaryOperatorKindSpelling(UnaryOperatorKind); public readonly CXCursor UnderlyingDecl => clangsharp.Cursor_getUnderlyingDecl(this); @@ -1608,7 +1613,7 @@ internal readonly string DebuggerDisplayString { var additionalInfo = string.Empty; - if (BinaryOperatorKind != CX_BO_Invalid) + if (BinaryOperatorKind != CXBinaryOperator_Invalid) { additionalInfo = $" ({BinaryOperatorKindSpelling})"; } @@ -1616,7 +1621,7 @@ internal readonly string DebuggerDisplayString { additionalInfo = $" ({CastKindSpelling})"; } - else if (UnaryOperatorKind != CX_UO_Invalid) + else if (UnaryOperatorKind != CXUnaryOperator_Invalid) { additionalInfo = $" ({UnaryOperatorKindSpelling})"; } diff --git a/sources/ClangSharp.Interop/Manual/CXAPISetImpl.cs b/sources/ClangSharp.Interop/Manual/CXAPISetImpl.cs index 6e19d64d..5919df17 100644 --- a/sources/ClangSharp.Interop/Manual/CXAPISetImpl.cs +++ b/sources/ClangSharp.Interop/Manual/CXAPISetImpl.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/Manual/CXCursorSetImpl.cs b/sources/ClangSharp.Interop/Manual/CXCursorSetImpl.cs index a26de047..22c0a56a 100644 --- a/sources/ClangSharp.Interop/Manual/CXCursorSetImpl.cs +++ b/sources/ClangSharp.Interop/Manual/CXCursorSetImpl.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/Manual/CXCursorVisitor.cs b/sources/ClangSharp.Interop/Manual/CXCursorVisitor.cs index becce812..2395c987 100644 --- a/sources/ClangSharp.Interop/Manual/CXCursorVisitor.cs +++ b/sources/ClangSharp.Interop/Manual/CXCursorVisitor.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/ClangSharp.Interop/Manual/CXFieldVisitor.cs b/sources/ClangSharp.Interop/Manual/CXFieldVisitor.cs index 4ab26abc..afea46ea 100644 --- a/sources/ClangSharp.Interop/Manual/CXFieldVisitor.cs +++ b/sources/ClangSharp.Interop/Manual/CXFieldVisitor.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/ClangSharp.Interop/Manual/CXInclusionVisitor.cs b/sources/ClangSharp.Interop/Manual/CXInclusionVisitor.cs index 0a08e8e7..43d11536 100644 --- a/sources/ClangSharp.Interop/Manual/CXInclusionVisitor.cs +++ b/sources/ClangSharp.Interop/Manual/CXInclusionVisitor.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.InteropServices; diff --git a/sources/ClangSharp.Interop/Manual/CXModuleMapDescriptorImpl.cs b/sources/ClangSharp.Interop/Manual/CXModuleMapDescriptorImpl.cs index d3c2affb..1f050792 100644 --- a/sources/ClangSharp.Interop/Manual/CXModuleMapDescriptorImpl.cs +++ b/sources/ClangSharp.Interop/Manual/CXModuleMapDescriptorImpl.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/Manual/CXTargetInfoImpl.cs b/sources/ClangSharp.Interop/Manual/CXTargetInfoImpl.cs index 03b9975d..bfe0876f 100644 --- a/sources/ClangSharp.Interop/Manual/CXTargetInfoImpl.cs +++ b/sources/ClangSharp.Interop/Manual/CXTargetInfoImpl.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/Manual/CXTranslationUnitImpl.cs b/sources/ClangSharp.Interop/Manual/CXTranslationUnitImpl.cs index cb090030..62cd5fbf 100644 --- a/sources/ClangSharp.Interop/Manual/CXTranslationUnitImpl.cs +++ b/sources/ClangSharp.Interop/Manual/CXTranslationUnitImpl.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/Manual/CXVirtualFileOverlayImpl.cs b/sources/ClangSharp.Interop/Manual/CXVirtualFileOverlayImpl.cs index 3aee12fd..b1b1f164 100644 --- a/sources/ClangSharp.Interop/Manual/CXVirtualFileOverlayImpl.cs +++ b/sources/ClangSharp.Interop/Manual/CXVirtualFileOverlayImpl.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/Shims/Index.cs b/sources/ClangSharp.Interop/Shims/Index.cs deleted file mode 100644 index c4babe8b..00000000 --- a/sources/ClangSharp.Interop/Shims/Index.cs +++ /dev/null @@ -1,64 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.Runtime.CompilerServices; - -namespace System; - -internal readonly struct Index : IEquatable -{ - private readonly int _value; - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public Index(int value, bool fromEnd = false) - { - if (value < 0) - { - throw new ArgumentOutOfRangeException(nameof(value)); - } - - _value = fromEnd ? ~value : value; - } - - private Index(int value) - { - _value = value; - } - - public static Index Start => new Index(0); - - public static Index End => new Index(~0); - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static Index FromStart(int value) => value < 0 ? throw new ArgumentOutOfRangeException(nameof(value)) : new Index(value); - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static Index FromEnd(int value) => value < 0 ? throw new ArgumentOutOfRangeException(nameof(value)) : new Index(~value); - - public int Value => _value < 0 ? ~_value : _value; - - public bool IsFromEnd => _value < 0; - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public int GetOffset(int length) - { - var offset = _value; - if (IsFromEnd) - { - offset += length + 1; - } - return offset; - } - - public override bool Equals(object value) => value is Index index && _value == index._value; - - public bool Equals(Index other) => _value == other._value; - - public override int GetHashCode() => _value; - - public static implicit operator Index(int value) => FromStart(value); - - public override string ToString() => IsFromEnd ? ToStringFromEnd() : ((uint)Value).ToString(); - - private string ToStringFromEnd() => '^' + Value.ToString(); -} diff --git a/sources/ClangSharp.Interop/Shims/MemberNotNullWhenAttribute.cs b/sources/ClangSharp.Interop/Shims/MemberNotNullWhenAttribute.cs deleted file mode 100644 index a129d411..00000000 --- a/sources/ClangSharp.Interop/Shims/MemberNotNullWhenAttribute.cs +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -namespace System.Diagnostics.CodeAnalysis; - -[AttributeUsage(AttributeTargets.Method | AttributeTargets.Property, Inherited = false, AllowMultiple = true)] -internal sealed class MemberNotNullWhenAttribute(bool returnValue, params string[] members) : Attribute -{ - public bool ReturnValue { get; } = returnValue; - - public string[] Members { get; } = members; -} diff --git a/sources/ClangSharp.Interop/Shims/Range.cs b/sources/ClangSharp.Interop/Shims/Range.cs deleted file mode 100644 index a8e9e734..00000000 --- a/sources/ClangSharp.Interop/Shims/Range.cs +++ /dev/null @@ -1,52 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.Runtime.CompilerServices; - -namespace System; - -internal readonly struct Range : IEquatable -{ - public Index Start { get; } - - public Index End { get; } - - public Range(Index start, Index end) - { - Start = start; - End = end; - } - - public override bool Equals(object value) => - value is Range r && - r.Start.Equals(Start) && - r.End.Equals(End); - - public bool Equals(Range other) => other.Start.Equals(Start) && other.End.Equals(End); - - public override int GetHashCode() => HashCode.Combine(Start.GetHashCode(), End.GetHashCode()); - - public override string ToString() => Start.ToString() + ".." + End.ToString(); - - public static Range StartAt(Index start) => new Range(start, Index.End); - - public static Range EndAt(Index end) => new Range(Index.Start, end); - - public static Range All => new Range(Index.Start, Index.End); - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public (int Offset, int Length) GetOffsetAndLength(int length) - { - int start; - var startIndex = Start; - start = startIndex.IsFromEnd ? length - startIndex.Value : startIndex.Value; - - int end; - var endIndex = End; - end = endIndex.IsFromEnd ? length - endIndex.Value : endIndex.Value; - - return (uint)end > (uint)length || (uint)start > (uint)end - ? throw new ArgumentOutOfRangeException(nameof(length)) - : (start, end - start); - } -} diff --git a/sources/ClangSharp.Interop/Shims/SkipLocalsInitAttribute.cs b/sources/ClangSharp.Interop/Shims/SkipLocalsInitAttribute.cs deleted file mode 100644 index d9518d5d..00000000 --- a/sources/ClangSharp.Interop/Shims/SkipLocalsInitAttribute.cs +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -namespace System.Runtime.CompilerServices; - -[AttributeUsage(AttributeTargets.Module | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Interface | AttributeTargets.Constructor | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Event, Inherited = false)] -internal sealed class SkipLocalsInitAttribute : Attribute -{ -} diff --git a/sources/ClangSharp.Interop/clang.cs b/sources/ClangSharp.Interop/clang.cs index 38cbad3b..41ba44d5 100644 --- a/sources/ClangSharp.Interop/clang.cs +++ b/sources/ClangSharp.Interop/clang.cs @@ -3,8 +3,11 @@ using System; using System.Linq; using System.Reflection; +using System.Runtime.CompilerServices; using System.Runtime.InteropServices; +[assembly: DisableRuntimeMarshalling] + namespace ClangSharp.Interop; public static unsafe partial class @clang @@ -38,8 +41,8 @@ private static bool TryResolveClang(Assembly assembly, DllImportSearchPath? sear { if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { - return NativeLibrary.TryLoad("libclang.so.16", assembly, searchPath, out nativeLibrary) - || NativeLibrary.TryLoad("libclang-16", assembly, searchPath, out nativeLibrary) + return NativeLibrary.TryLoad("libclang.so.17", assembly, searchPath, out nativeLibrary) + || NativeLibrary.TryLoad("libclang-17", assembly, searchPath, out nativeLibrary) || NativeLibrary.TryLoad("libclang.so.1", assembly, searchPath, out nativeLibrary); } diff --git a/sources/ClangSharp.Interop/clang/CXAvailabilityKind.cs b/sources/ClangSharp.Interop/clang/CXAvailabilityKind.cs index 13ef0539..8fb5e774 100644 --- a/sources/ClangSharp.Interop/clang/CXAvailabilityKind.cs +++ b/sources/ClangSharp.Interop/clang/CXAvailabilityKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXBinaryOperatorKind.cs b/sources/ClangSharp.Interop/clang/CXBinaryOperatorKind.cs new file mode 100644 index 00000000..20cbf415 --- /dev/null +++ b/sources/ClangSharp.Interop/clang/CXBinaryOperatorKind.cs @@ -0,0 +1,44 @@ +// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c +// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. + +namespace ClangSharp.Interop; + +public enum CXBinaryOperatorKind +{ + CXBinaryOperator_Invalid, + CXBinaryOperator_PtrMemD, + CXBinaryOperator_PtrMemI, + CXBinaryOperator_Mul, + CXBinaryOperator_Div, + CXBinaryOperator_Rem, + CXBinaryOperator_Add, + CXBinaryOperator_Sub, + CXBinaryOperator_Shl, + CXBinaryOperator_Shr, + CXBinaryOperator_Cmp, + CXBinaryOperator_LT, + CXBinaryOperator_GT, + CXBinaryOperator_LE, + CXBinaryOperator_GE, + CXBinaryOperator_EQ, + CXBinaryOperator_NE, + CXBinaryOperator_And, + CXBinaryOperator_Xor, + CXBinaryOperator_Or, + CXBinaryOperator_LAnd, + CXBinaryOperator_LOr, + CXBinaryOperator_Assign, + CXBinaryOperator_MulAssign, + CXBinaryOperator_DivAssign, + CXBinaryOperator_RemAssign, + CXBinaryOperator_AddAssign, + CXBinaryOperator_SubAssign, + CXBinaryOperator_ShlAssign, + CXBinaryOperator_ShrAssign, + CXBinaryOperator_AndAssign, + CXBinaryOperator_XorAssign, + CXBinaryOperator_OrAssign, + CXBinaryOperator_Comma, +} diff --git a/sources/ClangSharp.Interop/clang/CXCallingConv.cs b/sources/ClangSharp.Interop/clang/CXCallingConv.cs index 7f167292..8c3314af 100644 --- a/sources/ClangSharp.Interop/clang/CXCallingConv.cs +++ b/sources/ClangSharp.Interop/clang/CXCallingConv.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXChildVisitResult.cs b/sources/ClangSharp.Interop/clang/CXChildVisitResult.cs index b9259c15..27cf39c9 100644 --- a/sources/ClangSharp.Interop/clang/CXChildVisitResult.cs +++ b/sources/ClangSharp.Interop/clang/CXChildVisitResult.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXChoice.cs b/sources/ClangSharp.Interop/clang/CXChoice.cs new file mode 100644 index 00000000..e53c60c1 --- /dev/null +++ b/sources/ClangSharp.Interop/clang/CXChoice.cs @@ -0,0 +1,13 @@ +// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c +// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. + +namespace ClangSharp.Interop; + +public enum CXChoice +{ + CXChoice_Default = 0, + CXChoice_Enabled = 1, + CXChoice_Disabled = 2, +} diff --git a/sources/ClangSharp.Interop/clang/CXCodeCompleteResults.cs b/sources/ClangSharp.Interop/clang/CXCodeCompleteResults.cs index aa12194b..8f554e0f 100644 --- a/sources/ClangSharp.Interop/clang/CXCodeCompleteResults.cs +++ b/sources/ClangSharp.Interop/clang/CXCodeCompleteResults.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXCodeComplete_Flags.cs b/sources/ClangSharp.Interop/clang/CXCodeComplete_Flags.cs index 7b5c96a6..a5b32929 100644 --- a/sources/ClangSharp.Interop/clang/CXCodeComplete_Flags.cs +++ b/sources/ClangSharp.Interop/clang/CXCodeComplete_Flags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXComment.cs b/sources/ClangSharp.Interop/clang/CXComment.cs index f037b794..d3a3c7f5 100644 --- a/sources/ClangSharp.Interop/clang/CXComment.cs +++ b/sources/ClangSharp.Interop/clang/CXComment.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXCommentInlineCommandRenderKind.cs b/sources/ClangSharp.Interop/clang/CXCommentInlineCommandRenderKind.cs index 482b727b..ac69e001 100644 --- a/sources/ClangSharp.Interop/clang/CXCommentInlineCommandRenderKind.cs +++ b/sources/ClangSharp.Interop/clang/CXCommentInlineCommandRenderKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXCommentKind.cs b/sources/ClangSharp.Interop/clang/CXCommentKind.cs index 1e7ea57e..41980f7c 100644 --- a/sources/ClangSharp.Interop/clang/CXCommentKind.cs +++ b/sources/ClangSharp.Interop/clang/CXCommentKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXCommentParamPassDirection.cs b/sources/ClangSharp.Interop/clang/CXCommentParamPassDirection.cs index 7a272f23..9706b363 100644 --- a/sources/ClangSharp.Interop/clang/CXCommentParamPassDirection.cs +++ b/sources/ClangSharp.Interop/clang/CXCommentParamPassDirection.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXCompilationDatabase_Error.cs b/sources/ClangSharp.Interop/clang/CXCompilationDatabase_Error.cs index fc5be8cf..ae9d3ded 100644 --- a/sources/ClangSharp.Interop/clang/CXCompilationDatabase_Error.cs +++ b/sources/ClangSharp.Interop/clang/CXCompilationDatabase_Error.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXCompletionChunkKind.cs b/sources/ClangSharp.Interop/clang/CXCompletionChunkKind.cs index 774339e0..4a0f95d5 100644 --- a/sources/ClangSharp.Interop/clang/CXCompletionChunkKind.cs +++ b/sources/ClangSharp.Interop/clang/CXCompletionChunkKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXCompletionContext.cs b/sources/ClangSharp.Interop/clang/CXCompletionContext.cs index d1a38a07..2955ed2a 100644 --- a/sources/ClangSharp.Interop/clang/CXCompletionContext.cs +++ b/sources/ClangSharp.Interop/clang/CXCompletionContext.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXCompletionResult.cs b/sources/ClangSharp.Interop/clang/CXCompletionResult.cs index 32c4d05c..935cebba 100644 --- a/sources/ClangSharp.Interop/clang/CXCompletionResult.cs +++ b/sources/ClangSharp.Interop/clang/CXCompletionResult.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXCursor.cs b/sources/ClangSharp.Interop/clang/CXCursor.cs index ae2012a6..d37082bf 100644 --- a/sources/ClangSharp.Interop/clang/CXCursor.cs +++ b/sources/ClangSharp.Interop/clang/CXCursor.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.CompilerServices; diff --git a/sources/ClangSharp.Interop/clang/CXCursorAndRangeVisitor.cs b/sources/ClangSharp.Interop/clang/CXCursorAndRangeVisitor.cs index 12df63d8..8dfecd7b 100644 --- a/sources/ClangSharp.Interop/clang/CXCursorAndRangeVisitor.cs +++ b/sources/ClangSharp.Interop/clang/CXCursorAndRangeVisitor.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXCursorKind.cs b/sources/ClangSharp.Interop/clang/CXCursorKind.cs index 59e9e182..eeea7154 100644 --- a/sources/ClangSharp.Interop/clang/CXCursorKind.cs +++ b/sources/ClangSharp.Interop/clang/CXCursorKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXCursor_ExceptionSpecificationKind.cs b/sources/ClangSharp.Interop/clang/CXCursor_ExceptionSpecificationKind.cs index 52586b8d..bf0b589b 100644 --- a/sources/ClangSharp.Interop/clang/CXCursor_ExceptionSpecificationKind.cs +++ b/sources/ClangSharp.Interop/clang/CXCursor_ExceptionSpecificationKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXDiagnosticDisplayOptions.cs b/sources/ClangSharp.Interop/clang/CXDiagnosticDisplayOptions.cs index ed3e2dd4..9d2701b7 100644 --- a/sources/ClangSharp.Interop/clang/CXDiagnosticDisplayOptions.cs +++ b/sources/ClangSharp.Interop/clang/CXDiagnosticDisplayOptions.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXDiagnosticSeverity.cs b/sources/ClangSharp.Interop/clang/CXDiagnosticSeverity.cs index b5b6c6cf..a1fae528 100644 --- a/sources/ClangSharp.Interop/clang/CXDiagnosticSeverity.cs +++ b/sources/ClangSharp.Interop/clang/CXDiagnosticSeverity.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXErrorCode.cs b/sources/ClangSharp.Interop/clang/CXErrorCode.cs index 18b842fd..6ce89fcc 100644 --- a/sources/ClangSharp.Interop/clang/CXErrorCode.cs +++ b/sources/ClangSharp.Interop/clang/CXErrorCode.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXEvalResultKind.cs b/sources/ClangSharp.Interop/clang/CXEvalResultKind.cs index 5281968b..565fb9ad 100644 --- a/sources/ClangSharp.Interop/clang/CXEvalResultKind.cs +++ b/sources/ClangSharp.Interop/clang/CXEvalResultKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXFileUniqueID.cs b/sources/ClangSharp.Interop/clang/CXFileUniqueID.cs index a6272ffb..b0d415d4 100644 --- a/sources/ClangSharp.Interop/clang/CXFileUniqueID.cs +++ b/sources/ClangSharp.Interop/clang/CXFileUniqueID.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXGlobalOptFlags.cs b/sources/ClangSharp.Interop/clang/CXGlobalOptFlags.cs index 9d033c03..8d1774c9 100644 --- a/sources/ClangSharp.Interop/clang/CXGlobalOptFlags.cs +++ b/sources/ClangSharp.Interop/clang/CXGlobalOptFlags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxAttrInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxAttrInfo.cs index 00a1654a..1b8354c6 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxAttrInfo.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxAttrInfo.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxAttrKind.cs b/sources/ClangSharp.Interop/clang/CXIdxAttrKind.cs index f048fe59..49560dc3 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxAttrKind.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxAttrKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxBaseClassInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxBaseClassInfo.cs index 59e2b4f3..ad25f04c 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxBaseClassInfo.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxBaseClassInfo.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxCXXClassDeclInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxCXXClassDeclInfo.cs index 3a32ef28..bed441ec 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxCXXClassDeclInfo.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxCXXClassDeclInfo.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxContainerInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxContainerInfo.cs index 62c2827b..286869f2 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxContainerInfo.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxContainerInfo.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxDeclInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxDeclInfo.cs index 964bd9b6..a412875b 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxDeclInfo.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxDeclInfo.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxDeclInfoFlags.cs b/sources/ClangSharp.Interop/clang/CXIdxDeclInfoFlags.cs index 60de1f46..b3e93a53 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxDeclInfoFlags.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxDeclInfoFlags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxEntityCXXTemplateKind.cs b/sources/ClangSharp.Interop/clang/CXIdxEntityCXXTemplateKind.cs index 27cdbf13..87f2883e 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxEntityCXXTemplateKind.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxEntityCXXTemplateKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxEntityInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxEntityInfo.cs index 43dea66e..53ce305f 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxEntityInfo.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxEntityInfo.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxEntityKind.cs b/sources/ClangSharp.Interop/clang/CXIdxEntityKind.cs index bca3f0dc..4cdb5b13 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxEntityKind.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxEntityKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxEntityLanguage.cs b/sources/ClangSharp.Interop/clang/CXIdxEntityLanguage.cs index 6246a7eb..74141030 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxEntityLanguage.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxEntityLanguage.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxEntityRefInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxEntityRefInfo.cs index 3863b80e..0cddca77 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxEntityRefInfo.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxEntityRefInfo.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxEntityRefKind.cs b/sources/ClangSharp.Interop/clang/CXIdxEntityRefKind.cs index 1f06eb35..bfd47369 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxEntityRefKind.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxEntityRefKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxIBOutletCollectionAttrInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxIBOutletCollectionAttrInfo.cs index 59c5de19..0a753156 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxIBOutletCollectionAttrInfo.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxIBOutletCollectionAttrInfo.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxImportedASTFileInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxImportedASTFileInfo.cs index 02949660..8a54a95c 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxImportedASTFileInfo.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxImportedASTFileInfo.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxIncludedFileInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxIncludedFileInfo.cs index 09472835..d90cea04 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxIncludedFileInfo.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxIncludedFileInfo.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxLoc.cs b/sources/ClangSharp.Interop/clang/CXIdxLoc.cs index a5b0bfc5..704d7ee5 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxLoc.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxLoc.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.CompilerServices; diff --git a/sources/ClangSharp.Interop/clang/CXIdxObjCCategoryDeclInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxObjCCategoryDeclInfo.cs index a579104b..408a4747 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxObjCCategoryDeclInfo.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxObjCCategoryDeclInfo.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxObjCContainerDeclInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxObjCContainerDeclInfo.cs index e3dd1cf7..b1ab7cfb 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxObjCContainerDeclInfo.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxObjCContainerDeclInfo.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxObjCContainerKind.cs b/sources/ClangSharp.Interop/clang/CXIdxObjCContainerKind.cs index 5148f7df..28a1b0f8 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxObjCContainerKind.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxObjCContainerKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxObjCInterfaceDeclInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxObjCInterfaceDeclInfo.cs index 1d9e9e58..309934d9 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxObjCInterfaceDeclInfo.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxObjCInterfaceDeclInfo.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxObjCPropertyDeclInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxObjCPropertyDeclInfo.cs index f8268a20..fbfb45da 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxObjCPropertyDeclInfo.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxObjCPropertyDeclInfo.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxObjCProtocolRefInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxObjCProtocolRefInfo.cs index b1215559..550a95f5 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxObjCProtocolRefInfo.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxObjCProtocolRefInfo.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIdxObjCProtocolRefListInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxObjCProtocolRefListInfo.cs index 6a84c144..ca0ce3e5 100644 --- a/sources/ClangSharp.Interop/clang/CXIdxObjCProtocolRefListInfo.cs +++ b/sources/ClangSharp.Interop/clang/CXIdxObjCProtocolRefListInfo.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIndexOptFlags.cs b/sources/ClangSharp.Interop/clang/CXIndexOptFlags.cs index fe261411..4c27f141 100644 --- a/sources/ClangSharp.Interop/clang/CXIndexOptFlags.cs +++ b/sources/ClangSharp.Interop/clang/CXIndexOptFlags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXIndexOptions.cs b/sources/ClangSharp.Interop/clang/CXIndexOptions.cs new file mode 100644 index 00000000..0a7e6a19 --- /dev/null +++ b/sources/ClangSharp.Interop/clang/CXIndexOptions.cs @@ -0,0 +1,92 @@ +// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c +// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. + +using System.Runtime.CompilerServices; + +namespace ClangSharp.Interop; + +public unsafe partial struct CXIndexOptions +{ + [NativeTypeName("unsigned int")] + public uint Size; + + [NativeTypeName("unsigned char")] + public byte ThreadBackgroundPriorityForIndexing; + + [NativeTypeName("unsigned char")] + public byte ThreadBackgroundPriorityForEditing; + + public uint _bitfield; + + [NativeTypeName("unsigned int : 1")] + public uint ExcludeDeclarationsFromPCH + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + readonly get + { + return _bitfield & 0x1u; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + set + { + _bitfield = (_bitfield & ~0x1u) | (value & 0x1u); + } + } + + [NativeTypeName("unsigned int : 1")] + public uint DisplayDiagnostics + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + readonly get + { + return (_bitfield >> 1) & 0x1u; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + set + { + _bitfield = (_bitfield & ~(0x1u << 1)) | ((value & 0x1u) << 1); + } + } + + [NativeTypeName("unsigned int : 1")] + public uint StorePreamblesInMemory + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + readonly get + { + return (_bitfield >> 2) & 0x1u; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + set + { + _bitfield = (_bitfield & ~(0x1u << 2)) | ((value & 0x1u) << 2); + } + } + + [NativeTypeName("unsigned int : 13")] + public uint Anonymous + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + readonly get + { + return (_bitfield >> 3) & 0x1FFFu; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + set + { + _bitfield = (_bitfield & ~(0x1FFFu << 3)) | ((value & 0x1FFFu) << 3); + } + } + + [NativeTypeName("const char *")] + public sbyte* PreambleStoragePath; + + [NativeTypeName("const char *")] + public sbyte* InvocationEmissionPath; +} diff --git a/sources/ClangSharp.Interop/clang/CXLanguageKind.cs b/sources/ClangSharp.Interop/clang/CXLanguageKind.cs index 512ce21e..5f965ea7 100644 --- a/sources/ClangSharp.Interop/clang/CXLanguageKind.cs +++ b/sources/ClangSharp.Interop/clang/CXLanguageKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXLinkageKind.cs b/sources/ClangSharp.Interop/clang/CXLinkageKind.cs index 41f56e67..5b3f19e9 100644 --- a/sources/ClangSharp.Interop/clang/CXLinkageKind.cs +++ b/sources/ClangSharp.Interop/clang/CXLinkageKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXLoadDiag_Error.cs b/sources/ClangSharp.Interop/clang/CXLoadDiag_Error.cs index 23b34e5d..33784a07 100644 --- a/sources/ClangSharp.Interop/clang/CXLoadDiag_Error.cs +++ b/sources/ClangSharp.Interop/clang/CXLoadDiag_Error.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXNameRefFlags.cs b/sources/ClangSharp.Interop/clang/CXNameRefFlags.cs index 7b9d5f60..27c2fa8a 100644 --- a/sources/ClangSharp.Interop/clang/CXNameRefFlags.cs +++ b/sources/ClangSharp.Interop/clang/CXNameRefFlags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXObjCDeclQualifierKind.cs b/sources/ClangSharp.Interop/clang/CXObjCDeclQualifierKind.cs index 5cf595b9..fd152188 100644 --- a/sources/ClangSharp.Interop/clang/CXObjCDeclQualifierKind.cs +++ b/sources/ClangSharp.Interop/clang/CXObjCDeclQualifierKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXObjCPropertyAttrKind.cs b/sources/ClangSharp.Interop/clang/CXObjCPropertyAttrKind.cs index 53f8c8ab..6a5fc115 100644 --- a/sources/ClangSharp.Interop/clang/CXObjCPropertyAttrKind.cs +++ b/sources/ClangSharp.Interop/clang/CXObjCPropertyAttrKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXPlatformAvailability.cs b/sources/ClangSharp.Interop/clang/CXPlatformAvailability.cs index a059293c..b4244af7 100644 --- a/sources/ClangSharp.Interop/clang/CXPlatformAvailability.cs +++ b/sources/ClangSharp.Interop/clang/CXPlatformAvailability.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXPrintingPolicyProperty.cs b/sources/ClangSharp.Interop/clang/CXPrintingPolicyProperty.cs index f76b3036..a805ca8d 100644 --- a/sources/ClangSharp.Interop/clang/CXPrintingPolicyProperty.cs +++ b/sources/ClangSharp.Interop/clang/CXPrintingPolicyProperty.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXRefQualifierKind.cs b/sources/ClangSharp.Interop/clang/CXRefQualifierKind.cs index 1346d4b0..67a2f76d 100644 --- a/sources/ClangSharp.Interop/clang/CXRefQualifierKind.cs +++ b/sources/ClangSharp.Interop/clang/CXRefQualifierKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXReparse_Flags.cs b/sources/ClangSharp.Interop/clang/CXReparse_Flags.cs index 9cf608d7..70b64d8f 100644 --- a/sources/ClangSharp.Interop/clang/CXReparse_Flags.cs +++ b/sources/ClangSharp.Interop/clang/CXReparse_Flags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXResult.cs b/sources/ClangSharp.Interop/clang/CXResult.cs index 7f4af4d7..75d25240 100644 --- a/sources/ClangSharp.Interop/clang/CXResult.cs +++ b/sources/ClangSharp.Interop/clang/CXResult.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXSaveError.cs b/sources/ClangSharp.Interop/clang/CXSaveError.cs index 7fb272a6..c41514ab 100644 --- a/sources/ClangSharp.Interop/clang/CXSaveError.cs +++ b/sources/ClangSharp.Interop/clang/CXSaveError.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXSaveTranslationUnit_Flags.cs b/sources/ClangSharp.Interop/clang/CXSaveTranslationUnit_Flags.cs index 8487a0ee..407ac147 100644 --- a/sources/ClangSharp.Interop/clang/CXSaveTranslationUnit_Flags.cs +++ b/sources/ClangSharp.Interop/clang/CXSaveTranslationUnit_Flags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXSourceLocation.cs b/sources/ClangSharp.Interop/clang/CXSourceLocation.cs index 6982b483..e0f4be03 100644 --- a/sources/ClangSharp.Interop/clang/CXSourceLocation.cs +++ b/sources/ClangSharp.Interop/clang/CXSourceLocation.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.CompilerServices; diff --git a/sources/ClangSharp.Interop/clang/CXSourceRange.cs b/sources/ClangSharp.Interop/clang/CXSourceRange.cs index b941a8c5..2868b590 100644 --- a/sources/ClangSharp.Interop/clang/CXSourceRange.cs +++ b/sources/ClangSharp.Interop/clang/CXSourceRange.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.CompilerServices; diff --git a/sources/ClangSharp.Interop/clang/CXSourceRangeList.cs b/sources/ClangSharp.Interop/clang/CXSourceRangeList.cs index 86d7feba..ecc2dcd4 100644 --- a/sources/ClangSharp.Interop/clang/CXSourceRangeList.cs +++ b/sources/ClangSharp.Interop/clang/CXSourceRangeList.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXString.cs b/sources/ClangSharp.Interop/clang/CXString.cs index 7a0b2fb1..4739dd76 100644 --- a/sources/ClangSharp.Interop/clang/CXString.cs +++ b/sources/ClangSharp.Interop/clang/CXString.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXStringSet.cs b/sources/ClangSharp.Interop/clang/CXStringSet.cs index e0dad50d..b7add59a 100644 --- a/sources/ClangSharp.Interop/clang/CXStringSet.cs +++ b/sources/ClangSharp.Interop/clang/CXStringSet.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXSymbolRole.cs b/sources/ClangSharp.Interop/clang/CXSymbolRole.cs index c22b2aa1..101b5151 100644 --- a/sources/ClangSharp.Interop/clang/CXSymbolRole.cs +++ b/sources/ClangSharp.Interop/clang/CXSymbolRole.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXTLSKind.cs b/sources/ClangSharp.Interop/clang/CXTLSKind.cs index d6166b36..73c0dc96 100644 --- a/sources/ClangSharp.Interop/clang/CXTLSKind.cs +++ b/sources/ClangSharp.Interop/clang/CXTLSKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXTUResourceUsage.cs b/sources/ClangSharp.Interop/clang/CXTUResourceUsage.cs index a3ddca31..300acca1 100644 --- a/sources/ClangSharp.Interop/clang/CXTUResourceUsage.cs +++ b/sources/ClangSharp.Interop/clang/CXTUResourceUsage.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXTUResourceUsageEntry.cs b/sources/ClangSharp.Interop/clang/CXTUResourceUsageEntry.cs index b15cb344..b3bd51bc 100644 --- a/sources/ClangSharp.Interop/clang/CXTUResourceUsageEntry.cs +++ b/sources/ClangSharp.Interop/clang/CXTUResourceUsageEntry.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXTUResourceUsageKind.cs b/sources/ClangSharp.Interop/clang/CXTUResourceUsageKind.cs index f1019f63..aa12a6c7 100644 --- a/sources/ClangSharp.Interop/clang/CXTUResourceUsageKind.cs +++ b/sources/ClangSharp.Interop/clang/CXTUResourceUsageKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXTemplateArgumentKind.cs b/sources/ClangSharp.Interop/clang/CXTemplateArgumentKind.cs index 30fda1b8..789efa0d 100644 --- a/sources/ClangSharp.Interop/clang/CXTemplateArgumentKind.cs +++ b/sources/ClangSharp.Interop/clang/CXTemplateArgumentKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXToken.cs b/sources/ClangSharp.Interop/clang/CXToken.cs index 516ea651..a960a81c 100644 --- a/sources/ClangSharp.Interop/clang/CXToken.cs +++ b/sources/ClangSharp.Interop/clang/CXToken.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXTokenKind.cs b/sources/ClangSharp.Interop/clang/CXTokenKind.cs index 71b7b1f4..fd13cd5b 100644 --- a/sources/ClangSharp.Interop/clang/CXTokenKind.cs +++ b/sources/ClangSharp.Interop/clang/CXTokenKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXTranslationUnit_Flags.cs b/sources/ClangSharp.Interop/clang/CXTranslationUnit_Flags.cs index 9308927e..191a52dc 100644 --- a/sources/ClangSharp.Interop/clang/CXTranslationUnit_Flags.cs +++ b/sources/ClangSharp.Interop/clang/CXTranslationUnit_Flags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXType.cs b/sources/ClangSharp.Interop/clang/CXType.cs index 69866c2d..e679e940 100644 --- a/sources/ClangSharp.Interop/clang/CXType.cs +++ b/sources/ClangSharp.Interop/clang/CXType.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System.Runtime.CompilerServices; diff --git a/sources/ClangSharp.Interop/clang/CXTypeKind.cs b/sources/ClangSharp.Interop/clang/CXTypeKind.cs index 84795a20..db7f2aef 100644 --- a/sources/ClangSharp.Interop/clang/CXTypeKind.cs +++ b/sources/ClangSharp.Interop/clang/CXTypeKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; @@ -122,6 +122,10 @@ public enum CXTypeKind CXType_OCLIntelSubgroupAVCImeResult = 169, CXType_OCLIntelSubgroupAVCRefResult = 170, CXType_OCLIntelSubgroupAVCSicResult = 171, + CXType_OCLIntelSubgroupAVCImeResultSingleReferenceStreamout = 172, + CXType_OCLIntelSubgroupAVCImeResultDualReferenceStreamout = 173, + CXType_OCLIntelSubgroupAVCImeSingleReferenceStreamin = 174, + CXType_OCLIntelSubgroupAVCImeDualReferenceStreamin = 175, CXType_OCLIntelSubgroupAVCImeResultSingleRefStreamout = 172, CXType_OCLIntelSubgroupAVCImeResultDualRefStreamout = 173, CXType_OCLIntelSubgroupAVCImeSingleRefStreamin = 174, diff --git a/sources/ClangSharp.Interop/clang/CXTypeLayoutError.cs b/sources/ClangSharp.Interop/clang/CXTypeLayoutError.cs index 11dfc75e..ac2af0ac 100644 --- a/sources/ClangSharp.Interop/clang/CXTypeLayoutError.cs +++ b/sources/ClangSharp.Interop/clang/CXTypeLayoutError.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXTypeNullabilityKind.cs b/sources/ClangSharp.Interop/clang/CXTypeNullabilityKind.cs index 21e0fae9..37039fbc 100644 --- a/sources/ClangSharp.Interop/clang/CXTypeNullabilityKind.cs +++ b/sources/ClangSharp.Interop/clang/CXTypeNullabilityKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXUnaryOperatorKind.cs b/sources/ClangSharp.Interop/clang/CXUnaryOperatorKind.cs new file mode 100644 index 00000000..f68d3324 --- /dev/null +++ b/sources/ClangSharp.Interop/clang/CXUnaryOperatorKind.cs @@ -0,0 +1,25 @@ +// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c +// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. + +namespace ClangSharp.Interop; + +public enum CXUnaryOperatorKind +{ + CXUnaryOperator_Invalid, + CXUnaryOperator_PostInc, + CXUnaryOperator_PostDec, + CXUnaryOperator_PreInc, + CXUnaryOperator_PreDec, + CXUnaryOperator_AddrOf, + CXUnaryOperator_Deref, + CXUnaryOperator_Plus, + CXUnaryOperator_Minus, + CXUnaryOperator_Not, + CXUnaryOperator_LNot, + CXUnaryOperator_Real, + CXUnaryOperator_Imag, + CXUnaryOperator_Extension, + CXUnaryOperator_Coawait, +} diff --git a/sources/ClangSharp.Interop/clang/CXUnsavedFile.cs b/sources/ClangSharp.Interop/clang/CXUnsavedFile.cs index 3aa6b7e9..e301cab8 100644 --- a/sources/ClangSharp.Interop/clang/CXUnsavedFile.cs +++ b/sources/ClangSharp.Interop/clang/CXUnsavedFile.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXVersion.cs b/sources/ClangSharp.Interop/clang/CXVersion.cs index 74751054..011c4846 100644 --- a/sources/ClangSharp.Interop/clang/CXVersion.cs +++ b/sources/ClangSharp.Interop/clang/CXVersion.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXVisibilityKind.cs b/sources/ClangSharp.Interop/clang/CXVisibilityKind.cs index e5cb0852..c70c0c5e 100644 --- a/sources/ClangSharp.Interop/clang/CXVisibilityKind.cs +++ b/sources/ClangSharp.Interop/clang/CXVisibilityKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CXVisitorResult.cs b/sources/ClangSharp.Interop/clang/CXVisitorResult.cs index ffbd0688..0b04c170 100644 --- a/sources/ClangSharp.Interop/clang/CXVisitorResult.cs +++ b/sources/ClangSharp.Interop/clang/CXVisitorResult.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CX_CXXAccessSpecifier.cs b/sources/ClangSharp.Interop/clang/CX_CXXAccessSpecifier.cs index f280b556..a2de358d 100644 --- a/sources/ClangSharp.Interop/clang/CX_CXXAccessSpecifier.cs +++ b/sources/ClangSharp.Interop/clang/CX_CXXAccessSpecifier.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/CX_StorageClass.cs b/sources/ClangSharp.Interop/clang/CX_StorageClass.cs index c823edf2..844cc1c1 100644 --- a/sources/ClangSharp.Interop/clang/CX_StorageClass.cs +++ b/sources/ClangSharp.Interop/clang/CX_StorageClass.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/IndexerCallbacks.cs b/sources/ClangSharp.Interop/clang/IndexerCallbacks.cs index c7896c22..097d979a 100644 --- a/sources/ClangSharp.Interop/clang/IndexerCallbacks.cs +++ b/sources/ClangSharp.Interop/clang/IndexerCallbacks.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. namespace ClangSharp.Interop; diff --git a/sources/ClangSharp.Interop/clang/clang.cs b/sources/ClangSharp.Interop/clang/clang.cs index 1cb1431d..23037e80 100644 --- a/sources/ClangSharp.Interop/clang/clang.cs +++ b/sources/ClangSharp.Interop/clang/clang.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. using System; @@ -151,7 +151,7 @@ public static unsafe partial class @clang public static extern uint getDiagnosticCategory([NativeTypeName("CXDiagnostic")] void* param0); [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticCategoryName", ExactSpelling = true)] - [Obsolete("https://clang.llvm.org/doxygen/group__CINDEX__DIAG.html#gaf3d608c7860a57ce6571a3b03b4ead33")] + [Obsolete] public static extern CXString getDiagnosticCategoryName([NativeTypeName("unsigned int")] uint Category); [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticCategoryText", ExactSpelling = true)] @@ -391,6 +391,10 @@ public static unsafe partial class @clang [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_disposeIndex", ExactSpelling = true)] public static extern void disposeIndex([NativeTypeName("CXIndex")] void* index); + [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_createIndexWithOptions", ExactSpelling = true)] + [return: NativeTypeName("CXIndex")] + public static extern void* createIndexWithOptions([NativeTypeName("const CXIndexOptions *")] CXIndexOptions* options); + [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_CXIndex_setGlobalOptions", ExactSpelling = true)] public static extern void CXIndex_setGlobalOptions([NativeTypeName("CXIndex")] void* param0, [NativeTypeName("unsigned int")] uint options); @@ -676,6 +680,10 @@ public static unsafe partial class @clang [return: NativeTypeName("unsigned long long")] public static extern ulong getEnumConstantDeclUnsignedValue(CXCursor C); + [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_Cursor_isBitField", ExactSpelling = true)] + [return: NativeTypeName("unsigned int")] + public static extern uint Cursor_isBitField(CXCursor C); + [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getFieldDeclBitWidth", ExactSpelling = true)] public static extern int getFieldDeclBitWidth(CXCursor C); @@ -881,10 +889,6 @@ public static unsafe partial class @clang [return: NativeTypeName("enum CXRefQualifierKind")] public static extern CXRefQualifierKind Type_getCXXRefQualifier(CXType T); - [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_Cursor_isBitField", ExactSpelling = true)] - [return: NativeTypeName("unsigned int")] - public static extern uint Cursor_isBitField(CXCursor C); - [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_isVirtualBase", ExactSpelling = true)] [return: NativeTypeName("unsigned int")] public static extern uint isVirtualBase(CXCursor param0); @@ -911,6 +915,10 @@ public static unsafe partial class @clang [return: NativeTypeName("unsigned int")] public static extern uint visitChildren(CXCursor parent, [NativeTypeName("CXCursorVisitor")] delegate* unmanaged[Cdecl] visitor, [NativeTypeName("CXClientData")] void* client_data); + [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_visitChildrenWithBlock", ExactSpelling = true)] + [return: NativeTypeName("unsigned int")] + public static extern uint visitChildrenWithBlock(CXCursor parent, [NativeTypeName("CXCursorVisitorBlock")] delegate* unmanaged[Cdecl] block); + [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getCursorUSR", ExactSpelling = true)] public static extern CXString getCursorUSR(CXCursor param0); @@ -1105,6 +1113,10 @@ public static unsafe partial class @clang [return: NativeTypeName("unsigned int")] public static extern uint CXXMethod_isMoveAssignmentOperator(CXCursor C); + [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_CXXMethod_isExplicit", ExactSpelling = true)] + [return: NativeTypeName("unsigned int")] + public static extern uint CXXMethod_isExplicit(CXCursor C); + [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_CXXRecord_isAbstract", ExactSpelling = true)] [return: NativeTypeName("unsigned int")] public static extern uint CXXRecord_isAbstract(CXCursor C); @@ -1310,6 +1322,12 @@ public static unsafe partial class @clang [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_findIncludesInFile", ExactSpelling = true)] public static extern CXResult findIncludesInFile([NativeTypeName("CXTranslationUnit")] CXTranslationUnitImpl* TU, [NativeTypeName("CXFile")] void* file, CXCursorAndRangeVisitor visitor); + [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_findReferencesInFileWithBlock", ExactSpelling = true)] + public static extern CXResult findReferencesInFileWithBlock(CXCursor param0, [NativeTypeName("CXFile")] void* param1, [NativeTypeName("CXCursorAndRangeVisitorBlock")] delegate* unmanaged[Cdecl] param2); + + [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_findIncludesInFileWithBlock", ExactSpelling = true)] + public static extern CXResult findIncludesInFileWithBlock([NativeTypeName("CXTranslationUnit")] CXTranslationUnitImpl* param0, [NativeTypeName("CXFile")] void* param1, [NativeTypeName("CXCursorAndRangeVisitorBlock")] delegate* unmanaged[Cdecl] param2); + [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_index_isEntityObjCContainerKind", ExactSpelling = true)] public static extern int index_isEntityObjCContainerKind(CXIdxEntityKind param0); @@ -1381,17 +1399,31 @@ public static unsafe partial class @clang [return: NativeTypeName("unsigned int")] public static extern uint Type_visitFields(CXType T, [NativeTypeName("CXFieldVisitor")] delegate* unmanaged[Cdecl] visitor, [NativeTypeName("CXClientData")] void* client_data); + [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getBinaryOperatorKindSpelling", ExactSpelling = true)] + public static extern CXString getBinaryOperatorKindSpelling([NativeTypeName("enum CXBinaryOperatorKind")] CXBinaryOperatorKind kind); + + [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getCursorBinaryOperatorKind", ExactSpelling = true)] + [return: NativeTypeName("enum CXBinaryOperatorKind")] + public static extern CXBinaryOperatorKind getCursorBinaryOperatorKind(CXCursor cursor); + + [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getUnaryOperatorKindSpelling", ExactSpelling = true)] + public static extern CXString getUnaryOperatorKindSpelling([NativeTypeName("enum CXUnaryOperatorKind")] CXUnaryOperatorKind kind); + + [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getCursorUnaryOperatorKind", ExactSpelling = true)] + [return: NativeTypeName("enum CXUnaryOperatorKind")] + public static extern CXUnaryOperatorKind getCursorUnaryOperatorKind(CXCursor cursor); + [NativeTypeName("#define CINDEX_VERSION_MAJOR 0")] public const int CINDEX_VERSION_MAJOR = 0; - [NativeTypeName("#define CINDEX_VERSION_MINOR 63")] - public const int CINDEX_VERSION_MINOR = 63; + [NativeTypeName("#define CINDEX_VERSION_MINOR 64")] + public const int CINDEX_VERSION_MINOR = 64; [NativeTypeName("#define CINDEX_VERSION CINDEX_VERSION_ENCODE(CINDEX_VERSION_MAJOR, CINDEX_VERSION_MINOR)")] - public const int CINDEX_VERSION = (((0) * 10000) + ((63) * 1)); + public const int CINDEX_VERSION = (((0) * 10000) + ((64) * 1)); [NativeTypeName("#define CINDEX_VERSION_STRING CINDEX_VERSION_STRINGIZE(CINDEX_VERSION_MAJOR, CINDEX_VERSION_MINOR)")] - public static ReadOnlySpan CINDEX_VERSION_STRING => "0.63"u8; + public static ReadOnlySpan CINDEX_VERSION_STRING => "0.64"u8; [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_CXRewriter_create", ExactSpelling = true)] [return: NativeTypeName("CXRewriter")] diff --git a/sources/ClangSharp.Interop/clangsharp/CX_AtomicOperatorKind.cs b/sources/ClangSharp.Interop/clangsharp/CX_AtomicOperatorKind.cs index 3bfe6431..de82094a 100644 --- a/sources/ClangSharp.Interop/clangsharp/CX_AtomicOperatorKind.cs +++ b/sources/ClangSharp.Interop/clangsharp/CX_AtomicOperatorKind.cs @@ -63,6 +63,7 @@ public enum CX_AtomicOperatorKind CX_AO__hip_atomic_compare_exchange_strong, CX_AO__hip_atomic_exchange, CX_AO__hip_atomic_fetch_add, + CX_AO__hip_atomic_fetch_sub, CX_AO__hip_atomic_fetch_and, CX_AO__hip_atomic_fetch_or, CX_AO__hip_atomic_fetch_xor, diff --git a/sources/ClangSharp.Interop/clangsharp/CX_AttrKind.cs b/sources/ClangSharp.Interop/clangsharp/CX_AttrKind.cs index aec24116..67280437 100644 --- a/sources/ClangSharp.Interop/clangsharp/CX_AttrKind.cs +++ b/sources/ClangSharp.Interop/clangsharp/CX_AttrKind.cs @@ -9,6 +9,7 @@ public enum CX_AttrKind CX_AttrKind_AddressSpace, CX_AttrKind_AnnotateType, CX_AttrKind_ArmMveStrictPolymorphism, + CX_AttrKind_ArmStreaming, CX_AttrKind_BTFTypeTag, CX_AttrKind_CmseNSCall, CX_AttrKind_HLSLGroupSharedAddressSpace, @@ -31,6 +32,7 @@ public enum CX_AttrKind CX_AttrKind_TypeNullable, CX_AttrKind_TypeNullableResult, CX_AttrKind_UPtr, + CX_AttrKind_WebAssemblyFuncref, CX_AttrKind_FallThrough, CX_AttrKind_Likely, CX_AttrKind_MustTail, @@ -108,6 +110,7 @@ public enum CX_AttrKind CX_AttrKind_AssumeAligned, CX_AttrKind_Assumption, CX_AttrKind_Availability, + CX_AttrKind_AvailableOnlyInDefaultEvalMethod, CX_AttrKind_BPFPreserveAccessIndex, CX_AttrKind_BTFDeclTag, CX_AttrKind_Blocks, @@ -213,6 +216,7 @@ public enum CX_AttrKind CX_AttrKind_NSErrorDomain, CX_AttrKind_NSReturnsAutoreleased, CX_AttrKind_NSReturnsNotRetained, + CX_AttrKind_NVPTXKernel, CX_AttrKind_Naked, CX_AttrKind_NoAlias, CX_AttrKind_NoCommon, @@ -324,6 +328,7 @@ public enum CX_AttrKind CX_AttrKind_TypeVisibility, CX_AttrKind_Unavailable, CX_AttrKind_Uninitialized, + CX_AttrKind_UnsafeBufferUsage, CX_AttrKind_Unused, CX_AttrKind_Used, CX_AttrKind_UsingIfExists, @@ -376,7 +381,7 @@ public enum CX_AttrKind CX_AttrKind_FirstAttr = CX_AttrKind_AddressSpace, CX_AttrKind_LastAttr = CX_AttrKind_Thread, CX_AttrKind_FirstTypeAttr = CX_AttrKind_AddressSpace, - CX_AttrKind_LastTypeAttr = CX_AttrKind_UPtr, + CX_AttrKind_LastTypeAttr = CX_AttrKind_WebAssemblyFuncref, CX_AttrKind_FirstStmtAttr = CX_AttrKind_FallThrough, CX_AttrKind_LastStmtAttr = CX_AttrKind_Unlikely, CX_AttrKind_FirstDeclOrStmtAttr = CX_AttrKind_AlwaysInline, diff --git a/sources/ClangSharp.Interop/clangsharp/CX_BinaryOperatorKind.cs b/sources/ClangSharp.Interop/clangsharp/CX_BinaryOperatorKind.cs deleted file mode 100644 index ffeb1036..00000000 --- a/sources/ClangSharp.Interop/clangsharp/CX_BinaryOperatorKind.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/dotnet/clangsharp/blob/main/sources/libClangSharp - -namespace ClangSharp.Interop; - -public enum CX_BinaryOperatorKind -{ - CX_BO_Invalid, - CX_BO_PtrMemD, - CX_BO_PtrMemI, - CX_BO_Mul, - CX_BO_Div, - CX_BO_Rem, - CX_BO_Add, - CX_BO_Sub, - CX_BO_Shl, - CX_BO_Shr, - CX_BO_Cmp, - CX_BO_LT, - CX_BO_GT, - CX_BO_LE, - CX_BO_GE, - CX_BO_EQ, - CX_BO_NE, - CX_BO_And, - CX_BO_Xor, - CX_BO_Or, - CX_BO_LAnd, - CX_BO_LOr, - CX_BO_Assign, - CX_BO_MulAssign, - CX_BO_DivAssign, - CX_BO_RemAssign, - CX_BO_AddAssign, - CX_BO_SubAssign, - CX_BO_ShlAssign, - CX_BO_ShrAssign, - CX_BO_AndAssign, - CX_BO_XorAssign, - CX_BO_OrAssign, - CX_BO_Comma, -} diff --git a/sources/ClangSharp.Interop/clangsharp/CX_UnaryOperatorKind.cs b/sources/ClangSharp.Interop/clangsharp/CX_UnaryOperatorKind.cs deleted file mode 100644 index 16862e2d..00000000 --- a/sources/ClangSharp.Interop/clangsharp/CX_UnaryOperatorKind.cs +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/dotnet/clangsharp/blob/main/sources/libClangSharp - -namespace ClangSharp.Interop; - -public enum CX_UnaryOperatorKind -{ - CX_UO_Invalid, - CX_UO_PostInc, - CX_UO_PostDec, - CX_UO_PreInc, - CX_UO_PreDec, - CX_UO_AddrOf, - CX_UO_Deref, - CX_UO_Plus, - CX_UO_Minus, - CX_UO_Not, - CX_UO_LNot, - CX_UO_Real, - CX_UO_Imag, - CX_UO_Extension, - CX_UO_Coawait, -} diff --git a/sources/ClangSharp.Interop/clangsharp/clangsharp.cs b/sources/ClangSharp.Interop/clangsharp/clangsharp.cs index 50cbdaec..1c675a8e 100644 --- a/sources/ClangSharp.Interop/clangsharp/clangsharp.cs +++ b/sources/ClangSharp.Interop/clangsharp/clangsharp.cs @@ -37,10 +37,7 @@ public static partial class @clangsharp public static extern CXCursor Cursor_getBase(CXCursor C, [NativeTypeName("unsigned int")] uint i); [DllImport("libClangSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clangsharp_Cursor_getBinaryOpcode", ExactSpelling = true)] - public static extern CX_BinaryOperatorKind Cursor_getBinaryOpcode(CXCursor C); - - [DllImport("libClangSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clangsharp_Cursor_getBinaryOpcodeSpelling", ExactSpelling = true)] - public static extern CXString Cursor_getBinaryOpcodeSpelling(CX_BinaryOperatorKind Op); + public static extern CXBinaryOperatorKind Cursor_getBinaryOpcode(CXCursor C); [DllImport("libClangSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clangsharp_Cursor_getBindingDecl", ExactSpelling = true)] public static extern CXCursor Cursor_getBindingDecl(CXCursor C, [NativeTypeName("unsigned int")] uint i); @@ -857,12 +854,6 @@ public static partial class @clangsharp [DllImport("libClangSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clangsharp_Cursor_getUnaryExprOrTypeTraitKind", ExactSpelling = true)] public static extern CX_UnaryExprOrTypeTrait Cursor_getUnaryExprOrTypeTraitKind(CXCursor C); - [DllImport("libClangSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clangsharp_Cursor_getUnaryOpcode", ExactSpelling = true)] - public static extern CX_UnaryOperatorKind Cursor_getUnaryOpcode(CXCursor C); - - [DllImport("libClangSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clangsharp_Cursor_getUnaryOpcodeSpelling", ExactSpelling = true)] - public static extern CXString Cursor_getUnaryOpcodeSpelling(CX_UnaryOperatorKind Op); - [DllImport("libClangSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clangsharp_Cursor_getUnderlyingDecl", ExactSpelling = true)] public static extern CXCursor Cursor_getUnderlyingDecl(CXCursor C); diff --git a/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.VisitDecl.cs b/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.VisitDecl.cs index 5bdbd972..e76f2732 100644 --- a/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.VisitDecl.cs +++ b/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.VisitDecl.cs @@ -15,7 +15,7 @@ using static ClangSharp.Interop.CX_StmtClass; using static ClangSharp.Interop.CX_StorageClass; using static ClangSharp.Interop.CX_UnaryExprOrTypeTrait; -using static ClangSharp.Interop.CX_UnaryOperatorKind; +using static ClangSharp.Interop.CXUnaryOperatorKind; using static ClangSharp.Interop.CXEvalResultKind; using static ClangSharp.Interop.CXTypeKind; @@ -1357,20 +1357,7 @@ private void VisitRecordDecl(RecordDecl recordDecl) var isTopLevelStruct = _config.WithTypes.TryGetValue(name, out var withType) && withType.Equals("struct", StringComparison.Ordinal); var generateTestsClass = !recordDecl.IsAnonymousStructOrUnion && recordDecl.DeclContext is not RecordDecl; - - if ((_testOutputBuilder is not null) && generateTestsClass && !isTopLevelStruct) - { - _testOutputBuilder.WriteIndented("/// Provides validation of the struct."); - - WithAttributes(recordDecl, onlySupportedOSPlatform: true, isTestOutput: true); - - _testOutputBuilder.WriteIndented("public static unsafe partial class "); - _testOutputBuilder.Write(escapedName); - _testOutputBuilder.WriteLine("Tests"); - _testOutputBuilder.WriteBlockStart(); - } + var testOutputStarted = false; var nullableUuid = (Guid?)null; var uuidName = ""; @@ -1384,6 +1371,8 @@ private void VisitRecordDecl(RecordDecl recordDecl) if ((_testOutputBuilder is not null) && (uuid != Guid.Empty)) { + StartTestOutput(ref testOutputStarted, generateTestsClass, isTopLevelStruct); + var className = GetClass(uuidName); _testOutputBuilder.AddUsingDirective("System"); @@ -1676,6 +1665,8 @@ private void VisitRecordDecl(RecordDecl recordDecl) if ((_testOutputBuilder is not null) && generateTestsClass && !_config.GenerateDisableRuntimeMarshalling) { + StartTestOutput(ref testOutputStarted, generateTestsClass, isTopLevelStruct); + _testOutputBuilder.WriteIndented("/// Validates that the struct is blittable."); @@ -1857,7 +1848,7 @@ private void VisitRecordDecl(RecordDecl recordDecl) { _outputBuilder.EndStruct(in desc); - if ((_testOutputBuilder is not null) && generateTestsClass) + if ((_testOutputBuilder is not null) && generateTestsClass && testOutputStarted) { _testOutputBuilder.WriteBlockEnd(); } @@ -3125,6 +3116,25 @@ void VisitConstantOrIncompleteArrayFieldDecl(RecordDecl recordDecl, FieldDecl co _outputBuilder.EndStruct(in desc); } + + void StartTestOutput(ref bool testOutputStarted, bool generateTestsClass, bool isTopLevelStruct) + { + if ((_testOutputBuilder is not null) && generateTestsClass && !isTopLevelStruct && !testOutputStarted) + { + _testOutputBuilder.WriteIndented("/// Provides validation of the struct."); + + WithAttributes(recordDecl, onlySupportedOSPlatform: true, isTestOutput: true); + + _testOutputBuilder.WriteIndented("public static unsafe partial class "); + _testOutputBuilder.Write(escapedName); + _testOutputBuilder.WriteLine("Tests"); + _testOutputBuilder.WriteBlockStart(); + + testOutputStarted = true; + } + } } private void VisitTranslationUnitDecl(TranslationUnitDecl translationUnitDecl) @@ -3894,7 +3904,7 @@ private bool IsConstant(string targetTypeName, Expr initExpr) { var unaryOperator = (UnaryOperator)initExpr; return IsConstant(targetTypeName, unaryOperator.SubExpr) - && ((unaryOperator.Opcode != CX_UO_Minus) || (targetTypeName is not "IntPtr" and not "nint" and not "nuint" and not "UIntPtr")); + && ((unaryOperator.Opcode != CXUnaryOperator_Minus) || (targetTypeName is not "IntPtr" and not "nint" and not "nuint" and not "UIntPtr")); } // case CX_StmtClass_VAArgExpr: diff --git a/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.VisitStmt.cs b/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.VisitStmt.cs index 3a561d2f..9bd793f1 100644 --- a/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.VisitStmt.cs +++ b/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.VisitStmt.cs @@ -10,12 +10,12 @@ using System.Text; using ClangSharp.Abstractions; using ClangSharp.CSharp; -using static ClangSharp.Interop.CX_BinaryOperatorKind; +using static ClangSharp.Interop.CXBinaryOperatorKind; using static ClangSharp.Interop.CX_CastKind; using static ClangSharp.Interop.CX_CharacterKind; using static ClangSharp.Interop.CX_StmtClass; using static ClangSharp.Interop.CX_UnaryExprOrTypeTrait; -using static ClangSharp.Interop.CX_UnaryOperatorKind; +using static ClangSharp.Interop.CXUnaryOperatorKind; using static ClangSharp.Interop.CXEvalResultKind; using static ClangSharp.Interop.CXTypeKind; @@ -176,7 +176,7 @@ private void VisitCallExpr(CallExpr callExpr) var typeOfArgument = unaryExprOrTypeTraitExpr.TypeOfArgument; var expr = callExpr.Args[0]; - if (IsStmtAsWritten(expr, out var unaryOperator, removeParens: true) && (unaryOperator.Opcode == CX_UO_AddrOf)) + if (IsStmtAsWritten(expr, out var unaryOperator, removeParens: true) && (unaryOperator.Opcode == CXUnaryOperator_AddrOf)) { expr = unaryOperator.SubExpr; } @@ -272,7 +272,7 @@ void VisitArgs(CallExpr callExpr) { if (IsType(callExpr, functionProtoType.ParamTypes[i])) { - if (IsStmtAsWritten(arg, out var unaryOperator, removeParens: true) && (unaryOperator.Opcode == CX_UO_Deref)) + if (IsStmtAsWritten(arg, out var unaryOperator, removeParens: true) && (unaryOperator.Opcode == CXUnaryOperator_Deref)) { arg = unaryOperator.SubExpr; } @@ -1052,7 +1052,7 @@ private void VisitImplicitCastExpr(ImplicitCastExpr implicitCastExpr) case CX_CK_PointerToBoolean: { - if ((subExpr is UnaryOperator unaryOperator) && (unaryOperator.Opcode == CX_UO_LNot)) + if ((subExpr is UnaryOperator unaryOperator) && (unaryOperator.Opcode == CXUnaryOperator_LNot)) { Visit(subExpr); } @@ -1078,7 +1078,7 @@ private void VisitImplicitCastExpr(ImplicitCastExpr implicitCastExpr) case CX_CK_IntegralToBoolean: { - if ((subExpr is UnaryOperator unaryOperator) && (unaryOperator.Opcode == CX_UO_LNot)) + if ((subExpr is UnaryOperator unaryOperator) && (unaryOperator.Opcode == CXUnaryOperator_LNot)) { Visit(subExpr); } @@ -1128,7 +1128,7 @@ void ForEnumConstantDecl(ImplicitCastExpr implicitCastExpr) { var subExpr = implicitCastExpr.SubExprAsWritten; - if (IsPrevContextStmt(out var binaryOperator, out _) && ((binaryOperator.Opcode == CX_BO_EQ) || (binaryOperator.Opcode == CX_BO_NE))) + if (IsPrevContextStmt(out var binaryOperator, out _) && ((binaryOperator.Opcode == CXBinaryOperator_EQ) || (binaryOperator.Opcode == CXBinaryOperator_NE))) { Visit(subExpr); subExpr = null; @@ -2774,15 +2774,15 @@ private void VisitUnaryOperator(UnaryOperator unaryOperator) var outputBuilder = StartCSharpCode(); switch (unaryOperator.Opcode) { - case CX_UO_PostInc: - case CX_UO_PostDec: + case CXUnaryOperator_PostInc: + case CXUnaryOperator_PostDec: { Visit(unaryOperator.SubExpr); outputBuilder.Write(unaryOperator.OpcodeStr); break; } - case CX_UO_Deref: + case CXUnaryOperator_Deref: { if (_topLevelClassNames.Contains(outputBuilder.Name)) { @@ -2794,18 +2794,18 @@ private void VisitUnaryOperator(UnaryOperator unaryOperator) break; } - case CX_UO_PreInc: - case CX_UO_PreDec: - case CX_UO_Plus: - case CX_UO_Minus: - case CX_UO_Not: + case CXUnaryOperator_PreInc: + case CXUnaryOperator_PreDec: + case CXUnaryOperator_Plus: + case CXUnaryOperator_Minus: + case CXUnaryOperator_Not: { outputBuilder.Write(unaryOperator.OpcodeStr); Visit(unaryOperator.SubExpr); break; } - case CX_UO_LNot: + case CXUnaryOperator_LNot: { var subExpr = GetExprAsWritten(unaryOperator.SubExpr, removeParens: true); @@ -2851,7 +2851,7 @@ private void VisitUnaryOperator(UnaryOperator unaryOperator) break; } - case CX_UO_AddrOf: + case CXUnaryOperator_AddrOf: { if ((unaryOperator.SubExpr is DeclRefExpr declRefExpr) && IsType(declRefExpr.Decl)) { diff --git a/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.cs b/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.cs index 109f6787..4667df2c 100644 --- a/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.cs +++ b/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.cs @@ -15,11 +15,11 @@ using ClangSharp.Interop; using ClangSharp.XML; using static ClangSharp.Interop.CX_AttrKind; -using static ClangSharp.Interop.CX_BinaryOperatorKind; +using static ClangSharp.Interop.CXBinaryOperatorKind; using static ClangSharp.Interop.CX_CXXAccessSpecifier; using static ClangSharp.Interop.CX_StmtClass; using static ClangSharp.Interop.CX_UnaryExprOrTypeTrait; -using static ClangSharp.Interop.CX_UnaryOperatorKind; +using static ClangSharp.Interop.CXUnaryOperatorKind; using static ClangSharp.Interop.CXCallingConv; using static ClangSharp.Interop.CXDiagnosticSeverity; using static ClangSharp.Interop.CXEvalResultKind; @@ -37,8 +37,8 @@ public sealed partial class PInvokeGenerator : IDisposable private static readonly string[] s_doubleColonSeparator = ["::"]; private static readonly char[] s_doubleQuoteSeparator = ['"']; - private const string ExpectedClangVersion = "version 16.0"; - private const string ExpectedClangSharpVersion = "version 16.0"; + private const string ExpectedClangVersion = "version 17.0"; + private const string ExpectedClangSharpVersion = "version 17.0"; private readonly CXIndex _index; private readonly OutputBuilderFactory _outputBuilderFactory; @@ -323,6 +323,21 @@ public void Close() var outputPath = outputBuilder.IsTestOutput ? _config.TestOutputLocation : _config.OutputLocation; var isMethodClass = _topLevelClassNames.Contains(outputBuilder.Name); + if (outputBuilder is CSharpOutputBuilder csharpOutputBuilder) + { + if (!csharpOutputBuilder.Contents.Any()) + { + continue; + } + } + else if (outputBuilder is XmlOutputBuilder xmlOutputBuilder) + { + if (!xmlOutputBuilder.Contents.Any()) + { + continue; + } + } + if (_config.GenerateMultipleFiles) { outputPath = Path.Combine(outputPath, $"{outputBuilder.Name}{outputBuilder.Extension}"); @@ -1894,7 +1909,7 @@ private void CloseOutputBuilder(Stream stream, IOutputBuilder outputBuilder, boo sw.WriteLine(); } } - else if ((outputBuilder is XmlOutputBuilder xmlOutputBuilder) && xmlOutputBuilder.Contents.Any()) + else if (outputBuilder is XmlOutputBuilder xmlOutputBuilder) { sw.WriteLine(""); sw.WriteLine(""); @@ -5674,12 +5689,12 @@ private bool IsUnchecked(string targetTypeName, Stmt stmt) switch (unaryOperator.Opcode) { - case CX_UO_Minus: + case CXUnaryOperator_Minus: { return IsUnsigned(targetTypeName); } - case CX_UO_Not: + case CXUnaryOperator_Not: { return IsUnsigned(targetTypeName) != IsUnsigned(sourceTypeName); } @@ -5748,14 +5763,14 @@ bool IsOverflow(BinaryOperator binaryOperator) switch (binaryOperator.Opcode) { - case CX_BO_Add: + case CXBinaryOperator_Add: { return isUnsigned ? (ulong)lhsValue + (ulong)rhsValue < (ulong)lhsValue : lhsValue + rhsValue < lhsValue; } - case CX_BO_Sub: + case CXBinaryOperator_Sub: { return isUnsigned ? (ulong)lhsValue - (ulong)rhsValue > (ulong)lhsValue diff --git a/sources/ClangSharp/ClangSharp.csproj b/sources/ClangSharp/ClangSharp.csproj index de7a59d4..d5fee39f 100644 --- a/sources/ClangSharp/ClangSharp.csproj +++ b/sources/ClangSharp/ClangSharp.csproj @@ -2,7 +2,7 @@ - net8.0;netstandard2.0 + net8.0 diff --git a/sources/ClangSharp/Cursors/Attrs/Attr.cs b/sources/ClangSharp/Cursors/Attrs/Attr.cs index 7a357715..4d4578b2 100644 --- a/sources/ClangSharp/Cursors/Attrs/Attr.cs +++ b/sources/ClangSharp/Cursors/Attrs/Attr.cs @@ -21,6 +21,7 @@ private protected Attr(CXCursor handle) : base(handle, handle.Kind) CX_AttrKind_AddressSpace => new TypeAttr(handle), CX_AttrKind_AnnotateType => new TypeAttr(handle), CX_AttrKind_ArmMveStrictPolymorphism => new TypeAttr(handle), + CX_AttrKind_ArmStreaming => new TypeAttr(handle), CX_AttrKind_BTFTypeTag => new TypeAttr(handle), CX_AttrKind_CmseNSCall => new TypeAttr(handle), CX_AttrKind_HLSLGroupSharedAddressSpace => new TypeAttr(handle), @@ -43,6 +44,7 @@ private protected Attr(CXCursor handle) : base(handle, handle.Kind) CX_AttrKind_TypeNullable => new TypeAttr(handle), CX_AttrKind_TypeNullableResult => new TypeAttr(handle), CX_AttrKind_UPtr => new TypeAttr(handle), + CX_AttrKind_WebAssemblyFuncref => new TypeAttr(handle), CX_AttrKind_FallThrough => new StmtAttr(handle), CX_AttrKind_Likely => new StmtAttr(handle), CX_AttrKind_MustTail => new StmtAttr(handle), @@ -120,6 +122,7 @@ private protected Attr(CXCursor handle) : base(handle, handle.Kind) CX_AttrKind_AssumeAligned => new InheritableAttr(handle), CX_AttrKind_Assumption => new InheritableAttr(handle), CX_AttrKind_Availability => new InheritableAttr(handle), + CX_AttrKind_AvailableOnlyInDefaultEvalMethod => new InheritableAttr(handle), CX_AttrKind_BPFPreserveAccessIndex => new InheritableAttr(handle), CX_AttrKind_BTFDeclTag => new InheritableAttr(handle), CX_AttrKind_Blocks => new InheritableAttr(handle), @@ -225,6 +228,7 @@ private protected Attr(CXCursor handle) : base(handle, handle.Kind) CX_AttrKind_NSErrorDomain => new InheritableAttr(handle), CX_AttrKind_NSReturnsAutoreleased => new InheritableAttr(handle), CX_AttrKind_NSReturnsNotRetained => new InheritableAttr(handle), + CX_AttrKind_NVPTXKernel => new InheritableAttr(handle), CX_AttrKind_Naked => new InheritableAttr(handle), CX_AttrKind_NoAlias => new InheritableAttr(handle), CX_AttrKind_NoCommon => new InheritableAttr(handle), @@ -336,6 +340,7 @@ private protected Attr(CXCursor handle) : base(handle, handle.Kind) CX_AttrKind_TypeVisibility => new InheritableAttr(handle), CX_AttrKind_Unavailable => new InheritableAttr(handle), CX_AttrKind_Uninitialized => new InheritableAttr(handle), + CX_AttrKind_UnsafeBufferUsage => new InheritableAttr(handle), CX_AttrKind_Unused => new InheritableAttr(handle), CX_AttrKind_Used => new InheritableAttr(handle), CX_AttrKind_UsingIfExists => new InheritableAttr(handle), diff --git a/sources/ClangSharp/Cursors/Exprs/BinaryOperator.cs b/sources/ClangSharp/Cursors/Exprs/BinaryOperator.cs index 4724e0a2..e79fa4cd 100644 --- a/sources/ClangSharp/Cursors/Exprs/BinaryOperator.cs +++ b/sources/ClangSharp/Cursors/Exprs/BinaryOperator.cs @@ -4,7 +4,7 @@ using System.Diagnostics; using ClangSharp.Interop; using static ClangSharp.Interop.CXCursorKind; -using static ClangSharp.Interop.CX_BinaryOperatorKind; +using static ClangSharp.Interop.CXBinaryOperatorKind; using static ClangSharp.Interop.CX_StmtClass; namespace ClangSharp; @@ -25,35 +25,35 @@ private protected BinaryOperator(CXCursor handle, CXCursorKind expectedCursorKin Debug.Assert(NumChildren is 2); } - public bool IsAdditiveOp => Opcode is CX_BO_Add or CX_BO_Sub; + public bool IsAdditiveOp => Opcode is CXBinaryOperator_Add or CXBinaryOperator_Sub; - public bool IsAssignmentOp => Opcode is >= CX_BO_Assign and <= CX_BO_OrAssign; + public bool IsAssignmentOp => Opcode is >= CXBinaryOperator_Assign and <= CXBinaryOperator_OrAssign; - public bool IsBitwiseOp => Opcode is >= CX_BO_And and <= CX_BO_Or; + public bool IsBitwiseOp => Opcode is >= CXBinaryOperator_And and <= CXBinaryOperator_Or; - public bool IsCommaOp => Opcode == CX_BO_Comma; + public bool IsCommaOp => Opcode == CXBinaryOperator_Comma; - public bool IsComparisonOp => Opcode is >= CX_BO_Cmp and <= CX_BO_NE; + public bool IsComparisonOp => Opcode is >= CXBinaryOperator_Cmp and <= CXBinaryOperator_NE; - public bool IsCompoundAssignmentOp=> Opcode is > CX_BO_Assign and <= CX_BO_OrAssign; + public bool IsCompoundAssignmentOp=> Opcode is > CXBinaryOperator_Assign and <= CXBinaryOperator_OrAssign; - public bool IsEqualityOp => Opcode is CX_BO_EQ or CX_BO_NE; + public bool IsEqualityOp => Opcode is CXBinaryOperator_EQ or CXBinaryOperator_NE; - public bool IsLogicalOp => Opcode is CX_BO_LAnd or CX_BO_LOr; + public bool IsLogicalOp => Opcode is CXBinaryOperator_LAnd or CXBinaryOperator_LOr; - public bool IsMultiplicativeOp => Opcode is >= CX_BO_Mul and <= CX_BO_Rem; + public bool IsMultiplicativeOp => Opcode is >= CXBinaryOperator_Mul and <= CXBinaryOperator_Rem; - public bool IsPtrMemOp => Opcode is CX_BO_PtrMemD or CX_BO_PtrMemI; + public bool IsPtrMemOp => Opcode is CXBinaryOperator_PtrMemD or CXBinaryOperator_PtrMemI; - public bool IsRelationalOp => Opcode is >= CX_BO_LT and <= CX_BO_GE; + public bool IsRelationalOp => Opcode is >= CXBinaryOperator_LT and <= CXBinaryOperator_GE; - public bool IsShiftAssignOp=> Opcode is CX_BO_ShlAssign or CX_BO_ShrAssign; + public bool IsShiftAssignOp=> Opcode is CXBinaryOperator_ShlAssign or CXBinaryOperator_ShrAssign; - public bool IsShiftOp => Opcode is CX_BO_Shl or CX_BO_Shr; + public bool IsShiftOp => Opcode is CXBinaryOperator_Shl or CXBinaryOperator_Shr; public Expr LHS => (Expr)Children[0]; - public CX_BinaryOperatorKind Opcode => Handle.BinaryOperatorKind; + public CXBinaryOperatorKind Opcode => Handle.BinaryOperatorKind; public string OpcodeStr => Handle.BinaryOperatorKindSpelling.CString; diff --git a/sources/ClangSharp/Cursors/Exprs/CXXFoldExpr.cs b/sources/ClangSharp/Cursors/Exprs/CXXFoldExpr.cs index d24cbf1a..f38cce25 100644 --- a/sources/ClangSharp/Cursors/Exprs/CXXFoldExpr.cs +++ b/sources/ClangSharp/Cursors/Exprs/CXXFoldExpr.cs @@ -24,7 +24,7 @@ internal CXXFoldExpr(CXCursor handle) : base(handle, CXCursor_UnexposedExpr, CX_ public Expr LHS => (Expr)Children[1]; - public CX_BinaryOperatorKind Operator => Handle.BinaryOperatorKind; + public CXBinaryOperatorKind Operator => Handle.BinaryOperatorKind; public Expr Pattern => IsLeftFold ? RHS : LHS; diff --git a/sources/ClangSharp/Cursors/Exprs/CXXRewrittenBinaryOperator.cs b/sources/ClangSharp/Cursors/Exprs/CXXRewrittenBinaryOperator.cs index 12ef9b4b..d1de6a59 100644 --- a/sources/ClangSharp/Cursors/Exprs/CXXRewrittenBinaryOperator.cs +++ b/sources/ClangSharp/Cursors/Exprs/CXXRewrittenBinaryOperator.cs @@ -27,9 +27,9 @@ internal CXXRewrittenBinaryOperator(CXCursor handle) : base(handle, CXCursor_Une public static bool IsComparisonOp => true; - public CX_BinaryOperatorKind Opcode => Operator; + public CXBinaryOperatorKind Opcode => Operator; - public CX_BinaryOperatorKind Operator => Handle.BinaryOperatorKind; + public CXBinaryOperatorKind Operator => Handle.BinaryOperatorKind; public string OpcodeStr => Handle.BinaryOperatorKindSpelling.CString; diff --git a/sources/ClangSharp/Cursors/Exprs/Expr.cs b/sources/ClangSharp/Cursors/Exprs/Expr.cs index 6d117d8b..331ca03a 100644 --- a/sources/ClangSharp/Cursors/Exprs/Expr.cs +++ b/sources/ClangSharp/Cursors/Exprs/Expr.cs @@ -6,7 +6,7 @@ using static ClangSharp.Interop.CX_CastKind; using static ClangSharp.Interop.CX_ExprDependence; using static ClangSharp.Interop.CX_StmtClass; -using static ClangSharp.Interop.CX_UnaryOperatorKind; +using static ClangSharp.Interop.CXUnaryOperatorKind; namespace ClangSharp; @@ -30,7 +30,7 @@ public class Expr : ValueStmt if (e is UnaryOperator uo) { - if (uo.Opcode == CX_UO_Extension) + if (uo.Opcode == CXUnaryOperator_Extension) { return uo.SubExpr; } @@ -104,7 +104,7 @@ public bool IsImplicitCXXThis if (e is UnaryOperator unOp) { - if (unOp.Opcode == CX_UO_Extension) + if (unOp.Opcode == CXUnaryOperator_Extension) { e = unOp.SubExpr; continue; diff --git a/sources/ClangSharp/Cursors/Exprs/UnaryOperator.cs b/sources/ClangSharp/Cursors/Exprs/UnaryOperator.cs index 88e554ec..f9b67bbb 100644 --- a/sources/ClangSharp/Cursors/Exprs/UnaryOperator.cs +++ b/sources/ClangSharp/Cursors/Exprs/UnaryOperator.cs @@ -4,7 +4,7 @@ using ClangSharp.Interop; using static ClangSharp.Interop.CXCursorKind; using static ClangSharp.Interop.CX_StmtClass; -using static ClangSharp.Interop.CX_UnaryOperatorKind; +using static ClangSharp.Interop.CXUnaryOperatorKind; namespace ClangSharp; @@ -15,19 +15,19 @@ internal UnaryOperator(CXCursor handle) : base(handle, CXCursor_UnaryOperator, C Debug.Assert(NumChildren is 1); } - public bool IsArithmetic => Opcode is >= CX_UO_Plus and <= CX_UO_LNot; + public bool IsArithmetic => Opcode is >= CXUnaryOperator_Plus and <= CXUnaryOperator_LNot; - public bool IsDecrementOp => Opcode is CX_UO_PreDec or CX_UO_PostDec; + public bool IsDecrementOp => Opcode is CXUnaryOperator_PreDec or CXUnaryOperator_PostDec; - public bool IsIncrementOp => Opcode is CX_UO_PreInc or CX_UO_PostInc; + public bool IsIncrementOp => Opcode is CXUnaryOperator_PreInc or CXUnaryOperator_PostInc; - public bool IsIncrementDecrementOp => Opcode <= CX_UO_PreDec; + public bool IsIncrementDecrementOp => Opcode <= CXUnaryOperator_PreDec; - public bool IsPrefix => Opcode is CX_UO_PreInc or CX_UO_PreDec; + public bool IsPrefix => Opcode is CXUnaryOperator_PreInc or CXUnaryOperator_PreDec; - public bool IsPostfix => Opcode is CX_UO_PostInc or CX_UO_PostDec; + public bool IsPostfix => Opcode is CXUnaryOperator_PostInc or CXUnaryOperator_PostDec; - public CX_UnaryOperatorKind Opcode => Handle.UnaryOperatorKind; + public CXUnaryOperatorKind Opcode => Handle.UnaryOperatorKind; public string OpcodeStr => Handle.UnaryOperatorKindSpelling.ToString(); diff --git a/sources/ClangSharpPInvokeGenerator/ClangSharpPInvokeGenerator.csproj b/sources/ClangSharpPInvokeGenerator/ClangSharpPInvokeGenerator.csproj index fd0fedc6..3f6bda3d 100644 --- a/sources/ClangSharpPInvokeGenerator/ClangSharpPInvokeGenerator.csproj +++ b/sources/ClangSharpPInvokeGenerator/ClangSharpPInvokeGenerator.csproj @@ -36,7 +36,7 @@ C:\Program Files\LLVM\include - /usr/lib/llvm-16/include + /usr/lib/llvm-17/include diff --git a/sources/ClangSharpPInvokeGenerator/Program.cs b/sources/ClangSharpPInvokeGenerator/Program.cs index 8bb0cae5..146670ec 100644 --- a/sources/ClangSharpPInvokeGenerator/Program.cs +++ b/sources/ClangSharpPInvokeGenerator/Program.cs @@ -240,7 +240,7 @@ public static void Run(InvocationContext context) if (versionResult is not null) { - context.Console.WriteLine($"{s_rootCommand.Description} version 16.0.6"); + context.Console.WriteLine($"{s_rootCommand.Description} version 17.0.4"); context.Console.WriteLine($" {clang.getClangVersion()}"); context.Console.WriteLine($" {clangsharp.getVersion()}"); context.ExitCode = -1; diff --git a/sources/ClangSharpPInvokeGenerator/Properties/GenerateClang-LICENSE.txt b/sources/ClangSharpPInvokeGenerator/Properties/GenerateClang-LICENSE.txt index db06b1c6..7431a75c 100644 --- a/sources/ClangSharpPInvokeGenerator/Properties/GenerateClang-LICENSE.txt +++ b/sources/ClangSharpPInvokeGenerator/Properties/GenerateClang-LICENSE.txt @@ -1,4 +1,4 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/include/clang-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. diff --git a/sources/ClangSharpPInvokeGenerator/Properties/GenerateClang.rsp b/sources/ClangSharpPInvokeGenerator/Properties/GenerateClang.rsp index 3fde4ebb..0ce9bf37 100644 --- a/sources/ClangSharpPInvokeGenerator/Properties/GenerateClang.rsp +++ b/sources/ClangSharpPInvokeGenerator/Properties/GenerateClang.rsp @@ -1,11 +1,13 @@ +--additional +-m64 --config -compatible-codegen exclude-com-proxies exclude-empty-records exclude-enum-operators generate-aggressive-inlining +generate-callconv-member-function generate-cpp-attributes -generate-macro-bindings +generate-disable-runtime-marshalling generate-file-scoped-namespaces generate-guid-member generate-macro-bindings @@ -46,7 +48,7 @@ clang ClangSharp.Interop --output ./sources/ClangSharp/Interop ---test-output -./tests/ClangSharp.UnitTests/InteropTests --prefixStrip clang_ +--test-output +./tests/ClangSharp.UnitTests/InteropTests diff --git a/sources/ClangSharpPInvokeGenerator/Properties/GenerateClangSharp.rsp b/sources/ClangSharpPInvokeGenerator/Properties/GenerateClangSharp.rsp index 28707fe2..ceb8bff4 100644 --- a/sources/ClangSharpPInvokeGenerator/Properties/GenerateClangSharp.rsp +++ b/sources/ClangSharpPInvokeGenerator/Properties/GenerateClangSharp.rsp @@ -1,11 +1,14 @@ +--additional +-m64 +-std=c++17 --config -compatible-codegen exclude-com-proxies exclude-empty-records exclude-enum-operators generate-aggressive-inlining +generate-callconv-member-function generate-cpp-attributes -generate-macro-bindings +generate-disable-runtime-marshalling generate-file-scoped-namespaces generate-guid-member generate-macro-bindings @@ -32,9 +35,9 @@ clangsharp ClangSharp.Interop --output ./sources/ClangSharp/Interop +--prefixStrip +clangsharp_ --remap MSGuidDeclParts=Guid --test-output ./tests/ClangSharp.UnitTests/InteropTests ---prefixStrip -clangsharp_ diff --git a/sources/ClangSharpPInvokeGenerator/Properties/GenerateLLVM-LICENSE.txt b/sources/ClangSharpPInvokeGenerator/Properties/GenerateLLVM-LICENSE.txt index 669f570f..d4def299 100644 --- a/sources/ClangSharpPInvokeGenerator/Properties/GenerateLLVM-LICENSE.txt +++ b/sources/ClangSharpPInvokeGenerator/Properties/GenerateLLVM-LICENSE.txt @@ -1,4 +1,4 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/llvm/include/llvm-c // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. diff --git a/sources/ClangSharpPInvokeGenerator/Properties/GenerateLLVM.rsp b/sources/ClangSharpPInvokeGenerator/Properties/GenerateLLVM.rsp index d248db70..42a4361b 100644 --- a/sources/ClangSharpPInvokeGenerator/Properties/GenerateLLVM.rsp +++ b/sources/ClangSharpPInvokeGenerator/Properties/GenerateLLVM.rsp @@ -1,11 +1,13 @@ +--additional +-m64 --config -compatible-codegen exclude-com-proxies exclude-empty-records exclude-enum-operators generate-aggressive-inlining +generate-callconv-member-function generate-cpp-attributes -generate-macro-bindings +generate-disable-runtime-marshalling generate-file-scoped-namespaces generate-guid-member generate-macro-bindings @@ -44,7 +46,6 @@ llvm-c/Error.h llvm-c/ErrorHandling.h llvm-c/ExecutionEngine.h llvm-c/ExternC.h -llvm-c/Initialization.h llvm-c/IRReader.h llvm-c/Linker.h llvm-c/LLJIT.h @@ -57,13 +58,7 @@ llvm-c/Support.h llvm-c/Target.h llvm-c/TargetMachine.h llvm-c/Types.h -llvm-c/Transforms/InstCombine.h -llvm-c/Transforms/IPO.h llvm-c/Transforms/PassBuilder.h -llvm-c/Transforms/PassManagerBuilder.h -llvm-c/Transforms/Scalar.h -llvm-c/Transforms/Utils.h -llvm-c/Transforms/Vectorize.h --headerFile ./Properties/GenerateLLVM-LICENSE.txt --methodClassName @@ -72,8 +67,6 @@ LLVM LLVMSharp.Interop --output ./sources/LLVMSharp/Interop ---test-output -./tests/LLVMSharp.UnitTests/Interop --prefixStrip LLVM --remap @@ -95,6 +88,8 @@ llvm_blake3_version=@blake3_version LLVM_BLAKE3_VERSION_STRING=@BLAKE3_VERSION_STRING __AnonymousEnum_Core_L463_C1=@LLVMAttributeIndex __AnonymousEnum_DebugInfo_L146_C1=@LLVMMetadataKind +--test-output +./tests/LLVMSharp.UnitTests/Interop --with-attribute LLVMDIFlags=Flags LLVMJITSymbolGenericFlags=Flags diff --git a/sources/libClangSharp/CIndexDiagnostic.cpp b/sources/libClangSharp/CIndexDiagnostic.cpp index ff142f16..0ff00b12 100644 --- a/sources/libClangSharp/CIndexDiagnostic.cpp +++ b/sources/libClangSharp/CIndexDiagnostic.cpp @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/tools/libclang +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/tools/libclang // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. #include "CIndexDiagnostic.h" diff --git a/sources/libClangSharp/CIndexDiagnostic.h b/sources/libClangSharp/CIndexDiagnostic.h index 00ce51fc..b098dae0 100644 --- a/sources/libClangSharp/CIndexDiagnostic.h +++ b/sources/libClangSharp/CIndexDiagnostic.h @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/tools/libclang +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/tools/libclang // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. #ifndef LIBCLANGSHARP_CINDEXDIAGNOSTIC_H diff --git a/sources/libClangSharp/CXCursor.cpp b/sources/libClangSharp/CXCursor.cpp index 01b4031a..ad818b0b 100644 --- a/sources/libClangSharp/CXCursor.cpp +++ b/sources/libClangSharp/CXCursor.cpp @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/tools/libclang +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/tools/libclang // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. #include "ClangSharp.h" diff --git a/sources/libClangSharp/CXCursor.h b/sources/libClangSharp/CXCursor.h index 73241d43..a9aa68f7 100644 --- a/sources/libClangSharp/CXCursor.h +++ b/sources/libClangSharp/CXCursor.h @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/tools/libclang +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/tools/libclang // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. #ifndef LIBCLANGSHARP_CXCURSOR_H diff --git a/sources/libClangSharp/CXLoadedDiagnostic.cpp b/sources/libClangSharp/CXLoadedDiagnostic.cpp index a3bd53fa..7c1cb5e1 100644 --- a/sources/libClangSharp/CXLoadedDiagnostic.cpp +++ b/sources/libClangSharp/CXLoadedDiagnostic.cpp @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/tools/libclang +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/tools/libclang // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. #include "CXLoadedDiagnostic.h" diff --git a/sources/libClangSharp/CXLoadedDiagnostic.h b/sources/libClangSharp/CXLoadedDiagnostic.h index 3dadd3e3..0b5c5132 100644 --- a/sources/libClangSharp/CXLoadedDiagnostic.h +++ b/sources/libClangSharp/CXLoadedDiagnostic.h @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/tools/libclang +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/tools/libclang // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. #ifndef LIBCLANGSHARP_CXLOADEDDIAGNOSTIC_H diff --git a/sources/libClangSharp/CXSourceLocation.cpp b/sources/libClangSharp/CXSourceLocation.cpp index 32167200..5043d5bb 100644 --- a/sources/libClangSharp/CXSourceLocation.cpp +++ b/sources/libClangSharp/CXSourceLocation.cpp @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/tools/libclang +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/tools/libclang // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. #include "ClangSharp.h" diff --git a/sources/libClangSharp/CXSourceLocation.h b/sources/libClangSharp/CXSourceLocation.h index cc0cebca..b822e333 100644 --- a/sources/libClangSharp/CXSourceLocation.h +++ b/sources/libClangSharp/CXSourceLocation.h @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/tools/libclang +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/tools/libclang // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. #ifndef LIBCLANGSHARP_CXSOURCELOCATION_H diff --git a/sources/libClangSharp/CXString.cpp b/sources/libClangSharp/CXString.cpp index 9dce7f3b..32d92d93 100644 --- a/sources/libClangSharp/CXString.cpp +++ b/sources/libClangSharp/CXString.cpp @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/tools/libclang +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/tools/libclang // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. #include "CXString.h" diff --git a/sources/libClangSharp/CXString.h b/sources/libClangSharp/CXString.h index 0437c310..78189d54 100644 --- a/sources/libClangSharp/CXString.h +++ b/sources/libClangSharp/CXString.h @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/tools/libclang +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/tools/libclang // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. #ifndef LIBCLANGSHARP_CXSTRING_H diff --git a/sources/libClangSharp/CXTranslationUnit.cpp b/sources/libClangSharp/CXTranslationUnit.cpp index 641d77bf..3c6a69bc 100644 --- a/sources/libClangSharp/CXTranslationUnit.cpp +++ b/sources/libClangSharp/CXTranslationUnit.cpp @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/tools/libclang +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/tools/libclang // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. #include "CXTranslationUnit.h" diff --git a/sources/libClangSharp/CXTranslationUnit.h b/sources/libClangSharp/CXTranslationUnit.h index 13df0096..b9137238 100644 --- a/sources/libClangSharp/CXTranslationUnit.h +++ b/sources/libClangSharp/CXTranslationUnit.h @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/tools/libclang +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/tools/libclang // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. #ifndef LIBCLANGSHARP_CXTRANSLATIONUNIT_H diff --git a/sources/libClangSharp/CXType.cpp b/sources/libClangSharp/CXType.cpp index 102628b6..eecf5eab 100644 --- a/sources/libClangSharp/CXType.cpp +++ b/sources/libClangSharp/CXType.cpp @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/tools/libclang +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/tools/libclang // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. #include "ClangSharp.h" diff --git a/sources/libClangSharp/CXType.h b/sources/libClangSharp/CXType.h index 048a1c9d..cdb3b166 100644 --- a/sources/libClangSharp/CXType.h +++ b/sources/libClangSharp/CXType.h @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/tools/libclang +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-17.0.4/clang/tools/libclang // Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. #ifndef LIBCLANGSHARP_CXTYPE_H diff --git a/sources/libClangSharp/ClangSharp.cpp b/sources/libClangSharp/ClangSharp.cpp index 1c533fd7..605c1490 100644 --- a/sources/libClangSharp/ClangSharp.cpp +++ b/sources/libClangSharp/ClangSharp.cpp @@ -307,33 +307,16 @@ CXCursor clangsharp_Cursor_getBase(CXCursor C, unsigned i) { return clang_getNullCursor(); } -CX_BinaryOperatorKind clangsharp_Cursor_getBinaryOpcode(CXCursor C) { +CXBinaryOperatorKind clangsharp_Cursor_getBinaryOpcode(CXCursor C) { if (isStmtOrExpr(C.kind)) { const Stmt* S = getCursorStmt(C); - if (const BinaryOperator* BO = dyn_cast(S)) { - return static_cast(BO->getOpcode() + 1); - } - if (const CXXFoldExpr* CFE = dyn_cast(S)) { - return static_cast(CFE->getOperator() + 1); - } - - if (const CXXRewrittenBinaryOperator* CRBO = dyn_cast(S)) { - return static_cast(CRBO->getOperator() + 1); + return static_cast(CFE->getOperator() + 1); } } - return CX_BO_Invalid; -} - -CXString clangsharp_Cursor_getBinaryOpcodeSpelling(CX_BinaryOperatorKind Op) { - if (Op != CX_BO_Invalid) { - return createDup( - BinaryOperator::getOpcodeStr(static_cast(Op - 1))); - } - - return createEmpty(); + return clang_getCursorBinaryOperatorKind(C); } CXCursor clangsharp_Cursor_getBindingDecl(CXCursor C, unsigned i) { @@ -4701,26 +4684,6 @@ CX_UnaryExprOrTypeTrait clangsharp_Cursor_getUnaryExprOrTypeTraitKind(CXCursor C return CX_UETT_Invalid; } -CX_UnaryOperatorKind clangsharp_Cursor_getUnaryOpcode(CXCursor C) { - if (isStmtOrExpr(C.kind)) { - const Stmt* S = getCursorStmt(C); - if (const UnaryOperator* UnOp = dyn_cast(S)) { - return static_cast(UnOp->getOpcode() + 1); - } - } - - return CX_UO_Invalid; -} - -CXString clangsharp_Cursor_getUnaryOpcodeSpelling(CX_UnaryOperatorKind Op) { - if (Op != CX_UO_Invalid) { - return createDup( - UnaryOperator::getOpcodeStr(static_cast(Op - 1))); - } - - return createEmpty(); -} - CXCursor clangsharp_Cursor_getUnderlyingDecl(CXCursor C) { if (isDeclOrTU(C.kind)) { const Decl* D = getCursorDecl(C); @@ -4813,7 +4776,7 @@ int64_t clangsharp_Cursor_getVtblIdx(CXCursor C) { } CXString clangsharp_getVersion() { - return cxstring::createDup("clangsharp version 16.0.6"); + return cxstring::createDup("clangsharp version 17.0.4"); } void clangsharp_TemplateArgument_dispose(CX_TemplateArgument T) { diff --git a/sources/libClangSharp/ClangSharp.h b/sources/libClangSharp/ClangSharp.h index cd84d833..a79013e7 100644 --- a/sources/libClangSharp/ClangSharp.h +++ b/sources/libClangSharp/ClangSharp.h @@ -42,11 +42,6 @@ enum CX_AttrKind { #include }; -enum CX_BinaryOperatorKind { - CX_BO_Invalid, -#define BINARY_OPERATION(Name, Spelling) CX_BO_##Name, -#include -}; enum CX_CapturedRegionKind { CX_CR_Invalid, @@ -180,12 +175,6 @@ enum CX_UnaryExprOrTypeTrait { #include "clang/Basic/TokenKinds.def" }; -enum CX_UnaryOperatorKind { - CX_UO_Invalid, -#define UNARY_OPERATION(Name, Spelling) CX_UO_##Name, -#include -}; - enum CX_VariableCaptureKind { CX_VCK_Invalid, CX_VCK_This = clang::CapturedStmt::VCK_This + 1, @@ -238,9 +227,7 @@ CLANGSHARP_LINKAGE CX_AttrKind clangsharp_Cursor_getAttrKind(CXCursor C); CLANGSHARP_LINKAGE CXCursor clangsharp_Cursor_getBase(CXCursor C, unsigned i); -CLANGSHARP_LINKAGE CX_BinaryOperatorKind clangsharp_Cursor_getBinaryOpcode(CXCursor C); - -CLANGSHARP_LINKAGE CXString clangsharp_Cursor_getBinaryOpcodeSpelling(CX_BinaryOperatorKind Op); +CLANGSHARP_LINKAGE CXBinaryOperatorKind clangsharp_Cursor_getBinaryOpcode(CXCursor C); CLANGSHARP_LINKAGE CXCursor clangsharp_Cursor_getBindingDecl(CXCursor C, unsigned i); @@ -716,10 +703,6 @@ CLANGSHARP_LINKAGE CXType clangsharp_Cursor_getTypeOperand(CXCursor C); CLANGSHARP_LINKAGE CX_UnaryExprOrTypeTrait clangsharp_Cursor_getUnaryExprOrTypeTraitKind(CXCursor C); -CLANGSHARP_LINKAGE CX_UnaryOperatorKind clangsharp_Cursor_getUnaryOpcode(CXCursor C); - -CLANGSHARP_LINKAGE CXString clangsharp_Cursor_getUnaryOpcodeSpelling(CX_UnaryOperatorKind Op); - CLANGSHARP_LINKAGE CXCursor clangsharp_Cursor_getUnderlyingDecl(CXCursor C); CLANGSHARP_LINKAGE CXCursor clangsharp_Cursor_getUninstantiatedDefaultArg(CXCursor C); diff --git a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXCursorSetImplTests.cs b/tests/ClangSharp.UnitTests/InteropTests/Manual/CXCursorSetImplTests.cs deleted file mode 100644 index d8c3c61f..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXCursorSetImplTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXCursorSetImplTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXCursorSetImpl))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXCursorSetImpl).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(CXCursorSetImpl), Is.EqualTo(1)); - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXModuleMapDescriptorImplTests.cs b/tests/ClangSharp.UnitTests/InteropTests/Manual/CXModuleMapDescriptorImplTests.cs deleted file mode 100644 index 570d6ff8..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXModuleMapDescriptorImplTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXModuleMapDescriptorImplTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXModuleMapDescriptorImpl))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXModuleMapDescriptorImpl).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(CXModuleMapDescriptorImpl), Is.EqualTo(1)); - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXTargetInfoImplTests.cs b/tests/ClangSharp.UnitTests/InteropTests/Manual/CXTargetInfoImplTests.cs deleted file mode 100644 index e35c186f..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXTargetInfoImplTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXTargetInfoImplTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXTargetInfoImpl))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXTargetInfoImpl).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(CXTargetInfoImpl), Is.EqualTo(1)); - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXTranslationUnitImplTests.cs b/tests/ClangSharp.UnitTests/InteropTests/Manual/CXTranslationUnitImplTests.cs deleted file mode 100644 index 12cf9554..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXTranslationUnitImplTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXTranslationUnitImplTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXTranslationUnitImpl))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXTranslationUnitImpl).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(CXTranslationUnitImpl), Is.EqualTo(1)); - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXVirtualFileOverlayImplTests.cs b/tests/ClangSharp.UnitTests/InteropTests/Manual/CXVirtualFileOverlayImplTests.cs deleted file mode 100644 index 392f1b0a..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXVirtualFileOverlayImplTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXVirtualFileOverlayImplTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXVirtualFileOverlayImpl))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXVirtualFileOverlayImpl).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(CXVirtualFileOverlayImpl), Is.EqualTo(1)); - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCodeCompleteResultsTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXCodeCompleteResultsTests.cs deleted file mode 100644 index 578f4119..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCodeCompleteResultsTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXCodeCompleteResultsTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXCodeCompleteResults))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXCodeCompleteResults).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXCodeCompleteResults), Is.EqualTo(16)); - } - else - { - Assert.That(sizeof(CXCodeCompleteResults), Is.EqualTo(8)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCommentTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXCommentTests.cs deleted file mode 100644 index c1e1fcff..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCommentTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXCommentTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXComment))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXComment).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXComment), Is.EqualTo(16)); - } - else - { - Assert.That(sizeof(CXComment), Is.EqualTo(8)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCompletionResultTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXCompletionResultTests.cs deleted file mode 100644 index 72b2436b..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCompletionResultTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXCompletionResultTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXCompletionResult))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXCompletionResult).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXCompletionResult), Is.EqualTo(16)); - } - else - { - Assert.That(sizeof(CXCompletionResult), Is.EqualTo(8)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCursorAndRangeVisitorTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXCursorAndRangeVisitorTests.cs deleted file mode 100644 index 8fe15ee5..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCursorAndRangeVisitorTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXCursorAndRangeVisitorTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXCursorAndRangeVisitor))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXCursorAndRangeVisitor).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXCursorAndRangeVisitor), Is.EqualTo(16)); - } - else - { - Assert.That(sizeof(CXCursorAndRangeVisitor), Is.EqualTo(8)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCursorTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXCursorTests.cs deleted file mode 100644 index 6436de63..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCursorTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXCursorTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXCursor))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXCursor).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXCursor), Is.EqualTo(32)); - } - else - { - Assert.That(sizeof(CXCursor), Is.EqualTo(20)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXFileUniqueIDTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXFileUniqueIDTests.cs deleted file mode 100644 index d969295f..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXFileUniqueIDTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXFileUniqueIDTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXFileUniqueID))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXFileUniqueID).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(CXFileUniqueID), Is.EqualTo(24)); - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxAttrInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxAttrInfoTests.cs deleted file mode 100644 index 86d86203..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxAttrInfoTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXIdxAttrInfoTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXIdxAttrInfo))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXIdxAttrInfo).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXIdxAttrInfo), Is.EqualTo(64)); - } - else - { - Assert.That(sizeof(CXIdxAttrInfo), Is.EqualTo(36)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxBaseClassInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxBaseClassInfoTests.cs deleted file mode 100644 index bcbddc19..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxBaseClassInfoTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXIdxBaseClassInfoTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXIdxBaseClassInfo))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXIdxBaseClassInfo).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXIdxBaseClassInfo), Is.EqualTo(64)); - } - else - { - Assert.That(sizeof(CXIdxBaseClassInfo), Is.EqualTo(36)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxCXXClassDeclInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxCXXClassDeclInfoTests.cs deleted file mode 100644 index b2819b60..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxCXXClassDeclInfoTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXIdxCXXClassDeclInfoTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXIdxCXXClassDeclInfo))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXIdxCXXClassDeclInfo).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXIdxCXXClassDeclInfo), Is.EqualTo(24)); - } - else - { - Assert.That(sizeof(CXIdxCXXClassDeclInfo), Is.EqualTo(12)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxContainerInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxContainerInfoTests.cs deleted file mode 100644 index 3d531297..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxContainerInfoTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXIdxContainerInfoTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXIdxContainerInfo))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXIdxContainerInfo).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXIdxContainerInfo), Is.EqualTo(32)); - } - else - { - Assert.That(sizeof(CXIdxContainerInfo), Is.EqualTo(20)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxDeclInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxDeclInfoTests.cs deleted file mode 100644 index e87fff90..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxDeclInfoTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXIdxDeclInfoTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXIdxDeclInfo))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXIdxDeclInfo).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXIdxDeclInfo), Is.EqualTo(128)); - } - else - { - Assert.That(sizeof(CXIdxDeclInfo), Is.EqualTo(76)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxEntityInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxEntityInfoTests.cs deleted file mode 100644 index 4d4063e9..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxEntityInfoTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXIdxEntityInfoTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXIdxEntityInfo))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXIdxEntityInfo).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXIdxEntityInfo), Is.EqualTo(80)); - } - else - { - Assert.That(sizeof(CXIdxEntityInfo), Is.EqualTo(48)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxEntityRefInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxEntityRefInfoTests.cs deleted file mode 100644 index 5c45a147..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxEntityRefInfoTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXIdxEntityRefInfoTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXIdxEntityRefInfo))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXIdxEntityRefInfo).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXIdxEntityRefInfo), Is.EqualTo(96)); - } - else - { - Assert.That(sizeof(CXIdxEntityRefInfo), Is.EqualTo(52)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxIBOutletCollectionAttrInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxIBOutletCollectionAttrInfoTests.cs deleted file mode 100644 index 59bd6248..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxIBOutletCollectionAttrInfoTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXIdxIBOutletCollectionAttrInfoTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXIdxIBOutletCollectionAttrInfo))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXIdxIBOutletCollectionAttrInfo).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXIdxIBOutletCollectionAttrInfo), Is.EqualTo(72)); - } - else - { - Assert.That(sizeof(CXIdxIBOutletCollectionAttrInfo), Is.EqualTo(40)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxImportedASTFileInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxImportedASTFileInfoTests.cs deleted file mode 100644 index 2173abaa..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxImportedASTFileInfoTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXIdxImportedASTFileInfoTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXIdxImportedASTFileInfo))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXIdxImportedASTFileInfo).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXIdxImportedASTFileInfo), Is.EqualTo(48)); - } - else - { - Assert.That(sizeof(CXIdxImportedASTFileInfo), Is.EqualTo(24)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxIncludedFileInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxIncludedFileInfoTests.cs deleted file mode 100644 index 6c52a654..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxIncludedFileInfoTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXIdxIncludedFileInfoTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXIdxIncludedFileInfo))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXIdxIncludedFileInfo).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXIdxIncludedFileInfo), Is.EqualTo(56)); - } - else - { - Assert.That(sizeof(CXIdxIncludedFileInfo), Is.EqualTo(32)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxLocTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxLocTests.cs deleted file mode 100644 index b3df38fa..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxLocTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXIdxLocTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXIdxLoc))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXIdxLoc).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXIdxLoc), Is.EqualTo(24)); - } - else - { - Assert.That(sizeof(CXIdxLoc), Is.EqualTo(12)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCCategoryDeclInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCCategoryDeclInfoTests.cs deleted file mode 100644 index 998cfd5a..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCCategoryDeclInfoTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXIdxObjCCategoryDeclInfoTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXIdxObjCCategoryDeclInfo))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXIdxObjCCategoryDeclInfo).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXIdxObjCCategoryDeclInfo), Is.EqualTo(80)); - } - else - { - Assert.That(sizeof(CXIdxObjCCategoryDeclInfo), Is.EqualTo(44)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCContainerDeclInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCContainerDeclInfoTests.cs deleted file mode 100644 index 474f0805..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCContainerDeclInfoTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXIdxObjCContainerDeclInfoTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXIdxObjCContainerDeclInfo))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXIdxObjCContainerDeclInfo).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXIdxObjCContainerDeclInfo), Is.EqualTo(16)); - } - else - { - Assert.That(sizeof(CXIdxObjCContainerDeclInfo), Is.EqualTo(8)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCInterfaceDeclInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCInterfaceDeclInfoTests.cs deleted file mode 100644 index ad9c806c..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCInterfaceDeclInfoTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXIdxObjCInterfaceDeclInfoTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXIdxObjCInterfaceDeclInfo))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXIdxObjCInterfaceDeclInfo).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXIdxObjCInterfaceDeclInfo), Is.EqualTo(24)); - } - else - { - Assert.That(sizeof(CXIdxObjCInterfaceDeclInfo), Is.EqualTo(12)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCPropertyDeclInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCPropertyDeclInfoTests.cs deleted file mode 100644 index 077c46d4..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCPropertyDeclInfoTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXIdxObjCPropertyDeclInfoTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXIdxObjCPropertyDeclInfo))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXIdxObjCPropertyDeclInfo).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXIdxObjCPropertyDeclInfo), Is.EqualTo(24)); - } - else - { - Assert.That(sizeof(CXIdxObjCPropertyDeclInfo), Is.EqualTo(12)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCProtocolRefInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCProtocolRefInfoTests.cs deleted file mode 100644 index f66ca569..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCProtocolRefInfoTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXIdxObjCProtocolRefInfoTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXIdxObjCProtocolRefInfo))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXIdxObjCProtocolRefInfo).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXIdxObjCProtocolRefInfo), Is.EqualTo(64)); - } - else - { - Assert.That(sizeof(CXIdxObjCProtocolRefInfo), Is.EqualTo(36)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCProtocolRefListInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCProtocolRefListInfoTests.cs deleted file mode 100644 index 86163a4b..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCProtocolRefListInfoTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXIdxObjCProtocolRefListInfoTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXIdxObjCProtocolRefListInfo))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXIdxObjCProtocolRefListInfo).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXIdxObjCProtocolRefListInfo), Is.EqualTo(16)); - } - else - { - Assert.That(sizeof(CXIdxObjCProtocolRefListInfo), Is.EqualTo(8)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXPlatformAvailabilityTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXPlatformAvailabilityTests.cs deleted file mode 100644 index cfd65a76..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXPlatformAvailabilityTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXPlatformAvailabilityTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXPlatformAvailability))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXPlatformAvailability).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXPlatformAvailability), Is.EqualTo(72)); - } - else - { - Assert.That(sizeof(CXPlatformAvailability), Is.EqualTo(56)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceLocationTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceLocationTests.cs deleted file mode 100644 index 77b68026..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceLocationTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXSourceLocationTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXSourceLocation))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXSourceLocation).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXSourceLocation), Is.EqualTo(24)); - } - else - { - Assert.That(sizeof(CXSourceLocation), Is.EqualTo(12)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceRangeListTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceRangeListTests.cs deleted file mode 100644 index 2af2eb4a..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceRangeListTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXSourceRangeListTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXSourceRangeList))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXSourceRangeList).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXSourceRangeList), Is.EqualTo(16)); - } - else - { - Assert.That(sizeof(CXSourceRangeList), Is.EqualTo(8)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceRangeTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceRangeTests.cs deleted file mode 100644 index 50768b2a..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceRangeTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXSourceRangeTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXSourceRange))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXSourceRange).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXSourceRange), Is.EqualTo(24)); - } - else - { - Assert.That(sizeof(CXSourceRange), Is.EqualTo(16)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXStringSetTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXStringSetTests.cs deleted file mode 100644 index 32413561..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXStringSetTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXStringSetTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXStringSet))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXStringSet).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXStringSet), Is.EqualTo(16)); - } - else - { - Assert.That(sizeof(CXStringSet), Is.EqualTo(8)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXStringTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXStringTests.cs deleted file mode 100644 index 107cad61..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXStringTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXStringTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXString))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXString).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXString), Is.EqualTo(16)); - } - else - { - Assert.That(sizeof(CXString), Is.EqualTo(8)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXTUResourceUsageEntryTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXTUResourceUsageEntryTests.cs deleted file mode 100644 index caed158e..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXTUResourceUsageEntryTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXTUResourceUsageEntryTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXTUResourceUsageEntry))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXTUResourceUsageEntry).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXTUResourceUsageEntry), Is.EqualTo(16)); - } - else - { - Assert.That(sizeof(CXTUResourceUsageEntry), Is.EqualTo(8)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXTUResourceUsageTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXTUResourceUsageTests.cs deleted file mode 100644 index e547c198..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXTUResourceUsageTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXTUResourceUsageTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXTUResourceUsage))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXTUResourceUsage).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXTUResourceUsage), Is.EqualTo(24)); - } - else - { - Assert.That(sizeof(CXTUResourceUsage), Is.EqualTo(12)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXTokenTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXTokenTests.cs deleted file mode 100644 index cf0ca5e8..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXTokenTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXTokenTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXToken))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXToken).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXToken), Is.EqualTo(24)); - } - else - { - Assert.That(sizeof(CXToken), Is.EqualTo(20)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXTypeTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXTypeTests.cs deleted file mode 100644 index 0fb832c0..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXTypeTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXTypeTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXType))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXType).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXType), Is.EqualTo(24)); - } - else - { - Assert.That(sizeof(CXType), Is.EqualTo(12)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXUnsavedFileTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXUnsavedFileTests.cs deleted file mode 100644 index 0a493ad8..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXUnsavedFileTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXUnsavedFileTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXUnsavedFile))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXUnsavedFile).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CXUnsavedFile), Is.EqualTo(24)); - } - else - { - Assert.That(sizeof(CXUnsavedFile), Is.EqualTo(12)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXVersionTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXVersionTests.cs deleted file mode 100644 index 4fe77199..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXVersionTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CXVersionTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CXVersion))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CXVersion).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(CXVersion), Is.EqualTo(12)); - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/IndexerCallbacksTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/IndexerCallbacksTests.cs deleted file mode 100644 index d5cbcc1a..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clang/IndexerCallbacksTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/clang/include/clang-c -// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class IndexerCallbacksTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(IndexerCallbacks))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(IndexerCallbacks).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(IndexerCallbacks), Is.EqualTo(64)); - } - else - { - Assert.That(sizeof(IndexerCallbacks), Is.EqualTo(32)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clangsharp/CX_TemplateArgumentLocTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clangsharp/CX_TemplateArgumentLocTests.cs deleted file mode 100644 index dc808b2a..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clangsharp/CX_TemplateArgumentLocTests.cs +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/dotnet/clangsharp/blob/main/sources/libClangSharp - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CX_TemplateArgumentLocTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CX_TemplateArgumentLoc))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CX_TemplateArgumentLoc).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CX_TemplateArgumentLoc), Is.EqualTo(16)); - } - else - { - Assert.That(sizeof(CX_TemplateArgumentLoc), Is.EqualTo(8)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clangsharp/CX_TemplateArgumentTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clangsharp/CX_TemplateArgumentTests.cs deleted file mode 100644 index 9725a23f..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clangsharp/CX_TemplateArgumentTests.cs +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/dotnet/clangsharp/blob/main/sources/libClangSharp - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CX_TemplateArgumentTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CX_TemplateArgument))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CX_TemplateArgument).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CX_TemplateArgument), Is.EqualTo(24)); - } - else - { - Assert.That(sizeof(CX_TemplateArgument), Is.EqualTo(16)); - } - } -} diff --git a/tests/ClangSharp.UnitTests/InteropTests/clangsharp/CX_TemplateNameTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clangsharp/CX_TemplateNameTests.cs deleted file mode 100644 index 1c69dc98..00000000 --- a/tests/ClangSharp.UnitTests/InteropTests/clangsharp/CX_TemplateNameTests.cs +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/dotnet/clangsharp/blob/main/sources/libClangSharp - -using NUnit.Framework; -using System; -using System.Runtime.InteropServices; - -namespace ClangSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class CX_TemplateNameTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(CX_TemplateName))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(CX_TemplateName).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - if (Environment.Is64BitProcess) - { - Assert.That(sizeof(CX_TemplateName), Is.EqualTo(24)); - } - else - { - Assert.That(sizeof(CX_TemplateName), Is.EqualTo(12)); - } - } -}