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));
- }
- }
-}