diff --git a/CMakeLists.txt b/CMakeLists.txt
index 08aef577..fc828d4a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.13)
-project(ClangSharp VERSION 15.0.0)
+project(ClangSharp VERSION 16.0.6)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
diff --git a/ClangSharp.sln b/ClangSharp.sln
index 70727341..1516287e 100644
--- a/ClangSharp.sln
+++ b/ClangSharp.sln
@@ -70,11 +70,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libclang", "libclang", "{C8
packages\libclang\libclang\runtime.json = packages\libclang\libclang\runtime.json
EndProjectSection
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libclang.runtime.freebsd.12-x64", "libclang.runtime.freebsd.12-x64", "{C90094F6-26DF-4B2C-BD61-540D4CE988A4}"
- ProjectSection(SolutionItems) = preProject
- packages\libclang\libclang.runtime.freebsd.12-x64\libclang.runtime.freebsd.12-x64.nuspec = packages\libclang\libclang.runtime.freebsd.12-x64\libclang.runtime.freebsd.12-x64.nuspec
- EndProjectSection
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libclang.runtime.linux-arm64", "libclang.runtime.linux-arm64", "{7D89072F-8E3E-4009-BCCD-5D3C69F88042}"
ProjectSection(SolutionItems) = preProject
packages\libclang\libclang.runtime.linux-arm64\libclang.runtime.linux-arm64.nuspec = packages\libclang\libclang.runtime.linux-arm64\libclang.runtime.linux-arm64.nuspec
@@ -85,11 +80,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libclang.runtime.osx-x64",
packages\libclang\libclang.runtime.osx-x64\libclang.runtime.osx-x64.nuspec = packages\libclang\libclang.runtime.osx-x64\libclang.runtime.osx-x64.nuspec
EndProjectSection
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libclang.runtime.ubuntu.18.04-x64", "libclang.runtime.ubuntu.18.04-x64", "{8756B75F-F244-43AD-9C79-1610059BDF36}"
- ProjectSection(SolutionItems) = preProject
- packages\libclang\libclang.runtime.ubuntu.18.04-x64\libclang.runtime.ubuntu.18.04-x64.nuspec = packages\libclang\libclang.runtime.ubuntu.18.04-x64\libclang.runtime.ubuntu.18.04-x64.nuspec
- EndProjectSection
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libclang.runtime.win-x64", "libclang.runtime.win-x64", "{4A298C7E-BF4D-418D-B70D-FE6D6F8097FD}"
ProjectSection(SolutionItems) = preProject
packages\libclang\libclang.runtime.win-x64\libclang.runtime.win-x64.nuspec = packages\libclang\libclang.runtime.win-x64\libclang.runtime.win-x64.nuspec
@@ -108,11 +98,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libClangSharp", "libClangSh
packages\libClangSharp\libClangSharp\runtime.json = packages\libClangSharp\libClangSharp\runtime.json
EndProjectSection
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libClangSharp.runtime.freebsd.12-x64", "libClangSharp.runtime.freebsd.12-x64", "{8DCBB5E9-A44C-462F-B9FE-418B18EC7E31}"
- ProjectSection(SolutionItems) = preProject
- packages\libClangSharp\libClangSharp.runtime.freebsd.12-x64\libClangSharp.runtime.freebsd.12-x64.nuspec = packages\libClangSharp\libClangSharp.runtime.freebsd.12-x64\libClangSharp.runtime.freebsd.12-x64.nuspec
- EndProjectSection
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libClangSharp.runtime.linux-arm64", "libClangSharp.runtime.linux-arm64", "{4F2F7171-202E-4E23-AABF-EB3501BDB0B2}"
ProjectSection(SolutionItems) = preProject
packages\libClangSharp\libClangSharp.runtime.linux-arm64\libClangSharp.runtime.linux-arm64.nuspec = packages\libClangSharp\libClangSharp.runtime.linux-arm64\libClangSharp.runtime.linux-arm64.nuspec
@@ -123,16 +108,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libClangSharp.runtime.osx-x
packages\libClangSharp\libClangSharp.runtime.osx-x64\libClangSharp.runtime.osx-x64.nuspec = packages\libClangSharp\libClangSharp.runtime.osx-x64\libClangSharp.runtime.osx-x64.nuspec
EndProjectSection
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libClangSharp.runtime.ubuntu.18.04-x64", "libClangSharp.runtime.ubuntu.18.04-x64", "{A04F314B-2373-496E-879F-763B5C8EAF00}"
- ProjectSection(SolutionItems) = preProject
- packages\libClangSharp\libClangSharp.runtime.ubuntu.18.04-x64\libClangSharp.runtime.ubuntu.18.04-x64.nuspec = packages\libClangSharp\libClangSharp.runtime.ubuntu.18.04-x64\libClangSharp.runtime.ubuntu.18.04-x64.nuspec
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libClangSharp.runtime.ubuntu.20.04-x64", "libClangSharp.runtime.ubuntu.20.04-x64", "{21997B0D-AE07-4F1E-8042-84EB399269D5}"
- ProjectSection(SolutionItems) = preProject
- packages\libClangSharp\libClangSharp.runtime.ubuntu.20.04-x64\libClangSharp.runtime.ubuntu.20.04-x64.nuspec = packages\libClangSharp\libClangSharp.runtime.ubuntu.20.04-x64\libClangSharp.runtime.ubuntu.20.04-x64.nuspec
- EndProjectSection
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libClangSharp.runtime.win-x64", "libClangSharp.runtime.win-x64", "{C1218464-0B5A-480E-BA13-2C6EA370987E}"
ProjectSection(SolutionItems) = preProject
packages\libClangSharp\libClangSharp.runtime.win-x64\libClangSharp.runtime.win-x64.nuspec = packages\libClangSharp\libClangSharp.runtime.win-x64\libClangSharp.runtime.win-x64.nuspec
@@ -164,26 +139,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libClangSharp", "libClangSh
sources\libClangSharp\CXType.h = sources\libClangSharp\CXType.h
EndProjectSection
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libclang.runtime.ubuntu.20.04-x64", "libclang.runtime.ubuntu.20.04-x64", "{DD1C0393-4144-4A08-AD27-C98DC1A85023}"
- ProjectSection(SolutionItems) = preProject
- packages\libclang\libclang.runtime.ubuntu.20.04-x64\libclang.runtime.ubuntu.20.04-x64.nuspec = packages\libclang\libclang.runtime.ubuntu.20.04-x64\libclang.runtime.ubuntu.20.04-x64.nuspec
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libclang.runtime.ubuntu.22.04-x64", "libclang.runtime.ubuntu.22.04-x64", "{F3254760-351E-4886-A243-FF3778837C40}"
- ProjectSection(SolutionItems) = preProject
- packages\libclang\libclang.runtime.ubuntu.22.04-x64\libclang.runtime.ubuntu.22.04-x64.nuspec = packages\libclang\libclang.runtime.ubuntu.22.04-x64\libclang.runtime.ubuntu.22.04-x64.nuspec
- EndProjectSection
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libclang.runtime.win-arm64", "libclang.runtime.win-arm64", "{B3F3A831-DA09-40A2-A25C-DE47A58BB93B}"
ProjectSection(SolutionItems) = preProject
packages\libclang\libclang.runtime.win-arm64\libclang.runtime.win-arm64.nuspec = packages\libclang\libclang.runtime.win-arm64\libclang.runtime.win-arm64.nuspec
EndProjectSection
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libClangSharp.runtime.ubuntu.22.04-x64", "libClangSharp.runtime.ubuntu.22.04-x64", "{D90C3C52-DA8D-44BB-B8B0-3E4EF4CBF4DC}"
- ProjectSection(SolutionItems) = preProject
- packages\libClangSharp\libClangSharp.runtime.ubuntu.22.04-x64\libClangSharp.runtime.ubuntu.22.04-x64.nuspec = packages\libClangSharp\libClangSharp.runtime.ubuntu.22.04-x64\libClangSharp.runtime.ubuntu.22.04-x64.nuspec
- EndProjectSection
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libClangSharp.runtime.win-arm64", "libClangSharp.runtime.win-arm64", "{69B805C6-230D-49A2-A569-3CAC2EC9F293}"
ProjectSection(SolutionItems) = preProject
packages\libClangSharp\libClangSharp.runtime.win-arm64\libClangSharp.runtime.win-arm64.nuspec = packages\libClangSharp\libClangSharp.runtime.win-arm64\libClangSharp.runtime.win-arm64.nuspec
@@ -191,16 +151,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libClangSharp.runtime.win-a
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClangSharp.Interop", "sources\ClangSharp.Interop\ClangSharp.Interop.csproj", "{AADBAAC3-45F0-484F-BCB2-9809EDF1CA82}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libclang.runtime.freebsd.13-x64", "libclang.runtime.freebsd.13-x64", "{8FD0223B-88AD-4FA9-AE29-0B446FF17922}"
- ProjectSection(SolutionItems) = preProject
- packages\libclang\libclang.runtime.freebsd.13-x64\libclang.runtime.freebsd.13-x64.nuspec = packages\libclang\libclang.runtime.freebsd.13-x64\libclang.runtime.freebsd.13-x64.nuspec
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libClangSharp.runtime.freebsd.13-x64", "libClangSharp.runtime.freebsd.13-x64", "{B3A22C21-0699-4963-B665-F9AA74F0AF08}"
- ProjectSection(SolutionItems) = preProject
- packages\libClangSharp\libClangSharp.runtime.freebsd.13-x64\libClangSharp.runtime.freebsd.13-x64.nuspec = packages\libClangSharp\libClangSharp.runtime.freebsd.13-x64\libClangSharp.runtime.freebsd.13-x64.nuspec
- EndProjectSection
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{FF42B475-5025-45BA-B278-60F29B53C023}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{034EBD16-E96F-4530-B37D-30B16C4E9876}"
@@ -270,30 +220,20 @@ Global
{9D29BA0E-79C6-484E-B630-86A9510F1B74} = {394E17BB-B1EA-4A98-98C8-78ACD44182FC}
{DFACF682-2673-4AE1-8F10-816D025C2D45} = {AE6CF12F-5CC3-463B-A74B-6CCAE26EE4EF}
{C8DB18BE-701A-46C4-98F9-2524914CB5DC} = {DFACF682-2673-4AE1-8F10-816D025C2D45}
- {C90094F6-26DF-4B2C-BD61-540D4CE988A4} = {DFACF682-2673-4AE1-8F10-816D025C2D45}
{7D89072F-8E3E-4009-BCCD-5D3C69F88042} = {DFACF682-2673-4AE1-8F10-816D025C2D45}
{8006B5D7-5E0E-4A0A-884F-62C5216144EE} = {DFACF682-2673-4AE1-8F10-816D025C2D45}
- {8756B75F-F244-43AD-9C79-1610059BDF36} = {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}
- {8DCBB5E9-A44C-462F-B9FE-418B18EC7E31} = {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}
- {A04F314B-2373-496E-879F-763B5C8EAF00} = {EDEC2130-DA14-4415-91A3-225733FB61F8}
- {21997B0D-AE07-4F1E-8042-84EB399269D5} = {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}
- {DD1C0393-4144-4A08-AD27-C98DC1A85023} = {DFACF682-2673-4AE1-8F10-816D025C2D45}
- {F3254760-351E-4886-A243-FF3778837C40} = {DFACF682-2673-4AE1-8F10-816D025C2D45}
{B3F3A831-DA09-40A2-A25C-DE47A58BB93B} = {DFACF682-2673-4AE1-8F10-816D025C2D45}
- {D90C3C52-DA8D-44BB-B8B0-3E4EF4CBF4DC} = {EDEC2130-DA14-4415-91A3-225733FB61F8}
{69B805C6-230D-49A2-A569-3CAC2EC9F293} = {EDEC2130-DA14-4415-91A3-225733FB61F8}
{AADBAAC3-45F0-484F-BCB2-9809EDF1CA82} = {732BA761-B58E-4C34-9C96-097382A55A7A}
- {8FD0223B-88AD-4FA9-AE29-0B446FF17922} = {DFACF682-2673-4AE1-8F10-816D025C2D45}
- {B3A22C21-0699-4963-B665-F9AA74F0AF08} = {EDEC2130-DA14-4415-91A3-225733FB61F8}
{034EBD16-E96F-4530-B37D-30B16C4E9876} = {FF42B475-5025-45BA-B278-60F29B53C023}
{7A12C7A3-3152-49C2-A831-3DA77922BF2A} = {DFACF682-2673-4AE1-8F10-816D025C2D45}
{1CA1A906-1A19-46D5-8AC4-87C13523899B} = {DFACF682-2673-4AE1-8F10-816D025C2D45}
diff --git a/Directory.Build.props b/Directory.Build.props
index e523cddd..b8e691a8 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -45,7 +45,7 @@
$(BaseArtifactsPath)pkg/$(Configuration)/
ClangSharp
ClangSharp
- 15.0.3
+ 16.0.0
rc1
pr
diff --git a/Directory.Packages.props b/Directory.Packages.props
index d14c6c53..44502178 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -12,13 +12,13 @@
-
-
+
+
-
+
-
+
diff --git a/README.md b/README.md
index d7dca8b5..90a31035 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/15.0.0); 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/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).
Nightly packages are available via the NuGet Feed URL: https://pkgs.clangsharp.dev/index.json
@@ -73,7 +73,7 @@ Building this requires [CMake 3.13 or later](https://cmake.org/download/) as wel
To succesfully build `libClangSharp` you must first build Clang (https://clang.llvm.org/get_started.html). The process done on Windows is roughly:
```cmd
-git clone --single-branch --branch llvmorg-15.0.0 https://github.com/llvm/llvm-project
+git clone --single-branch --branch llvmorg-16.0.6 https://github.com/llvm/llvm-project
cd llvm-project
mkdir artifacts/bin
cd artifacts/bin
@@ -118,7 +118,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 15.0.0
+dotnet tool install --global ClangSharpPInvokeGenerator --version 16.0.6
ClangSharpPInvokeGenerator @generate.rsp
```
diff --git a/packages/libClangSharp/libClangSharp.runtime.freebsd.12-x64/libClangSharp.runtime.freebsd.12-x64.nuspec b/packages/libClangSharp/libClangSharp.runtime.freebsd.12-x64/libClangSharp.runtime.freebsd.12-x64.nuspec
deleted file mode 100644
index 56317dd8..00000000
--- a/packages/libClangSharp/libClangSharp.runtime.freebsd.12-x64/libClangSharp.runtime.freebsd.12-x64.nuspec
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- libClangSharp.runtime.freebsd.12-x64
- 15.0.0
- .NET Foundation and Contributors
- .NET Foundation and Contributors
- true
- NCSA
- https://github.com/dotnet/clangsharp
- freebsd 12 x64 native library for libClangSharp.
- Copyright © .NET Foundation and Contributors
-
-
-
-
-
-
-
-
diff --git a/packages/libClangSharp/libClangSharp.runtime.freebsd.13-x64/libClangSharp.runtime.freebsd.13-x64.nuspec b/packages/libClangSharp/libClangSharp.runtime.freebsd.13-x64/libClangSharp.runtime.freebsd.13-x64.nuspec
deleted file mode 100644
index e21ab9cc..00000000
--- a/packages/libClangSharp/libClangSharp.runtime.freebsd.13-x64/libClangSharp.runtime.freebsd.13-x64.nuspec
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- libClangSharp.runtime.freebsd.13-x64
- 15.0.0
- .NET Foundation and Contributors
- .NET Foundation and Contributors
- true
- NCSA
- https://github.com/dotnet/clangsharp
- freebsd 13 x64 native library for libClangSharp.
- Copyright © .NET Foundation and Contributors
-
-
-
-
-
-
-
-
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 fe3fdb41..80ef2575 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
- 15.0.0
+ 16.0.6
.NET Foundation and Contributors
.NET Foundation and Contributors
true
@@ -13,8 +13,8 @@
-
-
+
+
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 4ba947e2..049e5b53 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
- 15.0.0
+ 16.0.6
.NET Foundation and Contributors
.NET Foundation and Contributors
true
@@ -13,8 +13,8 @@
-
-
+
+
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 1835f880..29133d29 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
- 15.0.0
+ 16.0.6
.NET Foundation and Contributors
.NET Foundation and Contributors
true
@@ -13,8 +13,8 @@
-
-
+
+
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 ac6bd3de..a4ac9d43 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
- 15.0.0
+ 16.0.6
.NET Foundation and Contributors
.NET Foundation and Contributors
true
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/packages/libClangSharp/libClangSharp.runtime.ubuntu.18.04-x64/libClangSharp.runtime.ubuntu.18.04-x64.nuspec b/packages/libClangSharp/libClangSharp.runtime.ubuntu.18.04-x64/libClangSharp.runtime.ubuntu.18.04-x64.nuspec
deleted file mode 100644
index 1751d148..00000000
--- a/packages/libClangSharp/libClangSharp.runtime.ubuntu.18.04-x64/libClangSharp.runtime.ubuntu.18.04-x64.nuspec
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- libClangSharp.runtime.ubuntu.18.04-x64
- 15.0.0
- .NET Foundation and Contributors
- .NET Foundation and Contributors
- true
- MIT
- https://github.com/dotnet/clangsharp
- ubuntu 18.04 x64 native library for libClangSharp.
- Copyright © .NET Foundation and Contributors
-
-
-
-
-
-
-
-
diff --git a/packages/libClangSharp/libClangSharp.runtime.ubuntu.20.04-x64/libClangSharp.runtime.ubuntu.20.04-x64.nuspec b/packages/libClangSharp/libClangSharp.runtime.ubuntu.20.04-x64/libClangSharp.runtime.ubuntu.20.04-x64.nuspec
deleted file mode 100644
index 4d85a7ca..00000000
--- a/packages/libClangSharp/libClangSharp.runtime.ubuntu.20.04-x64/libClangSharp.runtime.ubuntu.20.04-x64.nuspec
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- libClangSharp.runtime.ubuntu.20.04-x64
- 15.0.0
- .NET Foundation and Contributors
- .NET Foundation and Contributors
- true
- MIT
- https://github.com/dotnet/clangsharp
- ubuntu 20.04 x64 native library for libClangSharp.
- Copyright © .NET Foundation and Contributors
-
-
-
-
-
-
-
-
diff --git a/packages/libClangSharp/libClangSharp.runtime.ubuntu.22.04-x64/libClangSharp.runtime.ubuntu.22.04-x64.nuspec b/packages/libClangSharp/libClangSharp.runtime.ubuntu.22.04-x64/libClangSharp.runtime.ubuntu.22.04-x64.nuspec
deleted file mode 100644
index 6b6d18f8..00000000
--- a/packages/libClangSharp/libClangSharp.runtime.ubuntu.22.04-x64/libClangSharp.runtime.ubuntu.22.04-x64.nuspec
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- libClangSharp.runtime.ubuntu.22.04-x64
- 15.0.0
- .NET Foundation and Contributors
- .NET Foundation and Contributors
- true
- MIT
- https://github.com/dotnet/clangsharp
- ubuntu 22.04 x64 native library for libClangSharp.
- Copyright © .NET Foundation and Contributors
-
-
-
-
-
-
-
-
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 8c6774e0..86957055 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
- 15.0.0
+ 16.0.6
.NET Foundation and Contributors
.NET Foundation and Contributors
true
@@ -13,8 +13,8 @@
-
-
+
+
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 e04fbd79..644c39fe 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
- 15.0.0
+ 16.0.6
.NET Foundation and Contributors
.NET Foundation and Contributors
true
@@ -13,8 +13,8 @@
-
-
+
+
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
index bf3cbf61..e063f344 100644
--- a/packages/libClangSharp/libClangSharp.runtime.win-x86/libClangSharp.runtime.win-x86.nuspec
+++ b/packages/libClangSharp/libClangSharp.runtime.win-x86/libClangSharp.runtime.win-x86.nuspec
@@ -2,7 +2,7 @@
libClangSharp.runtime.win-x86
- 15.0.0
+ 16.0.6
.NET Foundation and Contributors
.NET Foundation and Contributors
true
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/packages/libClangSharp/libClangSharp/libClangSharp.nuspec b/packages/libClangSharp/libClangSharp/libClangSharp.nuspec
index 81ed9464..b707bea6 100644
--- a/packages/libClangSharp/libClangSharp/libClangSharp.nuspec
+++ b/packages/libClangSharp/libClangSharp/libClangSharp.nuspec
@@ -2,7 +2,7 @@
libClangSharp
- 15.0.0
+ 16.0.6
.NET Foundation and Contributors
.NET Foundation and Contributors
true
@@ -15,8 +15,8 @@
-
-
+
+
diff --git a/packages/libClangSharp/libClangSharp/runtime.json b/packages/libClangSharp/libClangSharp/runtime.json
index 1f416faf..e99e6637 100644
--- a/packages/libClangSharp/libClangSharp/runtime.json
+++ b/packages/libClangSharp/libClangSharp/runtime.json
@@ -1,63 +1,38 @@
{
"runtimes": {
- "freebsd.12-x64": {
- "libClangSharp": {
- "libClangSharp.runtime.freebsd.12-x64": "15.0.0"
- }
- },
- "freebsd.13-x64": {
- "libClangSharp": {
- "libClangSharp.runtime.freebsd.13-x64": "15.0.0"
- }
- },
"linux-arm64": {
"libClangSharp": {
- "libClangSharp.runtime.linux-arm64": "15.0.0"
+ "libClangSharp.runtime.linux-arm64": "16.0.6"
}
},
"linux-x64": {
"libClangSharp": {
- "libClangSharp.runtime.linux-x64": "15.0.0"
+ "libClangSharp.runtime.linux-x64": "16.0.6"
}
},
"osx-arm64": {
"libClangSharp": {
- "libClangSharp.runtime.osx-arm64": "15.0.0"
+ "libClangSharp.runtime.osx-arm64": "16.0.6"
}
},
"osx-x64": {
"libClangSharp": {
- "libClangSharp.runtime.osx-x64": "15.0.0"
- }
- },
- "ubuntu.18.04-x64": {
- "libClangSharp": {
- "libClangSharp.runtime.ubuntu.18.04-x64": "15.0.0"
- }
- },
- "ubuntu.20.04-x64": {
- "libClangSharp": {
- "libClangSharp.runtime.ubuntu.20.04-x64": "15.0.0"
- }
- },
- "ubuntu.22.04-x64": {
- "libClangSharp": {
- "libClangSharp.runtime.ubuntu.22.04-x64": "15.0.0"
+ "libClangSharp.runtime.osx-x64": "16.0.6"
}
},
"win-arm64": {
"libClangSharp": {
- "libClangSharp.runtime.win-arm64": "15.0.0"
+ "libClangSharp.runtime.win-arm64": "16.0.6"
}
},
"win-x64": {
"libClangSharp": {
- "libClangSharp.runtime.win-x64": "15.0.0"
+ "libClangSharp.runtime.win-x64": "16.0.6"
}
},
"win-x86": {
"libClangSharp": {
- "libClangSharp.runtime.win-x86": "15.0.0"
+ "libClangSharp.runtime.win-x86": "16.0.6"
}
}
}
diff --git a/packages/libclang/libclang.runtime.freebsd.12-x64/libclang.runtime.freebsd.12-x64.nuspec b/packages/libclang/libclang.runtime.freebsd.12-x64/libclang.runtime.freebsd.12-x64.nuspec
deleted file mode 100644
index 77d40cf7..00000000
--- a/packages/libclang/libclang.runtime.freebsd.12-x64/libclang.runtime.freebsd.12-x64.nuspec
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- libclang.runtime.freebsd.12-x64
- 15.0.0
- .NET Foundation and Contributors
- .NET Foundation and Contributors
- true
- Apache-2.0 WITH LLVM-exception
- https://github.com/dotnet/clangsharp
- freebsd 12 x64 native library for libclang.
- Copyright © LLVM Project
-
-
-
-
-
-
-
diff --git a/packages/libclang/libclang.runtime.freebsd.13-x64/libclang.runtime.freebsd.13-x64.nuspec b/packages/libclang/libclang.runtime.freebsd.13-x64/libclang.runtime.freebsd.13-x64.nuspec
deleted file mode 100644
index 627ad28e..00000000
--- a/packages/libclang/libclang.runtime.freebsd.13-x64/libclang.runtime.freebsd.13-x64.nuspec
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- libclang.runtime.freebsd.13-x64
- 15.0.0
- .NET Foundation and Contributors
- .NET Foundation and Contributors
- true
- Apache-2.0 WITH LLVM-exception
- https://github.com/dotnet/clangsharp
- freebsd 13 x64 native library for libclang.
- Copyright © LLVM Project
-
-
-
-
-
-
-
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 59cd3d07..f503faa4 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
- 15.0.0
+ 16.0.6
.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 98cce586..8a6a3c47 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
- 15.0.0
+ 16.0.6
.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 2eeb5a0a..d1d8b79e 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
- 15.0.0
+ 16.0.6
.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 27b5c62a..eec01cc7 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
- 15.0.0
+ 16.0.6
.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.ubuntu.18.04-x64/libclang.runtime.ubuntu.18.04-x64.nuspec b/packages/libclang/libclang.runtime.ubuntu.18.04-x64/libclang.runtime.ubuntu.18.04-x64.nuspec
deleted file mode 100644
index 10cbb23d..00000000
--- a/packages/libclang/libclang.runtime.ubuntu.18.04-x64/libclang.runtime.ubuntu.18.04-x64.nuspec
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- libclang.runtime.ubuntu.18.04-x64
- 15.0.0
- .NET Foundation and Contributors
- .NET Foundation and Contributors
- true
- Apache-2.0 WITH LLVM-exception
- https://github.com/dotnet/clangsharp
- ubuntu 18.04 x64 native library for libclang.
- Copyright © LLVM Project
-
-
-
-
-
-
-
diff --git a/packages/libclang/libclang.runtime.ubuntu.20.04-x64/libclang.runtime.ubuntu.20.04-x64.nuspec b/packages/libclang/libclang.runtime.ubuntu.20.04-x64/libclang.runtime.ubuntu.20.04-x64.nuspec
deleted file mode 100644
index 54a4e942..00000000
--- a/packages/libclang/libclang.runtime.ubuntu.20.04-x64/libclang.runtime.ubuntu.20.04-x64.nuspec
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- libclang.runtime.ubuntu.20.04-x64
- 15.0.0
- .NET Foundation and Contributors
- .NET Foundation and Contributors
- true
- Apache-2.0 WITH LLVM-exception
- https://github.com/dotnet/clangsharp
- ubuntu 20.04 x64 native library for libclang.
- Copyright © LLVM Project
-
-
-
-
-
-
-
diff --git a/packages/libclang/libclang.runtime.ubuntu.22.04-x64/libclang.runtime.ubuntu.22.04-x64.nuspec b/packages/libclang/libclang.runtime.ubuntu.22.04-x64/libclang.runtime.ubuntu.22.04-x64.nuspec
deleted file mode 100644
index d573b8ab..00000000
--- a/packages/libclang/libclang.runtime.ubuntu.22.04-x64/libclang.runtime.ubuntu.22.04-x64.nuspec
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- libclang.runtime.ubuntu.22.04-x64
- 15.0.0
- .NET Foundation and Contributors
- .NET Foundation and Contributors
- true
- Apache-2.0 WITH LLVM-exception
- https://github.com/dotnet/clangsharp
- ubuntu 22.04 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 5dce19c2..c9abddc5 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
- 15.0.0
+ 16.0.6
.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 ab14e5e7..80cfa4f8 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
- 15.0.0
+ 16.0.6
.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
index 01690cf3..9a006cd9 100644
--- a/packages/libclang/libclang.runtime.win-x86/libclang.runtime.win-x86.nuspec
+++ b/packages/libclang/libclang.runtime.win-x86/libclang.runtime.win-x86.nuspec
@@ -2,7 +2,7 @@
libclang.runtime.win-x86
- 15.0.0
+ 16.0.6
.NET Foundation and Contributors
.NET Foundation and Contributors
true
@@ -10,7 +10,7 @@
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 d43eb5e9..562c5141 100644
--- a/packages/libclang/libclang/libclang.nuspec
+++ b/packages/libclang/libclang/libclang.nuspec
@@ -2,7 +2,7 @@
libclang
- 15.0.0
+ 16.0.6
.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 dce538fb..3ffbd7d4 100644
--- a/packages/libclang/libclang/runtime.json
+++ b/packages/libclang/libclang/runtime.json
@@ -1,63 +1,38 @@
{
"runtimes": {
- "freebsd.12-x64": {
- "libclang": {
- "libclang.runtime.freebsd.12-x64": "15.0.0"
- }
- },
- "freebsd.13-x64": {
- "libclang": {
- "libclang.runtime.freebsd.13-x64": "15.0.0"
- }
- },
"linux-arm64": {
"libclang": {
- "libclang.runtime.linux-arm64": "15.0.0"
+ "libclang.runtime.linux-arm64": "16.0.6"
}
},
"linux-x64": {
"libclang": {
- "libclang.runtime.linux-x64": "15.0.0"
+ "libclang.runtime.linux-x64": "16.0.6"
}
},
"osx-arm64": {
"libclang": {
- "libclang.runtime.osx-arm64": "15.0.0"
+ "libclang.runtime.osx-arm64": "16.0.6"
}
},
"osx-x64": {
"libclang": {
- "libclang.runtime.osx-x64": "15.0.0"
- }
- },
- "ubuntu.18.04-x64": {
- "libclang": {
- "libclang.runtime.ubuntu.18.04-x64": "15.0.0"
- }
- },
- "ubuntu.20.04-x64": {
- "libclang": {
- "libclang.runtime.ubuntu.20.04-x64": "15.0.0"
- }
- },
- "ubuntu.22.04-x64": {
- "libclang": {
- "libclang.runtime.ubuntu.22.04-x64": "15.0.0"
+ "libclang.runtime.osx-x64": "16.0.6"
}
},
"win-arm64": {
"libclang": {
- "libclang.runtime.win-arm64": "15.0.0"
+ "libclang.runtime.win-arm64": "16.0.6"
}
},
"win-x64": {
"libclang": {
- "libclang.runtime.win-x64": "15.0.0"
+ "libclang.runtime.win-x64": "16.0.6"
}
},
"win-x86": {
"libclang": {
- "libclang.runtime.win-x86": "15.0.0"
+ "libclang.runtime.win-x86": "16.0.6"
}
}
}
diff --git a/sources/ClangSharp.Interop/Extensions/CXCursor.cs b/sources/ClangSharp.Interop/Extensions/CXCursor.cs
index d5dd59f4..35bf41b8 100644
--- a/sources/ClangSharp.Interop/Extensions/CXCursor.cs
+++ b/sources/ClangSharp.Interop/Extensions/CXCursor.cs
@@ -55,6 +55,9 @@ public string AttrKindSpelling
Debug.Assert(CX_AttrKind_FirstParameterABIAttr == CX_AttrKind_SwiftAsyncContext);
Debug.Assert(CX_AttrKind_LastParameterABIAttr == CX_AttrKind_SwiftIndirectResult);
+ Debug.Assert(CX_AttrKind_FirstHLSLAnnotationAttr == CX_AttrKind_HLSLSV_DispatchThreadID);
+ Debug.Assert(CX_AttrKind_LastHLSLAnnotationAttr == CX_AttrKind_HLSLSV_GroupIndex);
+
return AttrKind switch {
CX_AttrKind_Invalid => "Invalid",
CX_AttrKind_AddressSpace => "AddressSpace",
@@ -62,6 +65,7 @@ public string AttrKindSpelling
CX_AttrKind_ArmMveStrictPolymorphism => "ArmMveStrictPolymorphism",
CX_AttrKind_BTFTypeTag => "BTFTypeTag",
CX_AttrKind_CmseNSCall => "CmseNSCall",
+ CX_AttrKind_HLSLGroupSharedAddressSpace => "HLSLGroupSharedAddressSpace",
CX_AttrKind_NoDeref => "NoDeref",
CX_AttrKind_ObjCGC => "ObjCGC",
CX_AttrKind_ObjCInertUnsafeUnretained => "ObjCInertUnsafeUnretained",
@@ -126,6 +130,8 @@ public string AttrKindSpelling
CX_AttrKind_PassObjectSize => "PassObjectSize",
CX_AttrKind_ReleaseHandle => "ReleaseHandle",
CX_AttrKind_UseHandle => "UseHandle",
+ CX_AttrKind_HLSLSV_DispatchThreadID => "HLSLSV_DispatchThreadID",
+ CX_AttrKind_HLSLSV_GroupIndex => "HLSLSV_GroupIndex",
CX_AttrKind_AMDGPUFlatWorkGroupSize => "AMDGPUFlatWorkGroupSize",
CX_AttrKind_AMDGPUNumSGPR => "AMDGPUNumSGPR",
CX_AttrKind_AMDGPUNumVGPR => "AMDGPUNumVGPR",
@@ -225,7 +231,8 @@ public string AttrKindSpelling
CX_AttrKind_GuardedVar => "GuardedVar",
CX_AttrKind_HIPManaged => "HIPManaged",
CX_AttrKind_HLSLNumThreads => "HLSLNumThreads",
- CX_AttrKind_HLSLSV_GroupIndex => "HLSLSV_GroupIndex",
+ CX_AttrKind_HLSLResource => "HLSLResource",
+ CX_AttrKind_HLSLResourceBinding => "HLSLResourceBinding",
CX_AttrKind_HLSLShader => "HLSLShader",
CX_AttrKind_Hot => "Hot",
CX_AttrKind_IBAction => "IBAction",
@@ -248,6 +255,7 @@ public string AttrKindSpelling
CX_AttrKind_MSVtorDisp => "MSVtorDisp",
CX_AttrKind_MaxFieldAlignment => "MaxFieldAlignment",
CX_AttrKind_MayAlias => "MayAlias",
+ CX_AttrKind_MaybeUndef => "MaybeUndef",
CX_AttrKind_MicroMips => "MicroMips",
CX_AttrKind_MinSize => "MinSize",
CX_AttrKind_MinVectorWidth => "MinVectorWidth",
@@ -278,6 +286,7 @@ public string AttrKindSpelling
CX_AttrKind_NoThreadSafetyAnalysis => "NoThreadSafetyAnalysis",
CX_AttrKind_NoThrow => "NoThrow",
CX_AttrKind_NoUniqueAddress => "NoUniqueAddress",
+ CX_AttrKind_NoUwtable => "NoUwtable",
CX_AttrKind_NotTailCalled => "NotTailCalled",
CX_AttrKind_OMPAllocateDecl => "OMPAllocateDecl",
CX_AttrKind_OMPCaptureNoInit => "OMPCaptureNoInit",
@@ -325,6 +334,7 @@ public string AttrKindSpelling
CX_AttrKind_Pure => "Pure",
CX_AttrKind_RISCVInterrupt => "RISCVInterrupt",
CX_AttrKind_RandomizeLayout => "RandomizeLayout",
+ CX_AttrKind_ReadOnlyPlacement => "ReadOnlyPlacement",
CX_AttrKind_Reinitializes => "Reinitializes",
CX_AttrKind_ReleaseCapability => "ReleaseCapability",
CX_AttrKind_ReqdWorkGroupSize => "ReqdWorkGroupSize",
@@ -345,6 +355,7 @@ public string AttrKindSpelling
CX_AttrKind_SpeculativeLoadHardening => "SpeculativeLoadHardening",
CX_AttrKind_StandaloneDebug => "StandaloneDebug",
CX_AttrKind_StrictFP => "StrictFP",
+ CX_AttrKind_StrictGuardStackCheck => "StrictGuardStackCheck",
CX_AttrKind_SwiftAsync => "SwiftAsync",
CX_AttrKind_SwiftAsyncError => "SwiftAsyncError",
CX_AttrKind_SwiftAsyncName => "SwiftAsyncName",
@@ -358,6 +369,7 @@ public string AttrKindSpelling
CX_AttrKind_TLSModel => "TLSModel",
CX_AttrKind_Target => "Target",
CX_AttrKind_TargetClones => "TargetClones",
+ CX_AttrKind_TargetVersion => "TargetVersion",
CX_AttrKind_TestTypestate => "TestTypestate",
CX_AttrKind_TransparentUnion => "TransparentUnion",
CX_AttrKind_TrivialABI => "TrivialABI",
@@ -578,8 +590,12 @@ public string CastKindSpelling
public bool CXXMethod_IsConst => clang.CXXMethod_isConst(this) != 0;
+ public bool CXXMethod_IsCopyAssignmentOperator => clang.CXXMethod_isCopyAssignmentOperator(this) != 0;
+
public bool CXXMethod_IsDefaulted => clang.CXXMethod_isDefaulted(this) != 0;
+ public bool CXXMethod_IsMoveAssignmentOperator => clang.CXXMethod_isMoveAssignmentOperator(this) != 0;
+
public bool CXXMethod_IsPureVirtual => clang.CXXMethod_isPureVirtual(this) != 0;
public bool CXXMethod_IsStatic => clang.CXXMethod_isStatic(this) != 0;
@@ -671,12 +687,14 @@ public string DeclKindSpelling
CX_DeclKind_FileScopeAsm => "FileScopeAsm",
CX_DeclKind_Friend => "Friend",
CX_DeclKind_FriendTemplate => "FriendTemplate",
+ CX_DeclKind_ImplicitConceptSpecialization => "ImplicitConceptSpecialization",
CX_DeclKind_Import => "Import",
CX_DeclKind_LifetimeExtendedTemporary => "LifetimeExtendedTemporary",
CX_DeclKind_LinkageSpec => "LinkageSpec",
CX_DeclKind_Using => "Using",
CX_DeclKind_UsingEnum => "UsingEnum",
CX_DeclKind_Label => "Label",
+ CX_DeclKind_HLSLBuffer => "HLSLBuffer",
CX_DeclKind_Namespace => "Namespace",
CX_DeclKind_NamespaceAlias => "NamespaceAlias",
CX_DeclKind_ObjCCompatibleAlias => "ObjCCompatibleAlias",
@@ -744,6 +762,7 @@ public string DeclKindSpelling
CX_DeclKind_PragmaDetectMismatch => "PragmaDetectMismatch",
CX_DeclKind_RequiresExprBody => "RequiresExprBody",
CX_DeclKind_StaticAssert => "StaticAssert",
+ CX_DeclKind_TopLevelStmt => "TopLevelStmt",
CX_DeclKind_TranslationUnit => "TranslationUnit",
_ => Kind.ToString()[12..],
};
@@ -902,6 +921,8 @@ public string DeclKindSpelling
public bool IsCanonical => Equals(CanonicalCursor);
+ public bool IsCBuffer => clangsharp.Cursor_getIsCBuffer(this) != 0;
+
public bool IsClassExtension => clangsharp.Cursor_getIsClassExtension(this) != 0;
public bool IsCompleteDefinition => clangsharp.Cursor_getIsCompleteDefinition(this) != 0;
@@ -912,7 +933,7 @@ public string DeclKindSpelling
public bool IsConversionFromLambda => clangsharp.Cursor_getIsConversionFromLambda(this) != 0;
- public bool IsCopyOrMoveConstructor => clangsharp.Cursor_getIsCopyOrMoveConstructor(this) == 0;
+ public bool IsCopyOrMoveConstructor => clangsharp.Cursor_getIsCopyOrMoveConstructor(this) != 0;
public bool IsCXXTry => clangsharp.Cursor_getIsCXXTry(this) != 0;
@@ -922,9 +943,9 @@ public string DeclKindSpelling
public bool IsDefinition => clang.isCursorDefinition(this) != 0;
- public bool IsDelegatingConstructor => clangsharp.Cursor_getIsDelegatingConstructor(this) == 0;
+ public bool IsDelegatingConstructor => clangsharp.Cursor_getIsDelegatingConstructor(this) != 0;
- public bool IsDeleted => clangsharp.Cursor_getIsDeleted(this) == 0;
+ public bool IsDeleted => clangsharp.Cursor_getIsDeleted(this) != 0;
public bool IsDeprecated => clangsharp.Cursor_getIsDeprecated(this) != 0;
@@ -932,7 +953,7 @@ public string DeclKindSpelling
public bool IsElidable => clangsharp.Cursor_getIsElidable(this) != 0;
- public bool IsExplicitlyDefaulted => clangsharp.Cursor_getIsExplicitlyDefaulted(this) == 0;
+ public bool IsExplicitlyDefaulted => clangsharp.Cursor_getIsExplicitlyDefaulted(this) != 0;
public bool IsExpression => clang.isExpression(Kind) != 0;
@@ -956,7 +977,7 @@ public string DeclKindSpelling
public bool IsIncomplete => clangsharp.Cursor_getIsIncomplete(this) != 0;
- public bool IsInheritingConstructor => clangsharp.Cursor_getIsInheritingConstructor(this) == 0;
+ public bool IsInheritingConstructor => clangsharp.Cursor_getIsInheritingConstructor(this) != 0;
public bool IsInvalid => clang.isInvalid(Kind) != 0;
@@ -1112,6 +1133,8 @@ public string DeclKindSpelling
public int NumExprs => clangsharp.Cursor_getNumExprs(this);
+ public int NumExprsOther => clangsharp.Cursor_getNumExprsOther(this);
+
public int NumFields => clangsharp.Cursor_getNumFields(this);
public int NumFriends => clangsharp.Cursor_getNumFriends(this);
@@ -1198,6 +1221,8 @@ public ReadOnlySpan OverriddenCursors
public CXSourceRange SourceRange => clangsharp.Cursor_getSourceRange(this);
+ public CXSourceRange SourceRangeRaw => clangsharp.Cursor_getSourceRangeRaw(this);
+
public CXCursor SpecializedCursorTemplate => clang.getSpecializedCursorTemplate(this);
public CXString Spelling => clang.getCursorSpelling(this);
@@ -1294,6 +1319,7 @@ public string StmtClassSpelling
CX_StmtClass_OMPCriticalDirective => "OMPCriticalDirective",
CX_StmtClass_OMPDepobjDirective => "OMPDepobjDirective",
CX_StmtClass_OMPDispatchDirective => "OMPDispatchDirective",
+ CX_StmtClass_OMPErrorDirective => "OMPErrorDirective",
CX_StmtClass_OMPFlushDirective => "OMPFlushDirective",
CX_StmtClass_OMPInteropDirective => "OMPInteropDirective",
CX_StmtClass_OMPDistributeDirective => "OMPDistributeDirective",
@@ -1398,6 +1424,7 @@ public string StmtClassSpelling
CX_StmtClass_CXXNewExpr => "CXXNewExpr",
CX_StmtClass_CXXNoexceptExpr => "CXXNoexceptExpr",
CX_StmtClass_CXXNullPtrLiteralExpr => "CXXNullPtrLiteralExpr",
+ CX_StmtClass_CXXParenListInitExpr => "CXXParenListInitExpr",
CX_StmtClass_CXXPseudoDestructorExpr => "CXXPseudoDestructorExpr",
CX_StmtClass_CXXRewrittenBinaryOperator => "CXXRewrittenBinaryOperator",
CX_StmtClass_CXXScalarValueInitExpr => "CXXScalarValueInitExpr",
diff --git a/sources/ClangSharp.Interop/Extensions/CXType.cs b/sources/ClangSharp.Interop/Extensions/CXType.cs
index d50b8363..b99c833f 100644
--- a/sources/ClangSharp.Interop/Extensions/CXType.cs
+++ b/sources/ClangSharp.Interop/Extensions/CXType.cs
@@ -87,6 +87,8 @@ public unsafe partial struct CXType : IEquatable
public CXType NamedType => clang.Type_getNamedType(this);
+ public CXType NonReferenceType => (kind != CXType_Invalid) ? clang.getNonReferenceType(this) : default;
+
public CXTypeNullabilityKind Nullability => clang.Type_getNullability(this);
public int NumArgTypes => clang.getNumArgTypes(this);
@@ -214,6 +216,8 @@ public string TypeClassSpelling
public CXType UnderlyingType => (kind != CXType_Invalid) ? clangsharp.Type_getUnderlyingType(this) : default;
+ public CXType UnqualifiedType => (kind != CXType_Invalid) ? clang.getUnqualifiedType(this) : default;
+
public CXType ValueType => clang.Type_getValueType(this);
internal string DebuggerDisplayString => $"{TypeClassSpelling}: {this}";
diff --git a/sources/ClangSharp.Interop/Extensions/CX_TemplateArgumentLoc.cs b/sources/ClangSharp.Interop/Extensions/CX_TemplateArgumentLoc.cs
index a8a7eabd..2b7e43af 100644
--- a/sources/ClangSharp.Interop/Extensions/CX_TemplateArgumentLoc.cs
+++ b/sources/ClangSharp.Interop/Extensions/CX_TemplateArgumentLoc.cs
@@ -17,4 +17,6 @@ public unsafe partial struct CX_TemplateArgumentLoc
public CXCursor SourceNullPtrExpression => clangsharp.TemplateArgumentLoc_getSourceNullPtrExpression(this);
public CXSourceRange SourceRange => clangsharp.TemplateArgumentLoc_getSourceRange(this);
+
+ public CXSourceRange SourceRangeRaw => clangsharp.TemplateArgumentLoc_getSourceRangeRaw(this);
}
diff --git a/sources/ClangSharp.Interop/Extensions/clang.ResolveLibrary.cs b/sources/ClangSharp.Interop/Extensions/clang.ResolveLibrary.cs
index d9198785..ef1759eb 100644
--- a/sources/ClangSharp.Interop/Extensions/clang.ResolveLibrary.cs
+++ b/sources/ClangSharp.Interop/Extensions/clang.ResolveLibrary.cs
@@ -37,8 +37,8 @@ private static IntPtr OnDllImport(string libraryName, Assembly assembly, DllImpo
private static bool TryResolveClang(Assembly assembly, DllImportSearchPath? searchPath, out IntPtr nativeLibrary)
{
- return (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && NativeLibrary.TryLoad("libclang.so.15", assembly, searchPath, out nativeLibrary))
- || (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && NativeLibrary.TryLoad("libclang-15", assembly, searchPath, out nativeLibrary))
+ return (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && NativeLibrary.TryLoad("libclang.so.16", assembly, searchPath, out nativeLibrary))
+ || (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && NativeLibrary.TryLoad("libclang-16", assembly, searchPath, out nativeLibrary))
|| (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && NativeLibrary.TryLoad("libclang.so.1", assembly, searchPath, out nativeLibrary))
|| NativeLibrary.TryLoad("libclang", assembly, searchPath, out nativeLibrary);
}
diff --git a/sources/ClangSharp.Interop/Manual/CXAPISetImpl.cs b/sources/ClangSharp.Interop/Manual/CXAPISetImpl.cs
new file mode 100644
index 00000000..6e19d64d
--- /dev/null
+++ b/sources/ClangSharp.Interop/Manual/CXAPISetImpl.cs
@@ -0,0 +1,10 @@
+// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md 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.
+
+namespace ClangSharp.Interop;
+
+public partial struct CXAPISetImpl
+{
+}
diff --git a/sources/ClangSharp.Interop/Manual/CXCursorSetImpl.cs b/sources/ClangSharp.Interop/Manual/CXCursorSetImpl.cs
index e3156661..a26de047 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/Manual/CXCursorVisitor.cs b/sources/ClangSharp.Interop/Manual/CXCursorVisitor.cs
index 001e10c3..becce812 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-15.0.0/clang/include/clang-c
+// 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 System.Runtime.InteropServices;
diff --git a/sources/ClangSharp.Interop/Manual/CXFieldVisitor.cs b/sources/ClangSharp.Interop/Manual/CXFieldVisitor.cs
index 893b1870..4ab26abc 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-15.0.0/clang/include/clang-c
+// 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 System.Runtime.InteropServices;
diff --git a/sources/ClangSharp.Interop/Manual/CXInclusionVisitor.cs b/sources/ClangSharp.Interop/Manual/CXInclusionVisitor.cs
index 01a3ea4c..0a08e8e7 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-15.0.0/clang/include/clang-c
+// 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 System.Runtime.InteropServices;
diff --git a/sources/ClangSharp.Interop/Manual/CXModuleMapDescriptorImpl.cs b/sources/ClangSharp.Interop/Manual/CXModuleMapDescriptorImpl.cs
index df18c491..d3c2affb 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/Manual/CXTargetInfoImpl.cs b/sources/ClangSharp.Interop/Manual/CXTargetInfoImpl.cs
index a027540f..03b9975d 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/Manual/CXTranslationUnitImpl.cs b/sources/ClangSharp.Interop/Manual/CXTranslationUnitImpl.cs
index c6690648..cb090030 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/Manual/CXVirtualFileOverlayImpl.cs b/sources/ClangSharp.Interop/Manual/CXVirtualFileOverlayImpl.cs
index 6435c586..3aee12fd 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXAvailabilityKind.cs b/sources/ClangSharp.Interop/clang/CXAvailabilityKind.cs
index f2c076af..13ef0539 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXCallingConv.cs b/sources/ClangSharp.Interop/clang/CXCallingConv.cs
index 3abf8e14..7f167292 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXChildVisitResult.cs b/sources/ClangSharp.Interop/clang/CXChildVisitResult.cs
index 6b4a39d2..b9259c15 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXCodeCompleteResults.cs b/sources/ClangSharp.Interop/clang/CXCodeCompleteResults.cs
index ad36429c..aa12194b 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXCodeComplete_Flags.cs b/sources/ClangSharp.Interop/clang/CXCodeComplete_Flags.cs
index 33e37cb5..7b5c96a6 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXComment.cs b/sources/ClangSharp.Interop/clang/CXComment.cs
index 7db6e596..f037b794 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXCommentInlineCommandRenderKind.cs b/sources/ClangSharp.Interop/clang/CXCommentInlineCommandRenderKind.cs
index 9f9e8280..482b727b 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXCommentKind.cs b/sources/ClangSharp.Interop/clang/CXCommentKind.cs
index f416866d..1e7ea57e 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXCommentParamPassDirection.cs b/sources/ClangSharp.Interop/clang/CXCommentParamPassDirection.cs
index 38e15ded..7a272f23 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXCompilationDatabase_Error.cs b/sources/ClangSharp.Interop/clang/CXCompilationDatabase_Error.cs
index 4b3e1fc3..fc5be8cf 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXCompletionChunkKind.cs b/sources/ClangSharp.Interop/clang/CXCompletionChunkKind.cs
index b7281b90..774339e0 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXCompletionContext.cs b/sources/ClangSharp.Interop/clang/CXCompletionContext.cs
index ce038ce3..d1a38a07 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXCompletionResult.cs b/sources/ClangSharp.Interop/clang/CXCompletionResult.cs
index 43635e5e..32c4d05c 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXCursor.cs b/sources/ClangSharp.Interop/clang/CXCursor.cs
index a1d4dea9..ae2012a6 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-15.0.0/clang/include/clang-c
+// 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 System.Runtime.CompilerServices;
diff --git a/sources/ClangSharp.Interop/clang/CXCursorAndRangeVisitor.cs b/sources/ClangSharp.Interop/clang/CXCursorAndRangeVisitor.cs
index 5980970a..12df63d8 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXCursorKind.cs b/sources/ClangSharp.Interop/clang/CXCursorKind.cs
index 9967cf4d..59e9e182 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
@@ -123,7 +123,8 @@ public enum CXCursorKind
CXCursor_CXXAddrspaceCastExpr = 152,
CXCursor_ConceptSpecializationExpr = 153,
CXCursor_RequiresExpr = 154,
- CXCursor_LastExpr = CXCursor_RequiresExpr,
+ CXCursor_CXXParenListInitExpr = 155,
+ CXCursor_LastExpr = CXCursor_CXXParenListInitExpr,
CXCursor_FirstStmt = 200,
CXCursor_UnexposedStmt = 200,
CXCursor_LabelStmt = 201,
@@ -231,7 +232,8 @@ public enum CXCursorKind
CXCursor_OMPMaskedTaskLoopSimdDirective = 302,
CXCursor_OMPParallelMaskedTaskLoopDirective = 303,
CXCursor_OMPParallelMaskedTaskLoopSimdDirective = 304,
- CXCursor_LastStmt = CXCursor_OMPParallelMaskedTaskLoopSimdDirective,
+ CXCursor_OMPErrorDirective = 305,
+ CXCursor_LastStmt = CXCursor_OMPErrorDirective,
CXCursor_TranslationUnit = 350,
CXCursor_FirstAttr = 400,
CXCursor_UnexposedAttr = 400,
diff --git a/sources/ClangSharp.Interop/clang/CXCursor_ExceptionSpecificationKind.cs b/sources/ClangSharp.Interop/clang/CXCursor_ExceptionSpecificationKind.cs
index 5eed6f8c..52586b8d 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXDiagnosticDisplayOptions.cs b/sources/ClangSharp.Interop/clang/CXDiagnosticDisplayOptions.cs
index e5f13fb2..ed3e2dd4 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXDiagnosticSeverity.cs b/sources/ClangSharp.Interop/clang/CXDiagnosticSeverity.cs
index 49a021aa..b5b6c6cf 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXErrorCode.cs b/sources/ClangSharp.Interop/clang/CXErrorCode.cs
index 3ff4d5c0..18b842fd 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXEvalResultKind.cs b/sources/ClangSharp.Interop/clang/CXEvalResultKind.cs
index 5ec32ab4..5281968b 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXFileUniqueID.cs b/sources/ClangSharp.Interop/clang/CXFileUniqueID.cs
index 497c1b0c..a6272ffb 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXGlobalOptFlags.cs b/sources/ClangSharp.Interop/clang/CXGlobalOptFlags.cs
index 979288ca..9d033c03 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxAttrInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxAttrInfo.cs
index dc2087cd..00a1654a 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxAttrKind.cs b/sources/ClangSharp.Interop/clang/CXIdxAttrKind.cs
index 6b60b5af..f048fe59 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxBaseClassInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxBaseClassInfo.cs
index bade6a6e..59e2b4f3 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxCXXClassDeclInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxCXXClassDeclInfo.cs
index cc01747d..3a32ef28 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxContainerInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxContainerInfo.cs
index 675166ee..62c2827b 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxDeclInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxDeclInfo.cs
index 4c64f560..964bd9b6 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxDeclInfoFlags.cs b/sources/ClangSharp.Interop/clang/CXIdxDeclInfoFlags.cs
index fc740c13..60de1f46 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxEntityCXXTemplateKind.cs b/sources/ClangSharp.Interop/clang/CXIdxEntityCXXTemplateKind.cs
index d39130a9..27cdbf13 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxEntityInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxEntityInfo.cs
index e52978b0..43dea66e 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxEntityKind.cs b/sources/ClangSharp.Interop/clang/CXIdxEntityKind.cs
index 2668ec51..bca3f0dc 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxEntityLanguage.cs b/sources/ClangSharp.Interop/clang/CXIdxEntityLanguage.cs
index d99e56a9..6246a7eb 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxEntityRefInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxEntityRefInfo.cs
index 2dce640a..3863b80e 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxEntityRefKind.cs b/sources/ClangSharp.Interop/clang/CXIdxEntityRefKind.cs
index 73296e79..1f06eb35 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxIBOutletCollectionAttrInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxIBOutletCollectionAttrInfo.cs
index 29c933e4..59c5de19 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxImportedASTFileInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxImportedASTFileInfo.cs
index 3aa59ca0..02949660 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxIncludedFileInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxIncludedFileInfo.cs
index 26f8fe78..09472835 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxLoc.cs b/sources/ClangSharp.Interop/clang/CXIdxLoc.cs
index c07b01b0..a5b0bfc5 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-15.0.0/clang/include/clang-c
+// 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 System.Runtime.CompilerServices;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxObjCCategoryDeclInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxObjCCategoryDeclInfo.cs
index 9159a957..a579104b 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxObjCContainerDeclInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxObjCContainerDeclInfo.cs
index 4d0058c1..e3dd1cf7 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxObjCContainerKind.cs b/sources/ClangSharp.Interop/clang/CXIdxObjCContainerKind.cs
index 0b18a9f0..5148f7df 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxObjCInterfaceDeclInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxObjCInterfaceDeclInfo.cs
index 7a3be461..1d9e9e58 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxObjCPropertyDeclInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxObjCPropertyDeclInfo.cs
index c6537367..f8268a20 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxObjCProtocolRefInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxObjCProtocolRefInfo.cs
index 9c915238..b1215559 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIdxObjCProtocolRefListInfo.cs b/sources/ClangSharp.Interop/clang/CXIdxObjCProtocolRefListInfo.cs
index 0e6ee88c..6a84c144 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXIndexOptFlags.cs b/sources/ClangSharp.Interop/clang/CXIndexOptFlags.cs
index 6b2372bc..fe261411 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXLanguageKind.cs b/sources/ClangSharp.Interop/clang/CXLanguageKind.cs
index 311b8d46..512ce21e 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXLinkageKind.cs b/sources/ClangSharp.Interop/clang/CXLinkageKind.cs
index 19582bdf..41f56e67 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXLoadDiag_Error.cs b/sources/ClangSharp.Interop/clang/CXLoadDiag_Error.cs
index f34dc015..23b34e5d 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXNameRefFlags.cs b/sources/ClangSharp.Interop/clang/CXNameRefFlags.cs
index 0854aab4..7b9d5f60 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXObjCDeclQualifierKind.cs b/sources/ClangSharp.Interop/clang/CXObjCDeclQualifierKind.cs
index 7b7f0814..5cf595b9 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXObjCPropertyAttrKind.cs b/sources/ClangSharp.Interop/clang/CXObjCPropertyAttrKind.cs
index b9584a7a..53f8c8ab 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXPlatformAvailability.cs b/sources/ClangSharp.Interop/clang/CXPlatformAvailability.cs
index 3520ca16..a059293c 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXPrintingPolicyProperty.cs b/sources/ClangSharp.Interop/clang/CXPrintingPolicyProperty.cs
index 4397b8c3..f76b3036 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXRefQualifierKind.cs b/sources/ClangSharp.Interop/clang/CXRefQualifierKind.cs
index b10c27b5..1346d4b0 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXReparse_Flags.cs b/sources/ClangSharp.Interop/clang/CXReparse_Flags.cs
index 822c3321..9cf608d7 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXResult.cs b/sources/ClangSharp.Interop/clang/CXResult.cs
index 55ef6b65..7f4af4d7 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXSaveError.cs b/sources/ClangSharp.Interop/clang/CXSaveError.cs
index e7881ffb..7fb272a6 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXSaveTranslationUnit_Flags.cs b/sources/ClangSharp.Interop/clang/CXSaveTranslationUnit_Flags.cs
index ee1f1972..8487a0ee 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXSourceLocation.cs b/sources/ClangSharp.Interop/clang/CXSourceLocation.cs
index 054c5a6a..6982b483 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-15.0.0/clang/include/clang-c
+// 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 System.Runtime.CompilerServices;
diff --git a/sources/ClangSharp.Interop/clang/CXSourceRange.cs b/sources/ClangSharp.Interop/clang/CXSourceRange.cs
index 87eea6eb..b941a8c5 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-15.0.0/clang/include/clang-c
+// 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 System.Runtime.CompilerServices;
diff --git a/sources/ClangSharp.Interop/clang/CXSourceRangeList.cs b/sources/ClangSharp.Interop/clang/CXSourceRangeList.cs
index 15d4343d..86d7feba 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXString.cs b/sources/ClangSharp.Interop/clang/CXString.cs
index 7dadd22a..7a0b2fb1 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXStringSet.cs b/sources/ClangSharp.Interop/clang/CXStringSet.cs
index 201b4ef2..e0dad50d 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXSymbolRole.cs b/sources/ClangSharp.Interop/clang/CXSymbolRole.cs
index 89c6f06b..c22b2aa1 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXTLSKind.cs b/sources/ClangSharp.Interop/clang/CXTLSKind.cs
index c0dad2f2..d6166b36 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXTUResourceUsage.cs b/sources/ClangSharp.Interop/clang/CXTUResourceUsage.cs
index e5571f15..a3ddca31 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXTUResourceUsageEntry.cs b/sources/ClangSharp.Interop/clang/CXTUResourceUsageEntry.cs
index 6b70a3db..b15cb344 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXTUResourceUsageKind.cs b/sources/ClangSharp.Interop/clang/CXTUResourceUsageKind.cs
index 9ed0f335..f1019f63 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXTemplateArgumentKind.cs b/sources/ClangSharp.Interop/clang/CXTemplateArgumentKind.cs
index 30cca59d..30fda1b8 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXToken.cs b/sources/ClangSharp.Interop/clang/CXToken.cs
index 000fd739..516ea651 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXTokenKind.cs b/sources/ClangSharp.Interop/clang/CXTokenKind.cs
index ab4610e1..71b7b1f4 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXTranslationUnit_Flags.cs b/sources/ClangSharp.Interop/clang/CXTranslationUnit_Flags.cs
index 76b81270..9308927e 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXType.cs b/sources/ClangSharp.Interop/clang/CXType.cs
index 072fbb49..69866c2d 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-15.0.0/clang/include/clang-c
+// 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 System.Runtime.CompilerServices;
diff --git a/sources/ClangSharp.Interop/clang/CXTypeKind.cs b/sources/ClangSharp.Interop/clang/CXTypeKind.cs
index 1d8585f6..84795a20 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXTypeLayoutError.cs b/sources/ClangSharp.Interop/clang/CXTypeLayoutError.cs
index 9b8a1b22..11dfc75e 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXTypeNullabilityKind.cs b/sources/ClangSharp.Interop/clang/CXTypeNullabilityKind.cs
index e364c7a9..21e0fae9 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXUnsavedFile.cs b/sources/ClangSharp.Interop/clang/CXUnsavedFile.cs
index a2b64f0c..3aa6b7e9 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXVersion.cs b/sources/ClangSharp.Interop/clang/CXVersion.cs
index 0504d0f1..74751054 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXVisibilityKind.cs b/sources/ClangSharp.Interop/clang/CXVisibilityKind.cs
index c3c63bb8..e5cb0852 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CXVisitorResult.cs b/sources/ClangSharp.Interop/clang/CXVisitorResult.cs
index 4161c409..ffbd0688 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CX_CXXAccessSpecifier.cs b/sources/ClangSharp.Interop/clang/CX_CXXAccessSpecifier.cs
index 3aedf1d4..f280b556 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/CX_StorageClass.cs b/sources/ClangSharp.Interop/clang/CX_StorageClass.cs
index 72faac70..c823edf2 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/IndexerCallbacks.cs b/sources/ClangSharp.Interop/clang/IndexerCallbacks.cs
index 1c4ee8d1..c7896c22 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-15.0.0/clang/include/clang-c
+// 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.
namespace ClangSharp.Interop;
diff --git a/sources/ClangSharp.Interop/clang/clang.cs b/sources/ClangSharp.Interop/clang/clang.cs
index 4fd55e33..c4539224 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-15.0.0/clang/include/clang-c
+// 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 System;
@@ -104,6 +104,139 @@ public static unsafe partial class @clang
[DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_CompileCommand_getMappedSourceContent", ExactSpelling = true)]
public static extern CXString CompileCommand_getMappedSourceContent([NativeTypeName("CXCompileCommand")] void* param0, [NativeTypeName("unsigned int")] uint I);
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getNumDiagnosticsInSet", ExactSpelling = true)]
+ [return: NativeTypeName("unsigned int")]
+ public static extern uint getNumDiagnosticsInSet([NativeTypeName("CXDiagnosticSet")] void* Diags);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticInSet", ExactSpelling = true)]
+ [return: NativeTypeName("CXDiagnostic")]
+ public static extern void* getDiagnosticInSet([NativeTypeName("CXDiagnosticSet")] void* Diags, [NativeTypeName("unsigned int")] uint Index);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_loadDiagnostics", ExactSpelling = true)]
+ [return: NativeTypeName("CXDiagnosticSet")]
+ public static extern void* loadDiagnostics([NativeTypeName("const char *")] sbyte* file, [NativeTypeName("enum CXLoadDiag_Error *")] CXLoadDiag_Error* error, CXString* errorString);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_disposeDiagnosticSet", ExactSpelling = true)]
+ public static extern void disposeDiagnosticSet([NativeTypeName("CXDiagnosticSet")] void* Diags);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getChildDiagnostics", ExactSpelling = true)]
+ [return: NativeTypeName("CXDiagnosticSet")]
+ public static extern void* getChildDiagnostics([NativeTypeName("CXDiagnostic")] void* D);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_disposeDiagnostic", ExactSpelling = true)]
+ public static extern void disposeDiagnostic([NativeTypeName("CXDiagnostic")] void* Diagnostic);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_formatDiagnostic", ExactSpelling = true)]
+ public static extern CXString formatDiagnostic([NativeTypeName("CXDiagnostic")] void* Diagnostic, [NativeTypeName("unsigned int")] uint Options);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_defaultDiagnosticDisplayOptions", ExactSpelling = true)]
+ [return: NativeTypeName("unsigned int")]
+ public static extern uint defaultDiagnosticDisplayOptions();
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticSeverity", ExactSpelling = true)]
+ [return: NativeTypeName("enum CXDiagnosticSeverity")]
+ public static extern CXDiagnosticSeverity getDiagnosticSeverity([NativeTypeName("CXDiagnostic")] void* param0);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticLocation", ExactSpelling = true)]
+ public static extern CXSourceLocation getDiagnosticLocation([NativeTypeName("CXDiagnostic")] void* param0);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticSpelling", ExactSpelling = true)]
+ public static extern CXString getDiagnosticSpelling([NativeTypeName("CXDiagnostic")] void* param0);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticOption", ExactSpelling = true)]
+ public static extern CXString getDiagnosticOption([NativeTypeName("CXDiagnostic")] void* Diag, CXString* Disable);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticCategory", ExactSpelling = true)]
+ [return: NativeTypeName("unsigned int")]
+ public static extern uint getDiagnosticCategory([NativeTypeName("CXDiagnostic")] void* param0);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticCategoryName", ExactSpelling = true)]
+ [Obsolete]
+ public static extern CXString getDiagnosticCategoryName([NativeTypeName("unsigned int")] uint Category);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticCategoryText", ExactSpelling = true)]
+ public static extern CXString getDiagnosticCategoryText([NativeTypeName("CXDiagnostic")] void* param0);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticNumRanges", ExactSpelling = true)]
+ [return: NativeTypeName("unsigned int")]
+ public static extern uint getDiagnosticNumRanges([NativeTypeName("CXDiagnostic")] void* param0);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticRange", ExactSpelling = true)]
+ public static extern CXSourceRange getDiagnosticRange([NativeTypeName("CXDiagnostic")] void* Diagnostic, [NativeTypeName("unsigned int")] uint Range);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticNumFixIts", ExactSpelling = true)]
+ [return: NativeTypeName("unsigned int")]
+ public static extern uint getDiagnosticNumFixIts([NativeTypeName("CXDiagnostic")] void* Diagnostic);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticFixIt", ExactSpelling = true)]
+ public static extern CXString getDiagnosticFixIt([NativeTypeName("CXDiagnostic")] void* Diagnostic, [NativeTypeName("unsigned int")] uint FixIt, CXSourceRange* ReplacementRange);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getFileName", ExactSpelling = true)]
+ public static extern CXString getFileName([NativeTypeName("CXFile")] void* SFile);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getFileTime", ExactSpelling = true)]
+ [return: NativeTypeName("time_t")]
+ public static extern long getFileTime([NativeTypeName("CXFile")] void* SFile);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getFileUniqueID", ExactSpelling = true)]
+ public static extern int getFileUniqueID([NativeTypeName("CXFile")] void* file, CXFileUniqueID* outID);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_File_isEqual", ExactSpelling = true)]
+ public static extern int File_isEqual([NativeTypeName("CXFile")] void* file1, [NativeTypeName("CXFile")] void* file2);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_File_tryGetRealPathName", ExactSpelling = true)]
+ public static extern CXString File_tryGetRealPathName([NativeTypeName("CXFile")] void* file);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getNullLocation", ExactSpelling = true)]
+ public static extern CXSourceLocation getNullLocation();
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_equalLocations", ExactSpelling = true)]
+ [return: NativeTypeName("unsigned int")]
+ public static extern uint equalLocations(CXSourceLocation loc1, CXSourceLocation loc2);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_Location_isInSystemHeader", ExactSpelling = true)]
+ public static extern int Location_isInSystemHeader(CXSourceLocation location);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_Location_isFromMainFile", ExactSpelling = true)]
+ public static extern int Location_isFromMainFile(CXSourceLocation location);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getNullRange", ExactSpelling = true)]
+ public static extern CXSourceRange getNullRange();
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getRange", ExactSpelling = true)]
+ public static extern CXSourceRange getRange(CXSourceLocation begin, CXSourceLocation end);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_equalRanges", ExactSpelling = true)]
+ [return: NativeTypeName("unsigned int")]
+ public static extern uint equalRanges(CXSourceRange range1, CXSourceRange range2);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_Range_isNull", ExactSpelling = true)]
+ public static extern int Range_isNull(CXSourceRange range);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getExpansionLocation", ExactSpelling = true)]
+ public static extern void getExpansionLocation(CXSourceLocation location, [NativeTypeName("CXFile *")] void** file, [NativeTypeName("unsigned int *")] uint* line, [NativeTypeName("unsigned int *")] uint* column, [NativeTypeName("unsigned int *")] uint* offset);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getPresumedLocation", ExactSpelling = true)]
+ public static extern void getPresumedLocation(CXSourceLocation location, CXString* filename, [NativeTypeName("unsigned int *")] uint* line, [NativeTypeName("unsigned int *")] uint* column);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getInstantiationLocation", ExactSpelling = true)]
+ public static extern void getInstantiationLocation(CXSourceLocation location, [NativeTypeName("CXFile *")] void** file, [NativeTypeName("unsigned int *")] uint* line, [NativeTypeName("unsigned int *")] uint* column, [NativeTypeName("unsigned int *")] uint* offset);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getSpellingLocation", ExactSpelling = true)]
+ public static extern void getSpellingLocation(CXSourceLocation location, [NativeTypeName("CXFile *")] void** file, [NativeTypeName("unsigned int *")] uint* line, [NativeTypeName("unsigned int *")] uint* column, [NativeTypeName("unsigned int *")] uint* offset);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getFileLocation", ExactSpelling = true)]
+ public static extern void getFileLocation(CXSourceLocation location, [NativeTypeName("CXFile *")] void** file, [NativeTypeName("unsigned int *")] uint* line, [NativeTypeName("unsigned int *")] uint* column, [NativeTypeName("unsigned int *")] uint* offset);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getRangeStart", ExactSpelling = true)]
+ public static extern CXSourceLocation getRangeStart(CXSourceRange range);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getRangeEnd", ExactSpelling = true)]
+ public static extern CXSourceLocation getRangeEnd(CXSourceRange range);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_disposeSourceRangeList", ExactSpelling = true)]
+ public static extern void disposeSourceRangeList(CXSourceRangeList* ranges);
+
[DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getCString", ExactSpelling = true)]
[return: NativeTypeName("const char *")]
public static extern sbyte* getCString(CXString @string);
@@ -232,6 +365,19 @@ public static unsafe partial class @clang
[DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_FullComment_getAsXML", ExactSpelling = true)]
public static extern CXString FullComment_getAsXML(CXComment Comment);
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_createAPISet", ExactSpelling = true)]
+ [return: NativeTypeName("enum CXErrorCode")]
+ public static extern CXErrorCode createAPISet([NativeTypeName("CXTranslationUnit")] CXTranslationUnitImpl* tu, [NativeTypeName("CXAPISet *")] CXAPISetImpl** out_api);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_disposeAPISet", ExactSpelling = true)]
+ public static extern void disposeAPISet([NativeTypeName("CXAPISet")] CXAPISetImpl* api);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getSymbolGraphForUSR", ExactSpelling = true)]
+ public static extern CXString getSymbolGraphForUSR([NativeTypeName("const char *")] sbyte* usr, [NativeTypeName("CXAPISet")] CXAPISetImpl* api);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getSymbolGraphForCursor", ExactSpelling = true)]
+ public static extern CXString getSymbolGraphForCursor(CXCursor cursor);
+
[DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_install_aborting_llvm_fatal_error_handler", ExactSpelling = true)]
public static extern void install_aborting_llvm_fatal_error_handler();
@@ -255,16 +401,6 @@ public static unsafe partial class @clang
[DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_CXIndex_setInvocationEmissionPathOption", ExactSpelling = true)]
public static extern void CXIndex_setInvocationEmissionPathOption([NativeTypeName("CXIndex")] void* param0, [NativeTypeName("const char *")] sbyte* Path);
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getFileName", ExactSpelling = true)]
- public static extern CXString getFileName([NativeTypeName("CXFile")] void* SFile);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getFileTime", ExactSpelling = true)]
- [return: NativeTypeName("time_t")]
- public static extern long getFileTime([NativeTypeName("CXFile")] void* SFile);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getFileUniqueID", ExactSpelling = true)]
- public static extern int getFileUniqueID([NativeTypeName("CXFile")] void* file, CXFileUniqueID* outID);
-
[DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_isFileMultipleIncludeGuarded", ExactSpelling = true)]
[return: NativeTypeName("unsigned int")]
public static extern uint isFileMultipleIncludeGuarded([NativeTypeName("CXTranslationUnit")] CXTranslationUnitImpl* tu, [NativeTypeName("CXFile")] void* file);
@@ -277,93 +413,18 @@ public static unsafe partial class @clang
[return: NativeTypeName("const char *")]
public static extern sbyte* getFileContents([NativeTypeName("CXTranslationUnit")] CXTranslationUnitImpl* tu, [NativeTypeName("CXFile")] void* file, [NativeTypeName("size_t *")] nuint* size);
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_File_isEqual", ExactSpelling = true)]
- public static extern int File_isEqual([NativeTypeName("CXFile")] void* file1, [NativeTypeName("CXFile")] void* file2);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_File_tryGetRealPathName", ExactSpelling = true)]
- public static extern CXString File_tryGetRealPathName([NativeTypeName("CXFile")] void* file);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getNullLocation", ExactSpelling = true)]
- public static extern CXSourceLocation getNullLocation();
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_equalLocations", ExactSpelling = true)]
- [return: NativeTypeName("unsigned int")]
- public static extern uint equalLocations(CXSourceLocation loc1, CXSourceLocation loc2);
-
[DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getLocation", ExactSpelling = true)]
public static extern CXSourceLocation getLocation([NativeTypeName("CXTranslationUnit")] CXTranslationUnitImpl* tu, [NativeTypeName("CXFile")] void* file, [NativeTypeName("unsigned int")] uint line, [NativeTypeName("unsigned int")] uint column);
[DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getLocationForOffset", ExactSpelling = true)]
public static extern CXSourceLocation getLocationForOffset([NativeTypeName("CXTranslationUnit")] CXTranslationUnitImpl* tu, [NativeTypeName("CXFile")] void* file, [NativeTypeName("unsigned int")] uint offset);
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_Location_isInSystemHeader", ExactSpelling = true)]
- public static extern int Location_isInSystemHeader(CXSourceLocation location);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_Location_isFromMainFile", ExactSpelling = true)]
- public static extern int Location_isFromMainFile(CXSourceLocation location);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getNullRange", ExactSpelling = true)]
- public static extern CXSourceRange getNullRange();
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getRange", ExactSpelling = true)]
- public static extern CXSourceRange getRange(CXSourceLocation begin, CXSourceLocation end);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_equalRanges", ExactSpelling = true)]
- [return: NativeTypeName("unsigned int")]
- public static extern uint equalRanges(CXSourceRange range1, CXSourceRange range2);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_Range_isNull", ExactSpelling = true)]
- public static extern int Range_isNull(CXSourceRange range);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getExpansionLocation", ExactSpelling = true)]
- public static extern void getExpansionLocation(CXSourceLocation location, [NativeTypeName("CXFile *")] void** file, [NativeTypeName("unsigned int *")] uint* line, [NativeTypeName("unsigned int *")] uint* column, [NativeTypeName("unsigned int *")] uint* offset);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getPresumedLocation", ExactSpelling = true)]
- public static extern void getPresumedLocation(CXSourceLocation location, CXString* filename, [NativeTypeName("unsigned int *")] uint* line, [NativeTypeName("unsigned int *")] uint* column);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getInstantiationLocation", ExactSpelling = true)]
- public static extern void getInstantiationLocation(CXSourceLocation location, [NativeTypeName("CXFile *")] void** file, [NativeTypeName("unsigned int *")] uint* line, [NativeTypeName("unsigned int *")] uint* column, [NativeTypeName("unsigned int *")] uint* offset);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getSpellingLocation", ExactSpelling = true)]
- public static extern void getSpellingLocation(CXSourceLocation location, [NativeTypeName("CXFile *")] void** file, [NativeTypeName("unsigned int *")] uint* line, [NativeTypeName("unsigned int *")] uint* column, [NativeTypeName("unsigned int *")] uint* offset);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getFileLocation", ExactSpelling = true)]
- public static extern void getFileLocation(CXSourceLocation location, [NativeTypeName("CXFile *")] void** file, [NativeTypeName("unsigned int *")] uint* line, [NativeTypeName("unsigned int *")] uint* column, [NativeTypeName("unsigned int *")] uint* offset);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getRangeStart", ExactSpelling = true)]
- public static extern CXSourceLocation getRangeStart(CXSourceRange range);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getRangeEnd", ExactSpelling = true)]
- public static extern CXSourceLocation getRangeEnd(CXSourceRange range);
-
[DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getSkippedRanges", ExactSpelling = true)]
public static extern CXSourceRangeList* getSkippedRanges([NativeTypeName("CXTranslationUnit")] CXTranslationUnitImpl* tu, [NativeTypeName("CXFile")] void* file);
[DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getAllSkippedRanges", ExactSpelling = true)]
public static extern CXSourceRangeList* getAllSkippedRanges([NativeTypeName("CXTranslationUnit")] CXTranslationUnitImpl* tu);
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_disposeSourceRangeList", ExactSpelling = true)]
- public static extern void disposeSourceRangeList(CXSourceRangeList* ranges);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getNumDiagnosticsInSet", ExactSpelling = true)]
- [return: NativeTypeName("unsigned int")]
- public static extern uint getNumDiagnosticsInSet([NativeTypeName("CXDiagnosticSet")] void* Diags);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticInSet", ExactSpelling = true)]
- [return: NativeTypeName("CXDiagnostic")]
- public static extern void* getDiagnosticInSet([NativeTypeName("CXDiagnosticSet")] void* Diags, [NativeTypeName("unsigned int")] uint Index);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_loadDiagnostics", ExactSpelling = true)]
- [return: NativeTypeName("CXDiagnosticSet")]
- public static extern void* loadDiagnostics([NativeTypeName("const char *")] sbyte* file, [NativeTypeName("enum CXLoadDiag_Error *")] CXLoadDiag_Error* error, CXString* errorString);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_disposeDiagnosticSet", ExactSpelling = true)]
- public static extern void disposeDiagnosticSet([NativeTypeName("CXDiagnosticSet")] void* Diags);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getChildDiagnostics", ExactSpelling = true)]
- [return: NativeTypeName("CXDiagnosticSet")]
- public static extern void* getChildDiagnostics([NativeTypeName("CXDiagnostic")] void* D);
-
[DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getNumDiagnostics", ExactSpelling = true)]
[return: NativeTypeName("unsigned int")]
public static extern uint getNumDiagnostics([NativeTypeName("CXTranslationUnit")] CXTranslationUnitImpl* Unit);
@@ -376,54 +437,6 @@ public static unsafe partial class @clang
[return: NativeTypeName("CXDiagnosticSet")]
public static extern void* getDiagnosticSetFromTU([NativeTypeName("CXTranslationUnit")] CXTranslationUnitImpl* Unit);
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_disposeDiagnostic", ExactSpelling = true)]
- public static extern void disposeDiagnostic([NativeTypeName("CXDiagnostic")] void* Diagnostic);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_formatDiagnostic", ExactSpelling = true)]
- public static extern CXString formatDiagnostic([NativeTypeName("CXDiagnostic")] void* Diagnostic, [NativeTypeName("unsigned int")] uint Options);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_defaultDiagnosticDisplayOptions", ExactSpelling = true)]
- [return: NativeTypeName("unsigned int")]
- public static extern uint defaultDiagnosticDisplayOptions();
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticSeverity", ExactSpelling = true)]
- [return: NativeTypeName("enum CXDiagnosticSeverity")]
- public static extern CXDiagnosticSeverity getDiagnosticSeverity([NativeTypeName("CXDiagnostic")] void* param0);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticLocation", ExactSpelling = true)]
- public static extern CXSourceLocation getDiagnosticLocation([NativeTypeName("CXDiagnostic")] void* param0);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticSpelling", ExactSpelling = true)]
- public static extern CXString getDiagnosticSpelling([NativeTypeName("CXDiagnostic")] void* param0);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticOption", ExactSpelling = true)]
- public static extern CXString getDiagnosticOption([NativeTypeName("CXDiagnostic")] void* Diag, CXString* Disable);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticCategory", ExactSpelling = true)]
- [return: NativeTypeName("unsigned int")]
- public static extern uint getDiagnosticCategory([NativeTypeName("CXDiagnostic")] void* param0);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticCategoryName", ExactSpelling = true)]
- [Obsolete]
- public static extern CXString getDiagnosticCategoryName([NativeTypeName("unsigned int")] uint Category);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticCategoryText", ExactSpelling = true)]
- public static extern CXString getDiagnosticCategoryText([NativeTypeName("CXDiagnostic")] void* param0);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticNumRanges", ExactSpelling = true)]
- [return: NativeTypeName("unsigned int")]
- public static extern uint getDiagnosticNumRanges([NativeTypeName("CXDiagnostic")] void* param0);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticRange", ExactSpelling = true)]
- public static extern CXSourceRange getDiagnosticRange([NativeTypeName("CXDiagnostic")] void* Diagnostic, [NativeTypeName("unsigned int")] uint Range);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticNumFixIts", ExactSpelling = true)]
- [return: NativeTypeName("unsigned int")]
- public static extern uint getDiagnosticNumFixIts([NativeTypeName("CXDiagnostic")] void* Diagnostic);
-
- [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getDiagnosticFixIt", ExactSpelling = true)]
- public static extern CXString getDiagnosticFixIt([NativeTypeName("CXDiagnostic")] void* Diagnostic, [NativeTypeName("unsigned int")] uint FixIt, CXSourceRange* ReplacementRange);
-
[DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getTranslationUnitSpelling", ExactSpelling = true)]
public static extern CXString getTranslationUnitSpelling([NativeTypeName("CXTranslationUnit")] CXTranslationUnitImpl* CTUnit);
@@ -731,6 +744,12 @@ public static unsafe partial class @clang
[DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getPointeeType", ExactSpelling = true)]
public static extern CXType getPointeeType(CXType T);
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getUnqualifiedType", ExactSpelling = true)]
+ public static extern CXType getUnqualifiedType(CXType CT);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getNonReferenceType", ExactSpelling = true)]
+ public static extern CXType getNonReferenceType(CXType CT);
+
[DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_getTypeDeclaration", ExactSpelling = true)]
public static extern CXCursor getTypeDeclaration(CXType T);
@@ -1062,6 +1081,10 @@ public static unsafe partial class @clang
[return: NativeTypeName("unsigned int")]
public static extern uint CXXMethod_isDefaulted(CXCursor C);
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_CXXMethod_isDeleted", ExactSpelling = true)]
+ [return: NativeTypeName("unsigned int")]
+ public static extern uint CXXMethod_isDeleted(CXCursor C);
+
[DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_CXXMethod_isPureVirtual", ExactSpelling = true)]
[return: NativeTypeName("unsigned int")]
public static extern uint CXXMethod_isPureVirtual(CXCursor C);
@@ -1074,6 +1097,14 @@ public static unsafe partial class @clang
[return: NativeTypeName("unsigned int")]
public static extern uint CXXMethod_isVirtual(CXCursor C);
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_CXXMethod_isCopyAssignmentOperator", ExactSpelling = true)]
+ [return: NativeTypeName("unsigned int")]
+ public static extern uint CXXMethod_isCopyAssignmentOperator(CXCursor C);
+
+ [DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_CXXMethod_isMoveAssignmentOperator", ExactSpelling = true)]
+ [return: NativeTypeName("unsigned int")]
+ public static extern uint CXXMethod_isMoveAssignmentOperator(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);
@@ -1353,14 +1384,14 @@ public static unsafe partial class @clang
[NativeTypeName("#define CINDEX_VERSION_MAJOR 0")]
public const int CINDEX_VERSION_MAJOR = 0;
- [NativeTypeName("#define CINDEX_VERSION_MINOR 62")]
- public const int CINDEX_VERSION_MINOR = 62;
+ [NativeTypeName("#define CINDEX_VERSION_MINOR 63")]
+ public const int CINDEX_VERSION_MINOR = 63;
[NativeTypeName("#define CINDEX_VERSION CINDEX_VERSION_ENCODE(CINDEX_VERSION_MAJOR, CINDEX_VERSION_MINOR)")]
- public const int CINDEX_VERSION = (((0) * 10000) + ((62) * 1));
+ public const int CINDEX_VERSION = (((0) * 10000) + ((63) * 1));
[NativeTypeName("#define CINDEX_VERSION_STRING CINDEX_VERSION_STRINGIZE(CINDEX_VERSION_MAJOR, CINDEX_VERSION_MINOR)")]
- public static ReadOnlySpan CINDEX_VERSION_STRING => "0.62"u8;
+ public static ReadOnlySpan CINDEX_VERSION_STRING => "0.63"u8;
[DllImport("libclang", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clang_CXRewriter_create", ExactSpelling = true)]
[return: NativeTypeName("CXRewriter")]
diff --git a/sources/ClangSharp.Interop/clangsharp/CX_AttrKind.cs b/sources/ClangSharp.Interop/clangsharp/CX_AttrKind.cs
index ebbee323..aec24116 100644
--- a/sources/ClangSharp.Interop/clangsharp/CX_AttrKind.cs
+++ b/sources/ClangSharp.Interop/clangsharp/CX_AttrKind.cs
@@ -11,6 +11,7 @@ public enum CX_AttrKind
CX_AttrKind_ArmMveStrictPolymorphism,
CX_AttrKind_BTFTypeTag,
CX_AttrKind_CmseNSCall,
+ CX_AttrKind_HLSLGroupSharedAddressSpace,
CX_AttrKind_NoDeref,
CX_AttrKind_ObjCGC,
CX_AttrKind_ObjCInertUnsafeUnretained,
@@ -75,6 +76,8 @@ public enum CX_AttrKind
CX_AttrKind_PassObjectSize,
CX_AttrKind_ReleaseHandle,
CX_AttrKind_UseHandle,
+ CX_AttrKind_HLSLSV_DispatchThreadID,
+ CX_AttrKind_HLSLSV_GroupIndex,
CX_AttrKind_AMDGPUFlatWorkGroupSize,
CX_AttrKind_AMDGPUNumSGPR,
CX_AttrKind_AMDGPUNumVGPR,
@@ -174,7 +177,8 @@ public enum CX_AttrKind
CX_AttrKind_GuardedVar,
CX_AttrKind_HIPManaged,
CX_AttrKind_HLSLNumThreads,
- CX_AttrKind_HLSLSV_GroupIndex,
+ CX_AttrKind_HLSLResource,
+ CX_AttrKind_HLSLResourceBinding,
CX_AttrKind_HLSLShader,
CX_AttrKind_Hot,
CX_AttrKind_IBAction,
@@ -197,6 +201,7 @@ public enum CX_AttrKind
CX_AttrKind_MSVtorDisp,
CX_AttrKind_MaxFieldAlignment,
CX_AttrKind_MayAlias,
+ CX_AttrKind_MaybeUndef,
CX_AttrKind_MicroMips,
CX_AttrKind_MinSize,
CX_AttrKind_MinVectorWidth,
@@ -227,6 +232,7 @@ public enum CX_AttrKind
CX_AttrKind_NoThreadSafetyAnalysis,
CX_AttrKind_NoThrow,
CX_AttrKind_NoUniqueAddress,
+ CX_AttrKind_NoUwtable,
CX_AttrKind_NotTailCalled,
CX_AttrKind_OMPAllocateDecl,
CX_AttrKind_OMPCaptureNoInit,
@@ -274,6 +280,7 @@ public enum CX_AttrKind
CX_AttrKind_Pure,
CX_AttrKind_RISCVInterrupt,
CX_AttrKind_RandomizeLayout,
+ CX_AttrKind_ReadOnlyPlacement,
CX_AttrKind_Reinitializes,
CX_AttrKind_ReleaseCapability,
CX_AttrKind_ReqdWorkGroupSize,
@@ -294,6 +301,7 @@ public enum CX_AttrKind
CX_AttrKind_SpeculativeLoadHardening,
CX_AttrKind_StandaloneDebug,
CX_AttrKind_StrictFP,
+ CX_AttrKind_StrictGuardStackCheck,
CX_AttrKind_SwiftAsync,
CX_AttrKind_SwiftAsyncError,
CX_AttrKind_SwiftAsyncName,
@@ -307,6 +315,7 @@ public enum CX_AttrKind
CX_AttrKind_TLSModel,
CX_AttrKind_Target,
CX_AttrKind_TargetClones,
+ CX_AttrKind_TargetVersion,
CX_AttrKind_TestTypestate,
CX_AttrKind_TransparentUnion,
CX_AttrKind_TrivialABI,
@@ -380,4 +389,6 @@ public enum CX_AttrKind
CX_AttrKind_LastInheritableParamAttr = CX_AttrKind_UseHandle,
CX_AttrKind_FirstParameterABIAttr = CX_AttrKind_SwiftAsyncContext,
CX_AttrKind_LastParameterABIAttr = CX_AttrKind_SwiftIndirectResult,
+ CX_AttrKind_FirstHLSLAnnotationAttr = CX_AttrKind_HLSLSV_DispatchThreadID,
+ CX_AttrKind_LastHLSLAnnotationAttr = CX_AttrKind_HLSLSV_GroupIndex,
}
diff --git a/sources/ClangSharp.Interop/clangsharp/CX_DeclKind.cs b/sources/ClangSharp.Interop/clangsharp/CX_DeclKind.cs
index 72ea6229..d92da9d7 100644
--- a/sources/ClangSharp.Interop/clangsharp/CX_DeclKind.cs
+++ b/sources/ClangSharp.Interop/clangsharp/CX_DeclKind.cs
@@ -16,6 +16,7 @@ public enum CX_DeclKind
CX_DeclKind_FileScopeAsm,
CX_DeclKind_Friend,
CX_DeclKind_FriendTemplate,
+ CX_DeclKind_ImplicitConceptSpecialization,
CX_DeclKind_Import,
CX_DeclKind_LifetimeExtendedTemporary,
CX_DeclKind_LinkageSpec,
@@ -23,6 +24,7 @@ public enum CX_DeclKind
CX_DeclKind_UsingEnum,
CX_DeclKind_FirstBaseUsing = CX_DeclKind_Using,
CX_DeclKind_LastBaseUsing = CX_DeclKind_UsingEnum,
+ CX_DeclKind_HLSLBuffer,
CX_DeclKind_Label,
CX_DeclKind_Namespace,
CX_DeclKind_NamespaceAlias,
@@ -129,6 +131,7 @@ public enum CX_DeclKind
CX_DeclKind_PragmaDetectMismatch,
CX_DeclKind_RequiresExprBody,
CX_DeclKind_StaticAssert,
+ CX_DeclKind_TopLevelStmt,
CX_DeclKind_TranslationUnit,
CX_DeclKind_FirstDecl = CX_DeclKind_AccessSpec,
CX_DeclKind_LastDecl = CX_DeclKind_TranslationUnit,
diff --git a/sources/ClangSharp.Interop/clangsharp/CX_StmtClass.cs b/sources/ClangSharp.Interop/clangsharp/CX_StmtClass.cs
index b33741c2..31294d5a 100644
--- a/sources/ClangSharp.Interop/clangsharp/CX_StmtClass.cs
+++ b/sources/ClangSharp.Interop/clangsharp/CX_StmtClass.cs
@@ -35,6 +35,7 @@ public enum CX_StmtClass
CX_StmtClass_OMPCriticalDirective,
CX_StmtClass_OMPDepobjDirective,
CX_StmtClass_OMPDispatchDirective,
+ CX_StmtClass_OMPErrorDirective,
CX_StmtClass_OMPFlushDirective,
CX_StmtClass_OMPInteropDirective,
CX_StmtClass_OMPDistributeDirective,
@@ -155,6 +156,7 @@ public enum CX_StmtClass
CX_StmtClass_CXXNewExpr,
CX_StmtClass_CXXNoexceptExpr,
CX_StmtClass_CXXNullPtrLiteralExpr,
+ CX_StmtClass_CXXParenListInitExpr,
CX_StmtClass_CXXPseudoDestructorExpr,
CX_StmtClass_CXXRewrittenBinaryOperator,
CX_StmtClass_CXXScalarValueInitExpr,
diff --git a/sources/ClangSharp.Interop/clangsharp/clangsharp.cs b/sources/ClangSharp.Interop/clangsharp/clangsharp.cs
index 22ac9cf9..50cbdaec 100644
--- a/sources/ClangSharp.Interop/clangsharp/clangsharp.cs
+++ b/sources/ClangSharp.Interop/clangsharp/clangsharp.cs
@@ -399,6 +399,10 @@ public static partial class @clangsharp
[return: NativeTypeName("unsigned int")]
public static extern uint Cursor_getIsArrow(CXCursor C);
+ [DllImport("libClangSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clangsharp_Cursor_getIsCBuffer", ExactSpelling = true)]
+ [return: NativeTypeName("unsigned int")]
+ public static extern uint Cursor_getIsCBuffer(CXCursor C);
+
[DllImport("libClangSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clangsharp_Cursor_getIsClassExtension", ExactSpelling = true)]
[return: NativeTypeName("unsigned int")]
public static extern uint Cursor_getIsClassExtension(CXCursor C);
@@ -698,6 +702,9 @@ public static partial class @clangsharp
[DllImport("libClangSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clangsharp_Cursor_getNumExprs", ExactSpelling = true)]
public static extern int Cursor_getNumExprs(CXCursor C);
+ [DllImport("libClangSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clangsharp_Cursor_getNumExprsOther", ExactSpelling = true)]
+ public static extern int Cursor_getNumExprsOther(CXCursor C);
+
[DllImport("libClangSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clangsharp_Cursor_getNumFields", ExactSpelling = true)]
public static extern int Cursor_getNumFields(CXCursor C);
@@ -778,6 +785,9 @@ public static partial class @clangsharp
[DllImport("libClangSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clangsharp_Cursor_getSourceRange", ExactSpelling = true)]
public static extern CXSourceRange Cursor_getSourceRange(CXCursor C);
+ [DllImport("libClangSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clangsharp_Cursor_getSourceRangeRaw", ExactSpelling = true)]
+ public static extern CXSourceRange Cursor_getSourceRangeRaw(CXCursor C);
+
[DllImport("libClangSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clangsharp_Cursor_getSpecialization", ExactSpelling = true)]
public static extern CXCursor Cursor_getSpecialization(CXCursor C, [NativeTypeName("unsigned int")] uint i);
@@ -943,6 +953,9 @@ public static partial class @clangsharp
[DllImport("libClangSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clangsharp_TemplateArgumentLoc_getSourceRange", ExactSpelling = true)]
public static extern CXSourceRange TemplateArgumentLoc_getSourceRange(CX_TemplateArgumentLoc T);
+ [DllImport("libClangSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clangsharp_TemplateArgumentLoc_getSourceRangeRaw", ExactSpelling = true)]
+ public static extern CXSourceRange TemplateArgumentLoc_getSourceRangeRaw(CX_TemplateArgumentLoc T);
+
[DllImport("libClangSharp", CallingConvention = CallingConvention.Cdecl, EntryPoint = "clangsharp_TemplateName_getAsTemplateDecl", ExactSpelling = true)]
public static extern CXCursor TemplateName_getAsTemplateDecl(CX_TemplateName T);
diff --git a/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.VisitDecl.cs b/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.VisitDecl.cs
index 4c710ae2..6f904350 100644
--- a/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.VisitDecl.cs
+++ b/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.VisitDecl.cs
@@ -3165,7 +3165,7 @@ void ForUnderlyingType(TypedefDecl typedefDecl, Type underlyingType, bool onlyHa
var tagDecl = tagType.AsTagDecl;
Debug.Assert(tagDecl is not null);
- var underlyingName = GetCursorName(tagDecl);
+ var underlyingName = GetCursorQualifiedName(tagDecl);
var typedefName = GetCursorName(typedefDecl);
if (underlyingName != typedefName)
diff --git a/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.VisitStmt.cs b/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.VisitStmt.cs
index da406fe8..86c374e3 100644
--- a/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.VisitStmt.cs
+++ b/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.VisitStmt.cs
@@ -349,7 +349,7 @@ private void VisitCharacterLiteral(CharacterLiteral characterLiteral)
if (IsPrevContextStmt(out var implicitCastExpr, out _))
{
- // C# characters are effectively `ushort` while C defaults to "char" which is
+ // C# characters are effectively `ushort` while C defaults to "char" which is
// most typically `sbyte`. Due to this we need to insert a correct implicit
// cast to ensure things are correctly handled here.
diff --git a/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.cs b/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.cs
index 2235721e..4946853a 100644
--- a/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.cs
+++ b/sources/ClangSharp.PInvokeGenerator/PInvokeGenerator.cs
@@ -34,8 +34,8 @@ public sealed partial class PInvokeGenerator : IDisposable
private static readonly Encoding s_defaultStreamWriterEncoding = new UTF8Encoding(encoderShouldEmitUTF8Identifier: false, throwOnInvalidBytes: true);
private static readonly Regex s_needsSystemSupportRegex = new Regex(@"\b(?:Guid|IntPtr|UIntPtr)\b", RegexOptions.Compiled);
- private const string ExpectedClangVersion = "version 15.0";
- private const string ExpectedClangSharpVersion = "version 15.0";
+ private const string ExpectedClangVersion = "version 16.0";
+ private const string ExpectedClangSharpVersion = "version 16.0";
private readonly CXIndex _index;
private readonly OutputBuilderFactory _outputBuilderFactory;
@@ -1498,9 +1498,40 @@ public void GenerateBindings(TranslationUnit translationUnit, string filePath, s
var name = kvp.Key;
var remappings = kvp.Value;
- if (!_config.RemappedNames.TryGetValue(name, out var remappedName))
+ if (!_config.RemappedNames.TryGetValue(name, out _))
{
- AddDiagnostic(DiagnosticLevel.Info, $"Potential missing remapping '{name}'. {GetFoundRemappingString(name, remappings)}");
+ var addDiag = false;
+
+ var altName = name;
+ var smlName = name;
+
+ if (name.Contains("::"))
+ {
+ altName = name.Replace("::", ".");
+ smlName = altName.Split('.')[^1];
+ }
+ else if (name.Contains('.'))
+ {
+ altName = name.Replace(".", "::");
+ smlName = altName.Split("::")[^1];
+ }
+ else
+ {
+ addDiag = true;
+ }
+
+ if (!addDiag && !_config.RemappedNames.TryGetValue(altName, out _))
+ {
+ if (!_config.RemappedNames.TryGetValue(smlName, out _))
+ {
+ addDiag = true;
+ }
+ }
+
+ if (addDiag && !remappings.Contains(altName) && !remappings.Contains(smlName))
+ {
+ AddDiagnostic(DiagnosticLevel.Info, $"Potential missing remapping '{name}'. {GetFoundRemappingString(name, remappings)}");
+ }
}
}
@@ -1511,7 +1542,38 @@ public void GenerateBindings(TranslationUnit translationUnit, string filePath, s
if (_config.RemappedNames.TryGetValue(name, out var remappedName) && !remappings.Contains(remappedName) && (name != remappedName) && !_config.ForceRemappedNames.Contains(name))
{
- AddDiagnostic(DiagnosticLevel.Info, $"Potential invalid remapping '{name}={remappedName}'. {GetFoundRemappingString(name, remappings)}");
+ var addDiag = false;
+
+ var altName = name;
+ var smlName = name;
+
+ if (name.Contains("::"))
+ {
+ altName = name.Replace("::", ".");
+ smlName = altName.Split('.')[^1];
+ }
+ else if (name.Contains('.'))
+ {
+ altName = name.Replace(".", "::");
+ smlName = altName.Split("::")[^1];
+ }
+ else
+ {
+ addDiag = true;
+ }
+
+ if (!addDiag && _config.RemappedNames.TryGetValue(altName, out remappedName) && !remappings.Contains(remappedName) && (altName != remappedName) && !_config.ForceRemappedNames.Contains(altName))
+ {
+ if (_config.RemappedNames.TryGetValue(smlName, out remappedName) && !remappings.Contains(remappedName) && (smlName != remappedName) && !_config.ForceRemappedNames.Contains(smlName))
+ {
+ addDiag = true;
+ }
+ }
+
+ if (addDiag)
+ {
+ AddDiagnostic(DiagnosticLevel.Info, $"Potential invalid remapping '{name}={remappedName}'. {GetFoundRemappingString(name, remappings)}");
+ }
}
}
@@ -1521,7 +1583,38 @@ public void GenerateBindings(TranslationUnit translationUnit, string filePath, s
if (!_allValidNameRemappings.ContainsKey(name) && (name != remappedName) && !_config.ForceRemappedNames.Contains(name))
{
- AddDiagnostic(DiagnosticLevel.Info, $"Potential invalid remapping '{name}={remappedName}'. No remappings were found.");
+ var addDiag = false;
+
+ var altName = name;
+ var smlName = name;
+
+ if (name.Contains("::"))
+ {
+ altName = name.Replace("::", ".");
+ smlName = altName.Split('.')[^1];
+ }
+ else if (name.Contains('.'))
+ {
+ altName = name.Replace(".", "::");
+ smlName = altName.Split("::")[^1];
+ }
+ else
+ {
+ addDiag = true;
+ }
+
+ if (!addDiag && !_allValidNameRemappings.ContainsKey(altName) && (altName != remappedName) && !_config.ForceRemappedNames.Contains(altName))
+ {
+ if (!_allValidNameRemappings.ContainsKey(smlName) && (smlName != remappedName) && !_config.ForceRemappedNames.Contains(smlName))
+ {
+ addDiag = true;
+ }
+ }
+
+ if (addDiag)
+ {
+ AddDiagnostic(DiagnosticLevel.Info, $"Potential invalid remapping '{name}={remappedName}'. No remappings were found.");
+ }
}
}
@@ -2416,8 +2509,21 @@ private string GetCursorName(NamedDecl namedDecl)
{
name = "Dispose";
}
- else if (string.IsNullOrWhiteSpace(name))
+ else if (string.IsNullOrWhiteSpace(name) || name.StartsWith('('))
{
+#if DEBUG
+ if (name.StartsWith('('))
+ {
+ Debug.Assert(name.StartsWith("(anonymous enum at ") ||
+ name.StartsWith("(anonymous struct at ") ||
+ name.StartsWith("(anonymous union at ") ||
+ name.StartsWith("(unnamed enum at ") ||
+ name.StartsWith("(unnamed struct at ") ||
+ name.StartsWith("(unnamed union at "));
+ Debug.Assert(name.EndsWith(')'));
+ }
+#endif
+
if (namedDecl is TypeDecl typeDecl)
{
name = (typeDecl is TagDecl tagDecl) && tagDecl.Handle.IsAnonymous
@@ -2707,9 +2813,9 @@ private string GetRemappedCursorName(NamedDecl namedDecl)
private string GetRemappedCursorName(NamedDecl namedDecl, out string nativeTypeName, bool skipUsing)
{
- nativeTypeName = GetCursorName(namedDecl);
+ nativeTypeName = GetCursorQualifiedName(namedDecl);
- var name = GetCursorQualifiedName(namedDecl);
+ var name = nativeTypeName;
var remappedName = GetRemappedName(name, namedDecl, tryRemapOperatorName: true, out var wasRemapped, skipUsing);
if (wasRemapped)
@@ -2742,7 +2848,7 @@ private string GetRemappedCursorName(NamedDecl namedDecl, out string nativeTypeN
return remappedName;
}
- name = nativeTypeName;
+ name = GetCursorName(namedDecl);
remappedName = GetRemappedName(name, namedDecl, tryRemapOperatorName: true, out wasRemapped, skipUsing);
if (wasRemapped)
@@ -3264,11 +3370,20 @@ private string GetTypeName(Cursor? cursor, Cursor? context, Type rootType, Type
}
else if (type is ElaboratedType elaboratedType)
{
- result.typeName = GetTypeName(cursor, context, rootType, elaboratedType.NamedType, ignoreTransparentStructsWhereRequired, out _);
+ result.typeName = GetTypeName(cursor, context, rootType, elaboratedType.NamedType, ignoreTransparentStructsWhereRequired, out var nativeNamedTypeName);
+
+ if (!string.IsNullOrWhiteSpace(nativeNamedTypeName) &&
+ !result.nativeTypeName.StartsWith("const ") &&
+ !result.nativeTypeName.StartsWith("enum ") &&
+ !result.nativeTypeName.StartsWith("struct ") &&
+ !result.nativeTypeName.StartsWith("union "))
+ {
+ result.nativeTypeName = nativeNamedTypeName;
+ }
}
else if (type is FunctionType functionType)
{
- result.typeName = GetTypeNameForPointeeType(cursor, context, rootType, functionType, ignoreTransparentStructsWhereRequired, out _);
+ result.typeName = GetTypeNameForPointeeType(cursor, context, rootType, functionType, ignoreTransparentStructsWhereRequired, out _, out _);
}
else if (type is InjectedClassNameType injectedClassNameType)
{
@@ -3280,11 +3395,21 @@ private string GetTypeName(Cursor? cursor, Cursor? context, Type rootType, Type
}
else if (type is PointerType pointerType)
{
- result.typeName = GetTypeNameForPointeeType(cursor, context, rootType, pointerType.PointeeType, ignoreTransparentStructsWhereRequired, out _);
+ result.typeName = GetTypeNameForPointeeType(cursor, context, rootType, pointerType.PointeeType, ignoreTransparentStructsWhereRequired, out var nativePointeeTypeName, out var isAdjusted);
+
+ if (isAdjusted)
+ {
+ result.nativeTypeName = $"{nativePointeeTypeName} *";
+ }
}
else if (type is ReferenceType referenceType)
{
- result.typeName = GetTypeNameForPointeeType(cursor, context, rootType, referenceType.PointeeType, ignoreTransparentStructsWhereRequired, out _);
+ result.typeName = GetTypeNameForPointeeType(cursor, context, rootType, referenceType.PointeeType, ignoreTransparentStructsWhereRequired, out var nativePointeeTypeName, out var isAdjusted);
+
+ if (isAdjusted)
+ {
+ result.nativeTypeName = $"{nativePointeeTypeName} &";
+ }
}
else if (type is SubstTemplateTypeParmType substTemplateTypeParmType)
{
@@ -3464,21 +3589,33 @@ private string GetTypeName(Cursor? cursor, Cursor? context, Type rootType, Type
return result.typeName;
}
- private string GetTypeNameForPointeeType(Cursor? cursor, Cursor? context, Type rootType, Type pointeeType, bool ignoreTransparentStructsWhereRequired, out string nativePointeeTypeName)
+ private string GetTypeNameForPointeeType(Cursor? cursor, Cursor? context, Type rootType, Type pointeeType, bool ignoreTransparentStructsWhereRequired, out string nativePointeeTypeName, out bool isAdjusted)
{
var name = pointeeType.AsString;
+
nativePointeeTypeName = name;
+ isAdjusted = false;
// We don't want to handle these using IsType because we need to specially
// handle cases like TypedefType at each level of the type hierarchy
if (pointeeType is AttributedType attributedType)
{
- name = GetTypeNameForPointeeType(cursor, context, rootType, attributedType.ModifiedType, ignoreTransparentStructsWhereRequired, out var nativeModifiedTypeName);
+ name = GetTypeNameForPointeeType(cursor, context, rootType, attributedType.ModifiedType, ignoreTransparentStructsWhereRequired, out var nativeModifiedTypeName, out isAdjusted);
}
else if (pointeeType is ElaboratedType elaboratedType)
{
- name = GetTypeNameForPointeeType(cursor, context, rootType, elaboratedType.NamedType, ignoreTransparentStructsWhereRequired, out var nativeNamedTypeName);
+ name = GetTypeNameForPointeeType(cursor, context, rootType, elaboratedType.NamedType, ignoreTransparentStructsWhereRequired, out var nativeNamedTypeName, out isAdjusted);
+
+ if (!string.IsNullOrWhiteSpace(nativeNamedTypeName) &&
+ !nativePointeeTypeName.StartsWith("const ") &&
+ !nativePointeeTypeName.StartsWith("enum ") &&
+ !nativePointeeTypeName.StartsWith("struct ") &&
+ !nativePointeeTypeName.StartsWith("union "))
+ {
+ nativePointeeTypeName = nativeNamedTypeName;
+ isAdjusted = true;
+ }
}
else if (pointeeType is FunctionType functionType)
{
@@ -3613,7 +3750,7 @@ private string GetTypeNameForPointeeType(Cursor? cursor, Cursor? context, Type r
}
else
{
- name = GetTypeNameForPointeeType(cursor, context, rootType, typedefType.Decl.UnderlyingType, ignoreTransparentStructsWhereRequired, out var nativeUnderlyingTypeName);
+ name = GetTypeNameForPointeeType(cursor, context, rootType, typedefType.Decl.UnderlyingType, ignoreTransparentStructsWhereRequired, out var nativeUnderlyingTypeName, out isAdjusted);
}
}
else
@@ -6768,4 +6905,4 @@ private static int ParseCxxStandardVersion(ReadOnlySpan version)
return int.TryParse(version, out var std) ? std : -1;
}
-}
\ No newline at end of file
+}
diff --git a/sources/ClangSharp/Cursors/Attrs/Attr.cs b/sources/ClangSharp/Cursors/Attrs/Attr.cs
index a59449f8..7a357715 100644
--- a/sources/ClangSharp/Cursors/Attrs/Attr.cs
+++ b/sources/ClangSharp/Cursors/Attrs/Attr.cs
@@ -23,6 +23,7 @@ private protected Attr(CXCursor handle) : base(handle, handle.Kind)
CX_AttrKind_ArmMveStrictPolymorphism => new TypeAttr(handle),
CX_AttrKind_BTFTypeTag => new TypeAttr(handle),
CX_AttrKind_CmseNSCall => new TypeAttr(handle),
+ CX_AttrKind_HLSLGroupSharedAddressSpace => new TypeAttr(handle),
CX_AttrKind_NoDeref => new TypeAttr(handle),
CX_AttrKind_ObjCGC => new TypeAttr(handle),
CX_AttrKind_ObjCInertUnsafeUnretained => new TypeAttr(handle),
@@ -87,6 +88,8 @@ private protected Attr(CXCursor handle) : base(handle, handle.Kind)
CX_AttrKind_PassObjectSize => new InheritableParamAttr(handle),
CX_AttrKind_ReleaseHandle => new InheritableParamAttr(handle),
CX_AttrKind_UseHandle => new InheritableParamAttr(handle),
+ CX_AttrKind_HLSLSV_DispatchThreadID => new HLSLAnnotationAttr(handle),
+ CX_AttrKind_HLSLSV_GroupIndex => new HLSLAnnotationAttr(handle),
CX_AttrKind_AMDGPUFlatWorkGroupSize => new InheritableAttr(handle),
CX_AttrKind_AMDGPUNumSGPR => new InheritableAttr(handle),
CX_AttrKind_AMDGPUNumVGPR => new InheritableAttr(handle),
@@ -186,7 +189,8 @@ private protected Attr(CXCursor handle) : base(handle, handle.Kind)
CX_AttrKind_GuardedVar => new InheritableAttr(handle),
CX_AttrKind_HIPManaged => new InheritableAttr(handle),
CX_AttrKind_HLSLNumThreads => new InheritableAttr(handle),
- CX_AttrKind_HLSLSV_GroupIndex => new InheritableAttr(handle),
+ CX_AttrKind_HLSLResource => new InheritableAttr(handle),
+ CX_AttrKind_HLSLResourceBinding => new InheritableAttr(handle),
CX_AttrKind_HLSLShader => new InheritableAttr(handle),
CX_AttrKind_Hot => new InheritableAttr(handle),
CX_AttrKind_IBAction => new InheritableAttr(handle),
@@ -209,6 +213,7 @@ private protected Attr(CXCursor handle) : base(handle, handle.Kind)
CX_AttrKind_MSVtorDisp => new InheritableAttr(handle),
CX_AttrKind_MaxFieldAlignment => new InheritableAttr(handle),
CX_AttrKind_MayAlias => new InheritableAttr(handle),
+ CX_AttrKind_MaybeUndef => new InheritableAttr(handle),
CX_AttrKind_MicroMips => new InheritableAttr(handle),
CX_AttrKind_MinSize => new InheritableAttr(handle),
CX_AttrKind_MinVectorWidth => new InheritableAttr(handle),
@@ -239,6 +244,7 @@ private protected Attr(CXCursor handle) : base(handle, handle.Kind)
CX_AttrKind_NoThreadSafetyAnalysis => new InheritableAttr(handle),
CX_AttrKind_NoThrow => new InheritableAttr(handle),
CX_AttrKind_NoUniqueAddress => new InheritableAttr(handle),
+ CX_AttrKind_NoUwtable => new InheritableAttr(handle),
CX_AttrKind_NotTailCalled => new InheritableAttr(handle),
CX_AttrKind_OMPAllocateDecl => new InheritableAttr(handle),
CX_AttrKind_OMPCaptureNoInit => new InheritableAttr(handle),
@@ -286,6 +292,7 @@ private protected Attr(CXCursor handle) : base(handle, handle.Kind)
CX_AttrKind_Pure => new InheritableAttr(handle),
CX_AttrKind_RISCVInterrupt => new InheritableAttr(handle),
CX_AttrKind_RandomizeLayout => new InheritableAttr(handle),
+ CX_AttrKind_ReadOnlyPlacement => new InheritableAttr(handle),
CX_AttrKind_Reinitializes => new InheritableAttr(handle),
CX_AttrKind_ReleaseCapability => new InheritableAttr(handle),
CX_AttrKind_ReqdWorkGroupSize => new InheritableAttr(handle),
@@ -306,6 +313,7 @@ private protected Attr(CXCursor handle) : base(handle, handle.Kind)
CX_AttrKind_SpeculativeLoadHardening => new InheritableAttr(handle),
CX_AttrKind_StandaloneDebug => new InheritableAttr(handle),
CX_AttrKind_StrictFP => new InheritableAttr(handle),
+ CX_AttrKind_StrictGuardStackCheck => new InheritableAttr(handle),
CX_AttrKind_SwiftAsync => new InheritableAttr(handle),
CX_AttrKind_SwiftAsyncError => new InheritableAttr(handle),
CX_AttrKind_SwiftAsyncName => new InheritableAttr(handle),
@@ -319,6 +327,7 @@ private protected Attr(CXCursor handle) : base(handle, handle.Kind)
CX_AttrKind_TLSModel => new InheritableAttr(handle),
CX_AttrKind_Target => new InheritableAttr(handle),
CX_AttrKind_TargetClones => new InheritableAttr(handle),
+ CX_AttrKind_TargetVersion => new InheritableAttr(handle),
CX_AttrKind_TestTypestate => new InheritableAttr(handle),
CX_AttrKind_TransparentUnion => new InheritableAttr(handle),
CX_AttrKind_TrivialABI => new InheritableAttr(handle),
diff --git a/sources/ClangSharp/Cursors/Attrs/HLSLAnnotationAttr.cs b/sources/ClangSharp/Cursors/Attrs/HLSLAnnotationAttr.cs
new file mode 100644
index 00000000..0f845dc1
--- /dev/null
+++ b/sources/ClangSharp/Cursors/Attrs/HLSLAnnotationAttr.cs
@@ -0,0 +1,18 @@
+// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
+
+using System;
+using ClangSharp.Interop;
+using static ClangSharp.Interop.CX_AttrKind;
+
+namespace ClangSharp;
+
+public class HLSLAnnotationAttr : InheritableAttr
+{
+ internal HLSLAnnotationAttr(CXCursor handle) : base(handle)
+ {
+ if (handle.AttrKind is > CX_AttrKind_LastHLSLAnnotationAttr or < CX_AttrKind_FirstHLSLAnnotationAttr)
+ {
+ throw new ArgumentOutOfRangeException(nameof(handle));
+ }
+ }
+}
diff --git a/sources/ClangSharp/Cursors/Decls/CXXMethodDecl.cs b/sources/ClangSharp/Cursors/Decls/CXXMethodDecl.cs
index 21c7cf6e..05f669a4 100644
--- a/sources/ClangSharp/Cursors/Decls/CXXMethodDecl.cs
+++ b/sources/ClangSharp/Cursors/Decls/CXXMethodDecl.cs
@@ -46,6 +46,10 @@ private protected CXXMethodDecl(CXCursor handle, CXCursorKind expectedCursorKind
public bool IsConst => Handle.CXXMethod_IsConst;
+ public bool IsCopyAssignmentOperator => Handle.CXXMethod_IsCopyAssignmentOperator;
+
+ public bool IsMoveAssignmentOperator => Handle.CXXMethod_IsMoveAssignmentOperator;
+
public bool IsVirtual => Handle.CXXMethod_IsVirtual;
public new CXXMethodDecl MostRecentDecl => (CXXMethodDecl)base.MostRecentDecl;
diff --git a/sources/ClangSharp/Cursors/Decls/Decl.cs b/sources/ClangSharp/Cursors/Decls/Decl.cs
index 0394e762..c149cb0e 100644
--- a/sources/ClangSharp/Cursors/Decls/Decl.cs
+++ b/sources/ClangSharp/Cursors/Decls/Decl.cs
@@ -161,6 +161,8 @@ public bool IsStdNamespace
public CXSourceRange SourceRange => clangsharp.Cursor_getSourceRange(Handle);
+ public CXSourceRange SourceRangeRaw => clangsharp.Cursor_getSourceRangeRaw(Handle);
+
public TranslationUnitDecl TranslationUnitDecl => _translationUnitDecl.Value;
internal static new Decl Create(CXCursor handle) => handle.DeclKind switch {
@@ -175,12 +177,14 @@ public bool IsStdNamespace
CX_DeclKind_FileScopeAsm => new FileScopeAsmDecl(handle),
CX_DeclKind_Friend => new FriendDecl(handle),
CX_DeclKind_FriendTemplate => new FriendTemplateDecl(handle),
+ CX_DeclKind_ImplicitConceptSpecialization => new ImplicitConceptSpecializationDecl(handle),
CX_DeclKind_Import => new ImportDecl(handle),
CX_DeclKind_LifetimeExtendedTemporary => new LifetimeExtendedTemporaryDecl(handle),
CX_DeclKind_LinkageSpec => new LinkageSpecDecl(handle),
CX_DeclKind_Using => new UsingDecl(handle),
CX_DeclKind_UsingEnum => new UsingEnumDecl(handle),
CX_DeclKind_Label => new LabelDecl(handle),
+ CX_DeclKind_HLSLBuffer => new HLSLBufferDecl(handle),
CX_DeclKind_Namespace => new NamespaceDecl(handle),
CX_DeclKind_NamespaceAlias => new NamespaceAliasDecl(handle),
CX_DeclKind_ObjCCompatibleAlias => new ObjCCompatibleAliasDecl(handle),
@@ -248,6 +252,7 @@ public bool IsStdNamespace
CX_DeclKind_PragmaDetectMismatch => new PragmaDetectMismatchDecl(handle),
CX_DeclKind_RequiresExprBody => new RequiresExprBodyDecl(handle),
CX_DeclKind_StaticAssert => new StaticAssertDecl(handle),
+ CX_DeclKind_TopLevelStmt => new TopLevelStmtDecl(handle),
CX_DeclKind_TranslationUnit => new TranslationUnitDecl(handle),
_ => new Decl(handle, handle.kind, handle.DeclKind),
};
diff --git a/sources/ClangSharp/Cursors/Decls/HLSLBufferDecl.cs b/sources/ClangSharp/Cursors/Decls/HLSLBufferDecl.cs
new file mode 100644
index 00000000..e5e012e6
--- /dev/null
+++ b/sources/ClangSharp/Cursors/Decls/HLSLBufferDecl.cs
@@ -0,0 +1,16 @@
+// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
+
+using ClangSharp.Interop;
+using static ClangSharp.Interop.CXCursorKind;
+using static ClangSharp.Interop.CX_DeclKind;
+
+namespace ClangSharp;
+
+public sealed class HLSLBufferDecl : NamedDecl
+{
+ internal HLSLBufferDecl(CXCursor handle) : base(handle, CXCursor_UnexposedDecl, CX_DeclKind_HLSLBuffer)
+ {
+ }
+
+ public bool IsCBuffer => Handle.IsCBuffer;
+}
diff --git a/sources/ClangSharp/Cursors/Decls/ImplicitConceptSpecializationDecl.cs b/sources/ClangSharp/Cursors/Decls/ImplicitConceptSpecializationDecl.cs
new file mode 100644
index 00000000..0b65981c
--- /dev/null
+++ b/sources/ClangSharp/Cursors/Decls/ImplicitConceptSpecializationDecl.cs
@@ -0,0 +1,34 @@
+// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
+
+using System;
+using System.Collections.Generic;
+using ClangSharp.Interop;
+using static ClangSharp.Interop.CX_DeclKind;
+using static ClangSharp.Interop.CXCursorKind;
+
+namespace ClangSharp;
+
+public sealed class ImplicitConceptSpecializationDecl : Decl
+{
+ private readonly Lazy> _templateArgs;
+
+ internal ImplicitConceptSpecializationDecl(CXCursor handle) : base(handle, CXCursor_UnexposedDecl, CX_DeclKind_ImplicitConceptSpecialization)
+ {
+ _templateArgs = new Lazy>(() => {
+ var templateArgCount = Handle.NumTemplateArguments;
+ var templateArgs = new List(templateArgCount);
+
+ for (var i = 0; i < templateArgCount; i++)
+ {
+ var templateArg = TranslationUnit.GetOrCreate(Handle.GetTemplateArgumentLoc(unchecked((uint)i)));
+ templateArgs.Add(templateArg);
+ }
+
+ return templateArgs;
+ });
+ }
+
+ public uint NumTemplateArgs => unchecked((uint)Handle.NumTemplateArguments);
+
+ public IReadOnlyList TemplateArgs => _templateArgs.Value;
+}
diff --git a/sources/ClangSharp/Cursors/Decls/TopLevelStmtDecl.cs b/sources/ClangSharp/Cursors/Decls/TopLevelStmtDecl.cs
new file mode 100644
index 00000000..a171987d
--- /dev/null
+++ b/sources/ClangSharp/Cursors/Decls/TopLevelStmtDecl.cs
@@ -0,0 +1,20 @@
+// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
+
+using System;
+using ClangSharp.Interop;
+using static ClangSharp.Interop.CX_DeclKind;
+using static ClangSharp.Interop.CXCursorKind;
+
+namespace ClangSharp;
+
+public sealed class TopLevelStmtDecl : Decl
+{
+ private readonly Lazy _stmt;
+
+ internal TopLevelStmtDecl(CXCursor handle) : base(handle, CXCursor_UnexposedDecl, CX_DeclKind_TopLevelStmt)
+ {
+ _stmt = new Lazy(() => TranslationUnit.GetOrCreate(Handle.GetExpr(0)));
+ }
+
+ public LabelStmt Stmt => _stmt.Value;
+}
diff --git a/sources/ClangSharp/Cursors/Exprs/CXXBoolLiteralExpr.cs b/sources/ClangSharp/Cursors/Exprs/CXXBoolLiteralExpr.cs
index 61fb34a6..108c5d1a 100644
--- a/sources/ClangSharp/Cursors/Exprs/CXXBoolLiteralExpr.cs
+++ b/sources/ClangSharp/Cursors/Exprs/CXXBoolLiteralExpr.cs
@@ -3,9 +3,9 @@
using System;
using System.Diagnostics;
using ClangSharp.Interop;
+using static ClangSharp.Interop.CX_StmtClass;
using static ClangSharp.Interop.CXCursorKind;
using static ClangSharp.Interop.CXTokenKind;
-using static ClangSharp.Interop.CX_StmtClass;
namespace ClangSharp;
@@ -20,8 +20,16 @@ internal CXXBoolLiteralExpr(CXCursor handle) : base(handle, CXCursor_CXXBoolLite
_valueString = new Lazy(() => {
var tokens = Handle.TranslationUnit.Tokenize(Handle.SourceRange);
- Debug.Assert(tokens.Length == 1);
- Debug.Assert(tokens[0].Kind == CXToken_Keyword);
+ if ((tokens.Length == 0) || (tokens[0].Kind is not CXToken_Keyword and not CXToken_Identifier))
+ {
+ tokens = Handle.TranslationUnit.Tokenize(Handle.SourceRangeRaw);
+
+ if ((tokens.Length == 0) || (tokens[0].Kind is not CXToken_Keyword and not CXToken_Identifier))
+ {
+ Debug.Assert(false, "Failed to stringify tokens for CXX bool literal.");
+ return Value.ToString();
+ }
+ }
var spelling = tokens[0].GetSpelling(Handle.TranslationUnit).ToString();
spelling = spelling.Trim('\\', '\r', '\n');
diff --git a/sources/ClangSharp/Cursors/Exprs/CXXParenListInitExpr.cs b/sources/ClangSharp/Cursors/Exprs/CXXParenListInitExpr.cs
new file mode 100644
index 00000000..a850d718
--- /dev/null
+++ b/sources/ClangSharp/Cursors/Exprs/CXXParenListInitExpr.cs
@@ -0,0 +1,53 @@
+// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
+
+using System.Collections.Generic;
+using System;
+using ClangSharp.Interop;
+using static ClangSharp.Interop.CXCursorKind;
+using static ClangSharp.Interop.CX_StmtClass;
+
+namespace ClangSharp;
+
+public sealed class CXXParenListInitExpr : Expr
+{
+ private readonly Lazy _arrayFillerOrUnionFieldInit;
+ private readonly Lazy> _initExprs;
+ private readonly Lazy> _userSpecifiedInitExprs;
+
+ internal CXXParenListInitExpr(CXCursor handle) : base(handle, CXCursor_CXXParenListInitExpr, CX_StmtClass_CXXParenListInitExpr)
+ {
+ _arrayFillerOrUnionFieldInit = new Lazy(() => TranslationUnit.GetOrCreate(Handle.SubExpr));
+ _initExprs = new Lazy>(() => {
+ var numInitExprs = Handle.NumExprs;
+ var initExprs = new List(numInitExprs);
+
+ for (var i = 0; i < numInitExprs; i++)
+ {
+ var initExpr = TranslationUnit.GetOrCreate(Handle.GetExpr(unchecked((uint)i)));
+ initExprs.Add(initExpr);
+ }
+
+ return initExprs;
+ });
+ _userSpecifiedInitExprs = new Lazy>(() => {
+ var numUserSpecifiedInitExprs = Handle.NumExprsOther;
+ var userSpecifiedInitExprs = new List(numUserSpecifiedInitExprs);
+
+ for (var i = 0; i < numUserSpecifiedInitExprs; i++)
+ {
+ var initExpr = TranslationUnit.GetOrCreate(Handle.GetExpr(unchecked((uint)i)));
+ userSpecifiedInitExprs.Add(initExpr);
+ }
+
+ return userSpecifiedInitExprs;
+ });
+ }
+
+ public Expr? ArrayFiller => _arrayFillerOrUnionFieldInit.Value as Expr;
+
+ public IReadOnlyList InitExprs => _initExprs.Value;
+
+ public FieldDecl? InitializedFieldInUnion => _arrayFillerOrUnionFieldInit.Value as FieldDecl;
+
+ public IReadOnlyList UserSpecifiedInitExprs => _userSpecifiedInitExprs.Value;
+}
diff --git a/sources/ClangSharp/Cursors/Exprs/CharacterLiteral.cs b/sources/ClangSharp/Cursors/Exprs/CharacterLiteral.cs
index 4017cc2f..1ab655fd 100644
--- a/sources/ClangSharp/Cursors/Exprs/CharacterLiteral.cs
+++ b/sources/ClangSharp/Cursors/Exprs/CharacterLiteral.cs
@@ -3,9 +3,9 @@
using System;
using System.Diagnostics;
using ClangSharp.Interop;
+using static ClangSharp.Interop.CX_StmtClass;
using static ClangSharp.Interop.CXCursorKind;
using static ClangSharp.Interop.CXTokenKind;
-using static ClangSharp.Interop.CX_StmtClass;
namespace ClangSharp;
@@ -20,8 +20,16 @@ internal CharacterLiteral(CXCursor handle) : base(handle, CXCursor_CharacterLite
_valueString = new Lazy(() => {
var tokens = Handle.TranslationUnit.Tokenize(Handle.SourceRange);
- Debug.Assert(tokens.Length == 1);
- Debug.Assert(tokens[0].Kind == CXToken_Literal);
+ if ((tokens.Length == 0) || (tokens[0].Kind is not CXToken_Literal and not CXToken_Identifier))
+ {
+ tokens = Handle.TranslationUnit.Tokenize(Handle.SourceRangeRaw);
+
+ if ((tokens.Length == 0) || (tokens[0].Kind is not CXToken_Literal and not CXToken_Identifier))
+ {
+ Debug.Assert(false, "Failed to stringify tokens for character literal.");
+ return Value.ToString();
+ }
+ }
var spelling = tokens[0].GetSpelling(Handle.TranslationUnit).ToString();
spelling = spelling.Trim('\\', '\r', '\n');
diff --git a/sources/ClangSharp/Cursors/Exprs/FloatingLiteral.cs b/sources/ClangSharp/Cursors/Exprs/FloatingLiteral.cs
index c93f7439..83dc6d5f 100644
--- a/sources/ClangSharp/Cursors/Exprs/FloatingLiteral.cs
+++ b/sources/ClangSharp/Cursors/Exprs/FloatingLiteral.cs
@@ -3,9 +3,9 @@
using System;
using System.Diagnostics;
using ClangSharp.Interop;
+using static ClangSharp.Interop.CX_StmtClass;
using static ClangSharp.Interop.CXCursorKind;
using static ClangSharp.Interop.CXTokenKind;
-using static ClangSharp.Interop.CX_StmtClass;
namespace ClangSharp;
@@ -18,8 +18,16 @@ internal FloatingLiteral(CXCursor handle) : base(handle, CXCursor_FloatingLitera
_valueString = new Lazy(() => {
var tokens = Handle.TranslationUnit.Tokenize(Handle.SourceRange);
- Debug.Assert(tokens.Length == 1);
- Debug.Assert(tokens[0].Kind == CXToken_Literal);
+ if ((tokens.Length == 0) || (tokens[0].Kind is not CXToken_Literal and not CXToken_Identifier))
+ {
+ tokens = Handle.TranslationUnit.Tokenize(Handle.SourceRangeRaw);
+
+ if ((tokens.Length == 0) || (tokens[0].Kind is not CXToken_Literal and not CXToken_Identifier))
+ {
+ Debug.Assert(false, "Failed to stringify tokens for floating literal.");
+ return ValueAsApproximateDouble.ToString();
+ }
+ }
var spelling = tokens[0].GetSpelling(Handle.TranslationUnit).ToString();
spelling = spelling.Trim('\\', '\r', '\n');
diff --git a/sources/ClangSharp/Cursors/Exprs/IntegerLiteral.cs b/sources/ClangSharp/Cursors/Exprs/IntegerLiteral.cs
index 0ec2388c..f548464a 100644
--- a/sources/ClangSharp/Cursors/Exprs/IntegerLiteral.cs
+++ b/sources/ClangSharp/Cursors/Exprs/IntegerLiteral.cs
@@ -3,9 +3,9 @@
using System;
using System.Diagnostics;
using ClangSharp.Interop;
+using static ClangSharp.Interop.CX_StmtClass;
using static ClangSharp.Interop.CXCursorKind;
using static ClangSharp.Interop.CXTokenKind;
-using static ClangSharp.Interop.CX_StmtClass;
namespace ClangSharp;
@@ -18,8 +18,16 @@ internal IntegerLiteral(CXCursor handle) : base(handle, CXCursor_IntegerLiteral,
_valueString = new Lazy(() => {
var tokens = Handle.TranslationUnit.Tokenize(Handle.SourceRange);
- Debug.Assert(tokens.Length == 1);
- Debug.Assert(tokens[0].Kind is CXToken_Literal or CXToken_Identifier);
+ if ((tokens.Length == 0) || (tokens[0].Kind is not CXToken_Literal and not CXToken_Identifier))
+ {
+ tokens = Handle.TranslationUnit.Tokenize(Handle.SourceRangeRaw);
+
+ if ((tokens.Length == 0) || (tokens[0].Kind is not CXToken_Literal and not CXToken_Identifier))
+ {
+ Debug.Assert(false, "Failed to stringify tokens for integer literal.");
+ return Value.ToString();
+ }
+ }
var spelling = tokens[0].GetSpelling(Handle.TranslationUnit).ToString();
spelling = spelling.Trim('\\', '\r', '\n');
diff --git a/sources/ClangSharp/Cursors/Stmts/OMPErrorDirective.cs b/sources/ClangSharp/Cursors/Stmts/OMPErrorDirective.cs
new file mode 100644
index 00000000..f90cbf37
--- /dev/null
+++ b/sources/ClangSharp/Cursors/Stmts/OMPErrorDirective.cs
@@ -0,0 +1,14 @@
+// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
+
+using ClangSharp.Interop;
+using static ClangSharp.Interop.CXCursorKind;
+using static ClangSharp.Interop.CX_StmtClass;
+
+namespace ClangSharp;
+
+public sealed class OMPErrorDirective : OMPExecutableDirective
+{
+ internal OMPErrorDirective(CXCursor handle) : base(handle, CXCursor_OMPErrorDirective, CX_StmtClass_OMPErrorDirective)
+ {
+ }
+}
diff --git a/sources/ClangSharp/Cursors/Stmts/Stmt.cs b/sources/ClangSharp/Cursors/Stmts/Stmt.cs
index d3ec1b98..24e49ab3 100644
--- a/sources/ClangSharp/Cursors/Stmts/Stmt.cs
+++ b/sources/ClangSharp/Cursors/Stmts/Stmt.cs
@@ -151,6 +151,7 @@ public Stmt StripLabelLikeStatements()
CX_StmtClass_OMPCriticalDirective => new OMPCriticalDirective(handle),
CX_StmtClass_OMPDepobjDirective => new OMPDepobjDirective(handle),
CX_StmtClass_OMPDispatchDirective => new OMPDispatchDirective(handle),
+ CX_StmtClass_OMPErrorDirective => new OMPErrorDirective(handle),
CX_StmtClass_OMPFlushDirective => new OMPFlushDirective(handle),
CX_StmtClass_OMPInteropDirective => new OMPInteropDirective(handle),
CX_StmtClass_OMPDistributeDirective => new OMPDistributeDirective(handle),
@@ -255,6 +256,7 @@ public Stmt StripLabelLikeStatements()
CX_StmtClass_CXXNewExpr => new CXXNewExpr(handle),
CX_StmtClass_CXXNoexceptExpr => new CXXNoexceptExpr(handle),
CX_StmtClass_CXXNullPtrLiteralExpr => new CXXNullPtrLiteralExpr(handle),
+ CX_StmtClass_CXXParenListInitExpr => new CXXParenListInitExpr(handle),
CX_StmtClass_CXXPseudoDestructorExpr => new CXXPseudoDestructorExpr(handle),
CX_StmtClass_CXXRewrittenBinaryOperator => new CXXRewrittenBinaryOperator(handle),
CX_StmtClass_CXXScalarValueInitExpr => new CXXScalarValueInitExpr(handle),
diff --git a/sources/ClangSharp/TemplateArgumentLoc.cs b/sources/ClangSharp/TemplateArgumentLoc.cs
index 61c285c9..8b0f380f 100644
--- a/sources/ClangSharp/TemplateArgumentLoc.cs
+++ b/sources/ClangSharp/TemplateArgumentLoc.cs
@@ -43,5 +43,7 @@ internal TemplateArgumentLoc(CX_TemplateArgumentLoc handle)
public CXSourceRange SourceRange => Handle.SourceRange;
+ public CXSourceRange SourceRangeRaw => Handle.SourceRangeRaw;
+
public TranslationUnit TranslationUnit => _translationUnit.Value;
}
diff --git a/sources/ClangSharp/Types/ElaboratedType.cs b/sources/ClangSharp/Types/ElaboratedType.cs
index 011766d7..d8514fdb 100644
--- a/sources/ClangSharp/Types/ElaboratedType.cs
+++ b/sources/ClangSharp/Types/ElaboratedType.cs
@@ -10,15 +10,15 @@ namespace ClangSharp;
public sealed class ElaboratedType : TypeWithKeyword
{
private readonly Lazy _namedType;
- private readonly Lazy _ownedTagDecl;
+ private readonly Lazy _ownedTagDecl;
internal ElaboratedType(CXType handle) : base(handle, CXType_Elaborated, CX_TypeClass_Elaborated)
{
_namedType = new Lazy(() => TranslationUnit.GetOrCreate(Handle.NamedType));
- _ownedTagDecl = new Lazy(() => TranslationUnit.GetOrCreate(Handle.OwnedTagDecl));
+ _ownedTagDecl = new Lazy(() => !Handle.OwnedTagDecl.IsNull ?TranslationUnit.GetOrCreate(Handle.OwnedTagDecl) : null);
}
public Type NamedType => _namedType.Value;
- public TagDecl OwnedTagDecl => _ownedTagDecl.Value;
+ public TagDecl? OwnedTagDecl => _ownedTagDecl.Value;
}
diff --git a/sources/ClangSharpPInvokeGenerator/ClangSharpPInvokeGenerator.csproj b/sources/ClangSharpPInvokeGenerator/ClangSharpPInvokeGenerator.csproj
index 12f0bdde..581529fd 100644
--- a/sources/ClangSharpPInvokeGenerator/ClangSharpPInvokeGenerator.csproj
+++ b/sources/ClangSharpPInvokeGenerator/ClangSharpPInvokeGenerator.csproj
@@ -36,7 +36,7 @@
C:\Program Files\LLVM\include
- /usr/lib/llvm-15/include
+ /usr/lib/llvm-16/include
diff --git a/sources/ClangSharpPInvokeGenerator/Program.cs b/sources/ClangSharpPInvokeGenerator/Program.cs
index 2ca0c067..eb49016e 100644
--- a/sources/ClangSharpPInvokeGenerator/Program.cs
+++ b/sources/ClangSharpPInvokeGenerator/Program.cs
@@ -282,7 +282,7 @@ public static void Run(InvocationContext context)
if (versionResult is not null)
{
- context.Console.WriteLine($"{s_rootCommand.Description} version 15.0.0");
+ context.Console.WriteLine($"{s_rootCommand.Description} version 16.0.6");
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 e1c00120..db06b1c6 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-15.0.0/clang/include/clang-c
+// 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.
diff --git a/sources/ClangSharpPInvokeGenerator/Properties/GenerateClang.rsp b/sources/ClangSharpPInvokeGenerator/Properties/GenerateClang.rsp
index 46d0ce09..3fde4ebb 100644
--- a/sources/ClangSharpPInvokeGenerator/Properties/GenerateClang.rsp
+++ b/sources/ClangSharpPInvokeGenerator/Properties/GenerateClang.rsp
@@ -27,7 +27,10 @@ CINDEX_VERSION_STRINGIZE_
--file
clang-c/BuildSystem.h
clang-c/CXCompilationDatabase.h
+clang-c/CXDiagnostic.h
clang-c/CXErrorCode.h
+clang-c/CXFile.h
+clang-c/CXSourceLocation.h
clang-c/CXString.h
clang-c/Documentation.h
clang-c/ExternC.h
diff --git a/sources/ClangSharpPInvokeGenerator/Properties/GenerateLLVM-LICENSE.txt b/sources/ClangSharpPInvokeGenerator/Properties/GenerateLLVM-LICENSE.txt
index 8892be70..669f570f 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-15.0.0/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/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 989c2e0a..d248db70 100644
--- a/sources/ClangSharpPInvokeGenerator/Properties/GenerateLLVM.rsp
+++ b/sources/ClangSharpPInvokeGenerator/Properties/GenerateLLVM.rsp
@@ -21,6 +21,11 @@ preview-codegen
trimmable-vtbls
unix-types
--exclude
+LLVMInitializeNativeAsmParser
+LLVMInitializeNativeAsmPrinter
+LLVMInitializeNativeDisassembler
+LLVMInitializeNativeTarget
+LLVM_ATTRIBUTE_C_DEPRECATED
LLVM_DECLARE_VALUE_CAST
LLVM_FOR_EACH_VALUE_SUBCLASS
--file
@@ -52,7 +57,6 @@ llvm-c/Support.h
llvm-c/Target.h
llvm-c/TargetMachine.h
llvm-c/Types.h
-llvm-c/Transforms/AggressiveInstCombine.h
llvm-c/Transforms/InstCombine.h
llvm-c/Transforms/IPO.h
llvm-c/Transforms/PassBuilder.h
@@ -73,12 +77,26 @@ LLVMSharp.Interop
--prefixStrip
LLVM
--remap
-__AnonymousEnum_Core_L445_C1=LLVMAttributeIndex
-__AnonymousEnum_DebugInfo_L131_C1=LLVMMetadataKind
+LLVMAttributeIndex=LLVMAttributeIndex
+LLVM_BLAKE3_BLOCK_LEN=@BLAKE3_BLOCK_LEN
+LLVM_BLAKE3_CHUNK_LEN=@BLAKE3_CHUNK_LEN
+llvm_blake3_hasher_finalize=@blake3_hasher_finalize
+llvm_blake3_hasher_finalize_seek=@blake3_hasher_finalize_seek
+llvm_blake3_hasher_init=@blake3_hasher_init
+llvm_blake3_hasher_init_derive_key=@blake3_hasher_init_derive_key
+llvm_blake3_hasher_init_derive_key_raw=@blake3_hasher_init_derive_key_raw
+llvm_blake3_hasher_init_keyed=@blake3_hasher_init_keyed
+llvm_blake3_hasher_reset=@blake3_hasher_reset
+llvm_blake3_hasher_update=@blake3_hasher_update
+LLVM_BLAKE3_KEY_LEN=@BLAKE3_KEY_LEN
+LLVM_BLAKE3_MAX_DEPTH=@BLAKE3_MAX_DEPTH
+LLVM_BLAKE3_OUT_LEN=@BLAKE3_OUT_LEN
+llvm_blake3_version=@blake3_version
+LLVM_BLAKE3_VERSION_STRING=@BLAKE3_VERSION_STRING
+__AnonymousEnum_Core_L463_C1=@LLVMAttributeIndex
+__AnonymousEnum_DebugInfo_L146_C1=@LLVMMetadataKind
--with-attribute
LLVMDIFlags=Flags
LLVMJITSymbolGenericFlags=Flags
LLVMOrcJITDylibLookupFlags=Flags
LLVMOrcSymbolLookupFlags=Flags
---with-type
-LLVMJITSymbolGenericFlags=uint
diff --git a/sources/libClangSharp/CIndexDiagnostic.cpp b/sources/libClangSharp/CIndexDiagnostic.cpp
index 7e7dc6fa..ff142f16 100644
--- a/sources/libClangSharp/CIndexDiagnostic.cpp
+++ b/sources/libClangSharp/CIndexDiagnostic.cpp
@@ -1,12 +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-15.0.0/clang/tools/libclang
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/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"
namespace clang {
- CXDiagnosticSetImpl::~CXDiagnosticSetImpl() { }
+ CXDiagnosticSetImpl::~CXDiagnosticSetImpl() {
+ }
void CXDiagnosticSetImpl::appendDiagnostic(std::unique_ptr D) {
Diagnostics.push_back(std::move(D));
diff --git a/sources/libClangSharp/CIndexDiagnostic.h b/sources/libClangSharp/CIndexDiagnostic.h
index 78935aea..00ce51fc 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-15.0.0/clang/tools/libclang
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/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
@@ -25,9 +25,11 @@ namespace clang {
class CXDiagnosticSetImpl {
std::vector> Diagnostics;
const bool IsExternallyManaged;
+
public:
CXDiagnosticSetImpl(bool isManaged = false)
- : IsExternallyManaged(isManaged) { }
+ : IsExternallyManaged(isManaged) {
+ }
virtual ~CXDiagnosticSetImpl();
@@ -46,7 +48,9 @@ namespace clang {
return Diagnostics.empty();
}
- bool isExternallyManaged() const { return IsExternallyManaged; }
+ bool isExternallyManaged() const {
+ return IsExternallyManaged;
+ }
};
class CXDiagnosticImpl {
@@ -88,7 +92,9 @@ namespace clang {
/// Return the FixIt information (source range and inserted text).
virtual CXString getFixIt(unsigned FixIt, CXSourceRange* ReplacementRange) const = 0;
- Kind getKind() const { return K; }
+ Kind getKind() const {
+ return K;
+ }
CXDiagnosticSetImpl& getChildDiagnostics() {
return ChildDiags;
diff --git a/sources/libClangSharp/CXCursor.cpp b/sources/libClangSharp/CXCursor.cpp
index 9b31727b..01b4031a 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-15.0.0/clang/tools/libclang
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/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"
@@ -11,27 +11,32 @@ using namespace clang::cxtu;
namespace clang::cxcursor {
const IdentifierInfo* MacroExpansionCursor::getName() const {
- if (isPseudo())
+ if (isPseudo()) {
return getAsMacroDefinition()->getName();
+ }
return getAsMacroExpansion()->getName();
}
const MacroDefinitionRecord* MacroExpansionCursor::getDefinition() const {
- if (isPseudo())
+ if (isPseudo()) {
return getAsMacroDefinition();
+ }
return getAsMacroExpansion()->getDefinition();
}
SourceRange MacroExpansionCursor::getSourceRange() const {
- if (isPseudo())
+ if (isPseudo()) {
return getPseudoLoc();
+ }
return getAsMacroExpansion()->getSourceRange();
}
ASTUnit* getCursorASTUnit(CXCursor Cursor) {
CXTranslationUnit TU = getCursorTU(Cursor);
- if (!TU)
+
+ if (!TU) {
return nullptr;
+ }
return getASTUnit(TU);
}
@@ -60,10 +65,11 @@ namespace clang::cxcursor {
}
const Stmt* getCursorStmt(CXCursor Cursor) {
- if (Cursor.kind == CXCursor_ObjCSuperClassRef ||
- Cursor.kind == CXCursor_ObjCProtocolRef ||
- Cursor.kind == CXCursor_ObjCClassRef)
+ if ((Cursor.kind == CXCursor_ObjCSuperClassRef) ||
+ (Cursor.kind == CXCursor_ObjCProtocolRef) ||
+ (Cursor.kind == CXCursor_ObjCClassRef)) {
return nullptr;
+ }
return static_cast(Cursor.data[1]);
}
@@ -152,48 +158,90 @@ namespace clang::cxcursor {
static CXCursorKind GetCursorKind(const Attr* A) {
assert(A && "Invalid arguments!");
switch (A->getKind()) {
- default: break;
- case attr::IBAction: return CXCursor_IBActionAttr;
- case attr::IBOutlet: return CXCursor_IBOutletAttr;
- case attr::IBOutletCollection: return CXCursor_IBOutletCollectionAttr;
- case attr::Final: return CXCursor_CXXFinalAttr;
- case attr::Override: return CXCursor_CXXOverrideAttr;
- case attr::Annotate: return CXCursor_AnnotateAttr;
- case attr::AsmLabel: return CXCursor_AsmLabelAttr;
- case attr::Packed: return CXCursor_PackedAttr;
- case attr::Pure: return CXCursor_PureAttr;
- case attr::Const: return CXCursor_ConstAttr;
- case attr::NoDuplicate: return CXCursor_NoDuplicateAttr;
- case attr::CUDAConstant: return CXCursor_CUDAConstantAttr;
- case attr::CUDADevice: return CXCursor_CUDADeviceAttr;
- case attr::CUDAGlobal: return CXCursor_CUDAGlobalAttr;
- case attr::CUDAHost: return CXCursor_CUDAHostAttr;
- case attr::CUDAShared: return CXCursor_CUDASharedAttr;
- case attr::Visibility: return CXCursor_VisibilityAttr;
- case attr::DLLExport: return CXCursor_DLLExport;
- case attr::DLLImport: return CXCursor_DLLImport;
- case attr::NSReturnsRetained: return CXCursor_NSReturnsRetained;
- case attr::NSReturnsNotRetained: return CXCursor_NSReturnsNotRetained;
- case attr::NSReturnsAutoreleased: return CXCursor_NSReturnsAutoreleased;
- case attr::NSConsumesSelf: return CXCursor_NSConsumesSelf;
- case attr::NSConsumed: return CXCursor_NSConsumed;
- case attr::ObjCException: return CXCursor_ObjCException;
- case attr::ObjCNSObject: return CXCursor_ObjCNSObject;
- case attr::ObjCIndependentClass: return CXCursor_ObjCIndependentClass;
- case attr::ObjCPreciseLifetime: return CXCursor_ObjCPreciseLifetime;
- case attr::ObjCReturnsInnerPointer: return CXCursor_ObjCReturnsInnerPointer;
- case attr::ObjCRequiresSuper: return CXCursor_ObjCRequiresSuper;
- case attr::ObjCRootClass: return CXCursor_ObjCRootClass;
- case attr::ObjCSubclassingRestricted: return CXCursor_ObjCSubclassingRestricted;
- case attr::ObjCExplicitProtocolImpl: return CXCursor_ObjCExplicitProtocolImpl;
- case attr::ObjCDesignatedInitializer: return CXCursor_ObjCDesignatedInitializer;
- case attr::ObjCRuntimeVisible: return CXCursor_ObjCRuntimeVisible;
- case attr::ObjCBoxable: return CXCursor_ObjCBoxable;
- case attr::FlagEnum: return CXCursor_FlagEnum;
- case attr::Convergent: return CXCursor_ConvergentAttr;
- case attr::WarnUnused: return CXCursor_WarnUnusedAttr;
- case attr::WarnUnusedResult: return CXCursor_WarnUnusedResultAttr;
- case attr::Aligned: return CXCursor_AlignedAttr;
+ default:
+ break;
+ case attr::IBAction:
+ return CXCursor_IBActionAttr;
+ case attr::IBOutlet:
+ return CXCursor_IBOutletAttr;
+ case attr::IBOutletCollection:
+ return CXCursor_IBOutletCollectionAttr;
+ case attr::Final:
+ return CXCursor_CXXFinalAttr;
+ case attr::Override:
+ return CXCursor_CXXOverrideAttr;
+ case attr::Annotate:
+ return CXCursor_AnnotateAttr;
+ case attr::AsmLabel:
+ return CXCursor_AsmLabelAttr;
+ case attr::Packed:
+ return CXCursor_PackedAttr;
+ case attr::Pure:
+ return CXCursor_PureAttr;
+ case attr::Const:
+ return CXCursor_ConstAttr;
+ case attr::NoDuplicate:
+ return CXCursor_NoDuplicateAttr;
+ case attr::CUDAConstant:
+ return CXCursor_CUDAConstantAttr;
+ case attr::CUDADevice:
+ return CXCursor_CUDADeviceAttr;
+ case attr::CUDAGlobal:
+ return CXCursor_CUDAGlobalAttr;
+ case attr::CUDAHost:
+ return CXCursor_CUDAHostAttr;
+ case attr::CUDAShared:
+ return CXCursor_CUDASharedAttr;
+ case attr::Visibility:
+ return CXCursor_VisibilityAttr;
+ case attr::DLLExport:
+ return CXCursor_DLLExport;
+ case attr::DLLImport:
+ return CXCursor_DLLImport;
+ case attr::NSReturnsRetained:
+ return CXCursor_NSReturnsRetained;
+ case attr::NSReturnsNotRetained:
+ return CXCursor_NSReturnsNotRetained;
+ case attr::NSReturnsAutoreleased:
+ return CXCursor_NSReturnsAutoreleased;
+ case attr::NSConsumesSelf:
+ return CXCursor_NSConsumesSelf;
+ case attr::NSConsumed:
+ return CXCursor_NSConsumed;
+ case attr::ObjCException:
+ return CXCursor_ObjCException;
+ case attr::ObjCNSObject:
+ return CXCursor_ObjCNSObject;
+ case attr::ObjCIndependentClass:
+ return CXCursor_ObjCIndependentClass;
+ case attr::ObjCPreciseLifetime:
+ return CXCursor_ObjCPreciseLifetime;
+ case attr::ObjCReturnsInnerPointer:
+ return CXCursor_ObjCReturnsInnerPointer;
+ case attr::ObjCRequiresSuper:
+ return CXCursor_ObjCRequiresSuper;
+ case attr::ObjCRootClass:
+ return CXCursor_ObjCRootClass;
+ case attr::ObjCSubclassingRestricted:
+ return CXCursor_ObjCSubclassingRestricted;
+ case attr::ObjCExplicitProtocolImpl:
+ return CXCursor_ObjCExplicitProtocolImpl;
+ case attr::ObjCDesignatedInitializer:
+ return CXCursor_ObjCDesignatedInitializer;
+ case attr::ObjCRuntimeVisible:
+ return CXCursor_ObjCRuntimeVisible;
+ case attr::ObjCBoxable:
+ return CXCursor_ObjCBoxable;
+ case attr::FlagEnum:
+ return CXCursor_FlagEnum;
+ case attr::Convergent:
+ return CXCursor_ConvergentAttr;
+ case attr::WarnUnused:
+ return CXCursor_WarnUnusedAttr;
+ case attr::WarnUnusedResult:
+ return CXCursor_WarnUnusedResultAttr;
+ case attr::Aligned:
+ return CXCursor_AlignedAttr;
}
return CXCursor_UnexposedAttr;
@@ -205,7 +253,16 @@ namespace clang::cxcursor {
}
assert(A && Parent && TU && "Invalid arguments!");
- CXCursor C = { GetCursorKind(A), 0, { Parent, A, TU } };
+
+ CXCursor C = {
+ GetCursorKind(A),
+ 0,
+ {
+ Parent,
+ A,
+ TU
+ }
+ };
return C;
}
@@ -218,25 +275,43 @@ namespace clang::cxcursor {
CXCursorKind K = getCursorKindForDecl(D);
- if (K == CXCursor_ObjCClassMethodDecl ||
- K == CXCursor_ObjCInstanceMethodDecl) {
+ if ((K == CXCursor_ObjCClassMethodDecl) ||
+ (K == CXCursor_ObjCInstanceMethodDecl)) {
int SelectorIdIndex = -1;
+
// Check if cursor points to a selector id.
if (RegionOfInterest.isValid() &&
- RegionOfInterest.getBegin() == RegionOfInterest.getEnd()) {
+ (RegionOfInterest.getBegin() == RegionOfInterest.getEnd())) {
SmallVector SelLocs;
cast(D)->getSelectorLocs(SelLocs);
- SmallVectorImpl::iterator I =
- llvm::find(SelLocs, RegionOfInterest.getBegin());
- if (I != SelLocs.end())
+ SmallVectorImpl::iterator I = llvm::find(SelLocs, RegionOfInterest.getBegin());
+
+ if (I != SelLocs.end()) {
SelectorIdIndex = I - SelLocs.begin();
+ }
}
- CXCursor C = { K, SelectorIdIndex,
- { D, (void*)(intptr_t)(FirstInDeclGroup ? 1 : 0), TU } };
+
+ CXCursor C = {
+ K,
+ SelectorIdIndex,
+ {
+ D,
+ (void*)(intptr_t)(FirstInDeclGroup ? 1 : 0),
+ TU
+ }
+ };
return C;
}
- CXCursor C = { K, 0, { D, (void*)(intptr_t)(FirstInDeclGroup ? 1 : 0), TU } };
+ CXCursor C = {
+ K,
+ 0,
+ {
+ D,
+ (void*)(intptr_t)(FirstInDeclGroup ? 1 : 0),
+ TU
+ }
+ };
return C;
}
@@ -244,21 +319,23 @@ namespace clang::cxcursor {
CXCursor newCursor = cursor;
if (cursor.kind == CXCursor_ObjCMessageExpr) {
- if (SelIdx == -1 ||
- unsigned(SelIdx) >= cast(getCursorExpr(cursor))
- ->getNumSelectorLocs())
+ if ((SelIdx == -1) ||
+ (unsigned(SelIdx) >= cast(getCursorExpr(cursor))->getNumSelectorLocs())) {
newCursor.xdata = -1;
- else
+ }
+ else {
newCursor.xdata = SelIdx;
+ }
}
- else if (cursor.kind == CXCursor_ObjCClassMethodDecl ||
- cursor.kind == CXCursor_ObjCInstanceMethodDecl) {
- if (SelIdx == -1 ||
- unsigned(SelIdx) >= cast(getCursorDecl(cursor))
- ->getNumSelectorLocs())
+ else if ((cursor.kind == CXCursor_ObjCClassMethodDecl) ||
+ (cursor.kind == CXCursor_ObjCInstanceMethodDecl)) {
+ if ((SelIdx == -1) ||
+ (unsigned(SelIdx) >= cast(getCursorDecl(cursor))->getNumSelectorLocs())) {
newCursor.xdata = -1;
- else
+ }
+ else {
newCursor.xdata = SelIdx;
+ }
}
return newCursor;
@@ -399,8 +476,6 @@ namespace clang::cxcursor {
case Stmt::BinaryConditionalOperatorClass:
case Stmt::TypeTraitExprClass:
case Stmt::CoawaitExprClass:
- case Stmt::ConceptSpecializationExprClass:
- case Stmt::RequiresExprClass:
case Stmt::DependentCoawaitExprClass:
case Stmt::CoyieldExprClass:
case Stmt::CXXBindTemporaryExprClass:
@@ -441,14 +516,15 @@ namespace clang::cxcursor {
break;
case Stmt::OpaqueValueExprClass:
- if (Expr* Src = cast(S)->getSourceExpr())
+ if (Expr* Src = cast(S)->getSourceExpr()) {
return MakeCXCursor(Src, Parent, TU, RegionOfInterest);
+ }
+
K = CXCursor_UnexposedExpr;
break;
case Stmt::PseudoObjectExprClass:
- return MakeCXCursor(cast(S)->getSyntacticForm(),
- Parent, TU, RegionOfInterest);
+ return MakeCXCursor(cast(S)->getSyntacticForm(), Parent, TU, RegionOfInterest);
case Stmt::CompoundStmtClass:
K = CXCursor_CompoundStmt;
@@ -499,8 +575,7 @@ namespace clang::cxcursor {
break;
case Stmt::ConstantExprClass:
- return MakeCXCursor(cast(S)->getSubExpr(),
- Parent, TU, RegionOfInterest);
+ return MakeCXCursor(cast(S)->getSubExpr(), Parent, TU, RegionOfInterest);
case Stmt::ParenExprClass:
K = CXCursor_ParenExpr;
@@ -670,10 +745,8 @@ namespace clang::cxcursor {
break;
case Stmt::DeclRefExprClass:
- if (const ImplicitParamDecl* IPD =
- dyn_cast_or_null(cast(S)->getDecl())) {
- if (const ObjCMethodDecl* MD =
- dyn_cast(IPD->getDeclContext())) {
+ if (const ImplicitParamDecl* IPD = dyn_cast_or_null(cast(S)->getDecl())) {
+ if (const ObjCMethodDecl* MD = dyn_cast(IPD->getDeclContext())) {
if (MD->getSelfDecl() == IPD) {
K = CXCursor_ObjCSelfExpr;
break;
@@ -723,26 +796,52 @@ namespace clang::cxcursor {
case Stmt::ObjCMessageExprClass: {
K = CXCursor_ObjCMessageExpr;
int SelectorIdIndex = -1;
+
// Check if cursor points to a selector id.
if (RegionOfInterest.isValid() &&
- RegionOfInterest.getBegin() == RegionOfInterest.getEnd()) {
+ (RegionOfInterest.getBegin() == RegionOfInterest.getEnd())) {
SmallVector SelLocs;
cast(S)->getSelectorLocs(SelLocs);
- SmallVectorImpl::iterator I =
- llvm::find(SelLocs, RegionOfInterest.getBegin());
- if (I != SelLocs.end())
+ SmallVectorImpl::iterator I = llvm::find(SelLocs, RegionOfInterest.getBegin());
+
+ if (I != SelLocs.end()) {
SelectorIdIndex = I - SelLocs.begin();
+ }
}
- CXCursor C = { K, 0, { Parent, S, TU } };
+
+ CXCursor C = {
+ K,
+ 0,
+ {
+ Parent,
+ S,
+ TU
+ }
+ };
return getSelectorIdentifierCursor(SelectorIdIndex, C);
}
+ case Stmt::ConceptSpecializationExprClass:
+ K = CXCursor_ConceptSpecializationExpr;
+ break;
+
+ case Stmt::RequiresExprClass:
+ K = CXCursor_RequiresExpr;
+ break;
+
+ case Stmt::CXXParenListInitExprClass:
+ K = CXCursor_CXXParenListInitExpr;
+ break;
+
case Stmt::MSDependentExistsStmtClass:
K = CXCursor_UnexposedStmt;
break;
case Stmt::OMPCanonicalLoopClass:
K = CXCursor_OMPCanonicalLoop;
break;
+ case Stmt::OMPMetaDirectiveClass:
+ K = CXCursor_OMPMetaDirective;
+ break;
case Stmt::OMPParallelDirectiveClass:
K = CXCursor_OMPParallelDirective;
break;
@@ -785,6 +884,9 @@ namespace clang::cxcursor {
case Stmt::OMPParallelMasterDirectiveClass:
K = CXCursor_OMPParallelMasterDirective;
break;
+ case Stmt::OMPParallelMaskedDirectiveClass:
+ K = CXCursor_OMPParallelMaskedDirective;
+ break;
case Stmt::OMPParallelSectionsDirectiveClass:
K = CXCursor_OMPParallelSectionsDirective;
break;
@@ -800,6 +902,9 @@ namespace clang::cxcursor {
case Stmt::OMPTaskwaitDirectiveClass:
K = CXCursor_OMPTaskwaitDirective;
break;
+ case Stmt::OMPErrorDirectiveClass:
+ K = CXCursor_OMPErrorDirective;
+ break;
case Stmt::OMPTaskgroupDirectiveClass:
K = CXCursor_OMPTaskgroupDirective;
break;
@@ -857,15 +962,27 @@ namespace clang::cxcursor {
case Stmt::OMPMasterTaskLoopDirectiveClass:
K = CXCursor_OMPMasterTaskLoopDirective;
break;
+ case Stmt::OMPMaskedTaskLoopDirectiveClass:
+ K = CXCursor_OMPMaskedTaskLoopDirective;
+ break;
case Stmt::OMPMasterTaskLoopSimdDirectiveClass:
K = CXCursor_OMPMasterTaskLoopSimdDirective;
break;
+ case Stmt::OMPMaskedTaskLoopSimdDirectiveClass:
+ K = CXCursor_OMPMaskedTaskLoopSimdDirective;
+ break;
case Stmt::OMPParallelMasterTaskLoopDirectiveClass:
K = CXCursor_OMPParallelMasterTaskLoopDirective;
break;
+ case Stmt::OMPParallelMaskedTaskLoopDirectiveClass:
+ K = CXCursor_OMPParallelMaskedTaskLoopDirective;
+ break;
case Stmt::OMPParallelMasterTaskLoopSimdDirectiveClass:
K = CXCursor_OMPParallelMasterTaskLoopSimdDirective;
break;
+ case Stmt::OMPParallelMaskedTaskLoopSimdDirectiveClass:
+ K = CXCursor_OMPParallelMaskedTaskLoopSimdDirective;
+ break;
case Stmt::OMPDistributeDirectiveClass:
K = CXCursor_OMPDistributeDirective;
break;
@@ -920,11 +1037,34 @@ namespace clang::cxcursor {
case Stmt::OMPMaskedDirectiveClass:
K = CXCursor_OMPMaskedDirective;
break;
+ case Stmt::OMPGenericLoopDirectiveClass:
+ K = CXCursor_OMPGenericLoopDirective;
+ break;
+ case Stmt::OMPTeamsGenericLoopDirectiveClass:
+ K = CXCursor_OMPTeamsGenericLoopDirective;
+ break;
+ case Stmt::OMPTargetTeamsGenericLoopDirectiveClass:
+ K = CXCursor_OMPTargetTeamsGenericLoopDirective;
+ break;
+ case Stmt::OMPParallelGenericLoopDirectiveClass:
+ K = CXCursor_OMPParallelGenericLoopDirective;
+ break;
+ case Stmt::OMPTargetParallelGenericLoopDirectiveClass:
+ K = CXCursor_OMPTargetParallelGenericLoopDirective;
+ break;
case Stmt::BuiltinBitCastExprClass:
K = CXCursor_BuiltinBitCastExpr;
}
- CXCursor C = { K, 0, { Parent, S, TU } };
+ CXCursor C = {
+ K,
+ 0,
+ {
+ Parent,
+ S,
+ TU
+ }
+ };
return C;
}
diff --git a/sources/libClangSharp/CXCursor.h b/sources/libClangSharp/CXCursor.h
index b6756b6b..73241d43 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-15.0.0/clang/tools/libclang
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/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
@@ -26,7 +26,7 @@
#pragma warning(pop)
namespace clang::cxcursor {
- typedef llvm::PointerUnion OverloadedDeclRefStorage;
+ typedef llvm::PointerUnion OverloadedDeclRefStorage;
/// Wraps a macro expansion cursor and provides a common interface
/// for a normal macro expansion cursor or a "pseudo" one.
@@ -38,15 +38,20 @@ namespace clang::cxcursor {
class MacroExpansionCursor {
CXCursor C;
- bool isPseudo() const { return C.data[1] != nullptr; }
+ bool isPseudo() const {
+ return C.data[1] != nullptr;
+ }
+
const MacroDefinitionRecord* getAsMacroDefinition() const {
assert(isPseudo());
return static_cast(C.data[0]);
}
+
const MacroExpansion* getAsMacroExpansion() const {
assert(!isPseudo());
return static_cast(C.data[0]);
}
+
SourceLocation getPseudoLoc() const {
assert(isPseudo());
return SourceLocation::getFromPtrEncoding(C.data[1]);
diff --git a/sources/libClangSharp/CXLoadedDiagnostic.cpp b/sources/libClangSharp/CXLoadedDiagnostic.cpp
index 3300c6d7..a3bd53fa 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-15.0.0/clang/tools/libclang
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/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"
@@ -15,7 +15,8 @@
#pragma warning(pop)
namespace clang {
- CXLoadedDiagnostic::~CXLoadedDiagnostic() { }
+ CXLoadedDiagnostic::~CXLoadedDiagnostic() {
+ }
CXDiagnosticSeverity CXLoadedDiagnostic::getSeverity() const {
// FIXME: Fail more softly if the diagnostic level is unknown?
@@ -42,7 +43,13 @@ namespace clang {
// is a persistent diagnostic.
uintptr_t V = (uintptr_t)DLoc;
V |= 0x1;
- CXSourceLocation Loc = { { (void*)V, nullptr }, 0 };
+ CXSourceLocation Loc = {
+ {
+ (void*)V,
+ nullptr
+ },
+ 0
+ };
return Loc;
}
@@ -57,12 +64,15 @@ namespace clang {
}
CXString CXLoadedDiagnostic::getDiagnosticOption(CXString* Disable) const {
- if (DiagOption.empty())
+ if (DiagOption.empty()) {
return cxstring::createEmpty();
+ }
// FIXME: possibly refactor with logic in CXStoredDiagnostic.
- if (Disable)
+ if (Disable) {
*Disable = cxstring::createDup((llvm::Twine("-Wno-") + DiagOption).str());
+ }
+
return cxstring::createDup((llvm::Twine("-W") + DiagOption).str());
}
@@ -89,8 +99,10 @@ namespace clang {
CXString CXLoadedDiagnostic::getFixIt(unsigned FixIt, CXSourceRange* ReplacementRange) const {
assert(FixIt < FixIts.size());
- if (ReplacementRange)
+
+ if (ReplacementRange) {
*ReplacementRange = FixIts[FixIt].first;
+ }
return cxstring::createRef(FixIts[FixIt].second);
}
@@ -112,13 +124,20 @@ namespace clang {
const Location& Loc = *((Location*)V);
- if (file)
+ if (file) {
*file = Loc.file;
- if (line)
+ }
+
+ if (line) {
*line = Loc.line;
- if (column)
+ }
+
+ if (column) {
*column = Loc.column;
- if (offset)
+ }
+
+ if (offset) {
*offset = Loc.offset;
+ }
}
}
diff --git a/sources/libClangSharp/CXLoadedDiagnostic.h b/sources/libClangSharp/CXLoadedDiagnostic.h
index 70b93616..3dadd3e3 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-15.0.0/clang/tools/libclang
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/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
@@ -19,7 +19,10 @@ namespace clang {
class CXLoadedDiagnostic : public CXDiagnosticImpl {
public:
CXLoadedDiagnostic()
- : CXDiagnosticImpl(LoadedDiagnosticKind), severity(0), category(0) { }
+ : CXDiagnosticImpl(LoadedDiagnosticKind)
+ , severity(0)
+ , category(0) {
+ }
~CXLoadedDiagnostic() override;
@@ -66,7 +69,11 @@ namespace clang {
unsigned column;
unsigned offset;
- Location() : line(0), column(0), offset(0) { }
+ Location()
+ : line(0)
+ , column(0)
+ , offset(0) {
+ }
};
Location DiagLoc;
diff --git a/sources/libClangSharp/CXSourceLocation.cpp b/sources/libClangSharp/CXSourceLocation.cpp
index 43cd0129..32167200 100644
--- a/sources/libClangSharp/CXSourceLocation.cpp
+++ b/sources/libClangSharp/CXSourceLocation.cpp
@@ -1,47 +1,58 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/clang/tools/libclang
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/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"
+
#include "CXCursor.h"
#include "CXSourceLocation.h"
#pragma warning(push)
#pragma warning(disable : 4146 4244 4267 4291 4624 4996)
-#include
-#include
-#include
+// #include
+// #include
#pragma warning(pop)
void createNullLocation(CXFile* file, unsigned* line, unsigned* column, unsigned* offset) {
- if (file)
+ if (file) {
*file = nullptr;
- if (line)
+ }
+
+ if (line) {
*line = 0;
- if (column)
+ }
+
+ if (column) {
*column = 0;
- if (offset)
+ }
+
+ if (offset) {
*offset = 0;
+ }
}
clang::SourceRange getCursorSourceRange(CXCursor C) {
using namespace clang;
using namespace clang::cxcursor;
- if (clang_isAttribute(C.kind))
+ if (clang_isAttribute(C.kind)) {
return getCursorAttr(C)->getRange();
+ }
- if (clang_isDeclaration(C.kind) || clang_isTranslationUnit(C.kind))
+ if (clang_isDeclaration(C.kind) || clang_isTranslationUnit(C.kind)) {
return getCursorDecl(C)->getSourceRange();
+ }
- if (clang_isExpression(C.kind) || clang_isStatement(C.kind))
+ if (clang_isExpression(C.kind) || clang_isStatement(C.kind)) {
return getCursorStmt(C)->getSourceRange();
+ }
- if (clang_isPreprocessing(C.kind))
+ if (clang_isPreprocessing(C.kind)) {
return getCursorPreprocessedEntity(C)->getSourceRange();
+ }
return SourceRange();
}
@@ -53,27 +64,77 @@ bool isASTUnitSourceLocation(const CXSourceLocation& L) {
}
namespace clang::cxloc {
+ /// Translate a Clang source location into a CIndex source location.
CXSourceLocation translateSourceLocation(ASTContext& Context, SourceLocation Loc) {
return translateSourceLocation(Context.getSourceManager(), Context.getLangOpts(), Loc);
}
+
+ /// Translate a Clang source location into a CIndex source location.
CXSourceLocation translateSourceLocation(const SourceManager& SM, const LangOptions& LangOpts, SourceLocation Loc) {
- if (Loc.isInvalid())
+ if (Loc.isInvalid()) {
return clang_getNullLocation();
+ }
CXSourceLocation Result = {
- { &SM, &LangOpts, },
+ {
+ &SM,
+ &LangOpts,
+ },
Loc.getRawEncoding()
};
return Result;
}
+ /// Translate a Clang source range into a CIndex source range.
CXSourceRange translateSourceRange(ASTContext& Context, SourceRange R) {
- return translateSourceRange(Context.getSourceManager(), Context.getLangOpts(), R);
+ return translateSourceRange(Context.getSourceManager(), Context.getLangOpts(), CharSourceRange::getTokenRange(R));
+ }
+
+ CXSourceRange translateSourceRangeRaw(ASTContext& Context, SourceRange R) {
+ return translateSourceRangeRaw(Context.getSourceManager(), Context.getLangOpts(), CharSourceRange::getTokenRange(R));
+ }
+
+ /// Translate a Clang source range into a CIndex source range.
+ ///
+ /// Clang internally represents ranges where the end location points to the
+ /// start of the token at the end. However, for external clients it is more
+ /// useful to have a CXSourceRange be a proper half-open interval. This routine
+ /// does the appropriate translation.
+ CXSourceRange translateSourceRange(const SourceManager& SM, const LangOptions& LangOpts, const CharSourceRange& R) {
+ // We want the last character in this location, so we will adjust the
+ // location accordingly.
+
+ SourceLocation EndLoc = R.getEnd();
+ bool IsTokenRange = R.isTokenRange();
+
+ if (EndLoc.isValid() && EndLoc.isMacroID() && !SM.isMacroArgExpansion(EndLoc)) {
+ CharSourceRange Expansion = SM.getExpansionRange(EndLoc);
+ EndLoc = Expansion.getEnd();
+ IsTokenRange = Expansion.isTokenRange();
+ }
+
+ if (IsTokenRange && EndLoc.isValid()) {
+ unsigned Length = Lexer::MeasureTokenLength(SM.getSpellingLoc(EndLoc), SM, LangOpts);
+ EndLoc = EndLoc.getLocWithOffset(Length);
+ }
+
+ CXSourceRange Result = {
+ {
+ &SM,
+ &LangOpts
+ },
+ R.getBegin().getRawEncoding(),
+ EndLoc.getRawEncoding()
+ };
+ return Result;
}
- CXSourceRange translateSourceRange(const SourceManager& SM, const LangOptions& LangOpts, SourceRange R) {
+ CXSourceRange translateSourceRangeRaw(const SourceManager& SM, const LangOptions& LangOpts, const CharSourceRange& R) {
CXSourceRange Result = {
- { &SM, &LangOpts },
+ {
+ &SM,
+ &LangOpts
+ },
R.getBegin().getRawEncoding(),
R.getEnd().getRawEncoding()
};
diff --git a/sources/libClangSharp/CXSourceLocation.h b/sources/libClangSharp/CXSourceLocation.h
index 3f827221..cc0cebca 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-15.0.0/clang/tools/libclang
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/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
@@ -9,10 +9,10 @@
#pragma warning(push)
#pragma warning(disable : 4146 4244 4267 4291 4624 4996)
-#include
-#include
-#include
#include
+#include
+#include
+#include
#pragma warning(pop)
@@ -27,7 +27,10 @@ namespace clang::cxloc {
CXSourceLocation translateSourceLocation(const SourceManager& SM, const LangOptions& LangOpts, SourceLocation Loc);
CXSourceRange translateSourceRange(ASTContext& Context, SourceRange R);
- CXSourceRange translateSourceRange(const SourceManager& SM, const LangOptions& LangOpts, SourceRange R);
+ CXSourceRange translateSourceRangeRaw(ASTContext& Context, SourceRange R);
+
+ CXSourceRange translateSourceRange(const SourceManager& SM, const LangOptions& LangOpts, const CharSourceRange& R);
+ CXSourceRange translateSourceRangeRaw(const SourceManager& SM, const LangOptions& LangOpts, const CharSourceRange& R);
}
#endif
diff --git a/sources/libClangSharp/CXString.cpp b/sources/libClangSharp/CXString.cpp
index 76fc15f9..9dce7f3b 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-15.0.0/clang/tools/libclang
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/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"
@@ -31,8 +31,9 @@ namespace clang::cxstring {
}
CXString createRef(const char* String) {
- if (String && String[0] == '\0')
+ if (String && String[0] == '\0') {
return createEmpty();
+ }
CXString Str;
Str.data = String;
diff --git a/sources/libClangSharp/CXString.h b/sources/libClangSharp/CXString.h
index 38c21182..0437c310 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-15.0.0/clang/tools/libclang
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/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 af34da48..641d77bf 100644
--- a/sources/libClangSharp/CXTranslationUnit.cpp
+++ b/sources/libClangSharp/CXTranslationUnit.cpp
@@ -1,14 +1,15 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/clang/tools/libclang
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/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"
namespace clang::cxtu {
ASTUnit* getASTUnit(CXTranslationUnit TU) {
- if (!TU)
+ if (!TU) {
return nullptr;
+ }
return TU->TheASTUnit;
}
}
diff --git a/sources/libClangSharp/CXTranslationUnit.h b/sources/libClangSharp/CXTranslationUnit.h
index 900ce279..13df0096 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-15.0.0/clang/tools/libclang
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/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 2e839414..102628b6 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-15.0.0/clang/tools/libclang
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/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"
@@ -53,6 +53,7 @@ namespace clang::cxtype {
BTCASE(ULongAccum);
BTCASE(Float16);
BTCASE(Float128);
+ BTCASE(Ibm128);
BTCASE(NullPtr);
BTCASE(Overload);
BTCASE(Dependent);
@@ -76,8 +77,10 @@ namespace clang::cxtype {
static CXTypeKind GetTypeKind(QualType T) {
const Type* TP = T.getTypePtrOrNull();
- if (!TP)
+
+ if (!TP) {
return CXType_Invalid;
+ }
#define TKCASE(K) case Type::K: return CXType_##K
switch (TP->getTypeClass()) {
@@ -108,6 +111,7 @@ namespace clang::cxtype {
TKCASE(Elaborated);
TKCASE(Pipe);
TKCASE(Attributed);
+ TKCASE(BTFTagAttributed);
TKCASE(Atomic);
default:
return CXType_Unexposed;
@@ -127,20 +131,30 @@ namespace clang::cxtype {
return MakeCXType(ATT->getEquivalentType(), TU);
}
}
+
+ if (auto* ATT = T->getAs()) {
+ if (!(TU->ParsingOptions & CXTranslationUnit_IncludeAttributedTypes))
+ return MakeCXType(ATT->getWrappedType(), TU);
+ }
+
// Handle paren types as the original type
if (auto* PTT = T->getAs()) {
return MakeCXType(PTT->getInnerType(), TU);
}
ASTContext& Ctx = cxtu::getASTUnit(TU)->getASTContext();
+
if (Ctx.getLangOpts().ObjC) {
QualType UnqualT = T.getUnqualifiedType();
- if (Ctx.isObjCIdType(UnqualT))
+ if (Ctx.isObjCIdType(UnqualT)) {
TK = CXType_ObjCId;
- else if (Ctx.isObjCClassType(UnqualT))
+ }
+ else if (Ctx.isObjCClassType(UnqualT)) {
TK = CXType_ObjCClass;
- else if (Ctx.isObjCSelType(UnqualT))
+ }
+ else if (Ctx.isObjCSelType(UnqualT)) {
TK = CXType_ObjCSel;
+ }
}
/* Handle decayed types as the original type */
@@ -148,11 +162,18 @@ namespace clang::cxtype {
return MakeCXType(DT->getOriginalType(), TU);
}
}
- if (TK == CXType_Invalid)
+
+ if (TK == CXType_Invalid) {
TK = GetTypeKind(T);
+ }
- CXType CT = { TK, { TK == CXType_Invalid ? nullptr
- : T.getAsOpaquePtr(), TU } };
+ CXType CT = {
+ TK,
+ {
+ TK == CXType_Invalid ? nullptr : T.getAsOpaquePtr(),
+ TU
+ }
+ };
return CT;
}
}
diff --git a/sources/libClangSharp/CXType.h b/sources/libClangSharp/CXType.h
index 2029193f..048a1c9d 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-15.0.0/clang/tools/libclang
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/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 4c7e8ba7..1c533fd7 100644
--- a/sources/libClangSharp/ClangSharp.cpp
+++ b/sources/libClangSharp/ClangSharp.cpp
@@ -1241,11 +1241,24 @@ CXCursor clangsharp_Cursor_getExpr(CXCursor C, unsigned i) {
return MakeCXCursor(SAD->getMessage(), D, getCursorTU(C));
}
}
+
+ if (const TopLevelStmtDecl* TLSD = dyn_cast(D)) {
+ if (i == 0) {
+ return MakeCXCursor(TLSD->getStmt(), D, getCursorTU(C));
+ }
+ }
}
if (isStmtOrExpr(C.kind)) {
const Stmt* S = getCursorStmt(C);
+ if (const CXXParenListInitExpr* CPLIE = dyn_cast(S)) {
+ const ArrayRef initExprs = CPLIE->getInitExprs();
+ if (i < initExprs.size()) {
+ return MakeCXCursor(initExprs[i], getCursorDecl(C), getCursorTU(C));
+ }
+ }
+
if (const ObjCMessageExpr* OCME = dyn_cast(S)) {
return MakeCXCursor(OCME->getInstanceReceiver(), getCursorDecl(C), getCursorTU(C));
}
@@ -1974,6 +1987,18 @@ unsigned clangsharp_Cursor_getIsArrow(CXCursor C) {
return 0;
}
+unsigned clangsharp_Cursor_getIsCBuffer(CXCursor C) {
+ if (isDeclOrTU(C.kind)) {
+ const Decl* D = getCursorDecl(C);
+
+ if (const HLSLBufferDecl* HLSLBD = dyn_cast(D)) {
+ return HLSLBD->isCBuffer();
+ }
+ }
+
+ return 0;
+}
+
unsigned clangsharp_Cursor_getIsClassExtension(CXCursor C) {
if (isDeclOrTU(C.kind)) {
const Decl* D = getCursorDecl(C);
@@ -2041,7 +2066,7 @@ unsigned clangsharp_Cursor_getIsCopyOrMoveConstructor(CXCursor C) {
const Decl* D = getCursorDecl(C);
if (const CXXConstructorDecl* CXXCD = dyn_cast(D)) {
- return !CXXCD->isCopyOrMoveConstructor();
+ return CXXCD->isCopyOrMoveConstructor();
}
}
@@ -2077,7 +2102,7 @@ unsigned clangsharp_Cursor_getIsDelegatingConstructor(CXCursor C) {
const Decl* D = getCursorDecl(C);
if (const CXXConstructorDecl* CXXCD = dyn_cast(D)) {
- return !CXXCD->isDelegatingConstructor();
+ return CXXCD->isDelegatingConstructor();
}
}
@@ -2089,7 +2114,7 @@ unsigned clangsharp_Cursor_getIsDeleted(CXCursor C) {
const Decl* D = getCursorDecl(C);
if (const FunctionDecl* FD = dyn_cast(D)) {
- return !FD->isDeleted();
+ return FD->isDeleted();
}
}
@@ -2122,7 +2147,7 @@ unsigned clangsharp_Cursor_getIsExplicitlyDefaulted(CXCursor C) {
const Decl* D = getCursorDecl(C);
if (const FunctionDecl* FD = dyn_cast(D)) {
- return !FD->isExplicitlyDefaulted();
+ return FD->isExplicitlyDefaulted();
}
}
@@ -2287,7 +2312,7 @@ unsigned clangsharp_Cursor_getIsInheritingConstructor(CXCursor C) {
const Decl* D = getCursorDecl(C);
if (const CXXConstructorDecl* CXXCD = dyn_cast(D)) {
- return !CXXCD->isInheritingConstructor();
+ return CXXCD->isInheritingConstructor();
}
}
@@ -3252,6 +3277,26 @@ int clangsharp_Cursor_getNumExprs(CXCursor C) {
}
}
+ if (isStmtOrExpr(C.kind)) {
+ const Stmt* S = getCursorStmt(C);
+
+ if (const CXXParenListInitExpr* CPLIE = dyn_cast(S)) {
+ return CPLIE->getInitExprs().size();
+ }
+ }
+
+ return -1;
+}
+
+int clangsharp_Cursor_getNumExprsOther(CXCursor C) {
+ if (isStmtOrExpr(C.kind)) {
+ const Stmt* S = getCursorStmt(C);
+
+ if (const CXXParenListInitExpr* CPLIE = dyn_cast(S)) {
+ return CPLIE->getUserSpecifiedInitExprs().size();
+ }
+ }
+
return -1;
}
@@ -3384,6 +3429,10 @@ int clangsharp_Cursor_getNumTemplateArguments(CXCursor C) {
return FTD->getInjectedTemplateArgs().size();
}
+ if (const ImplicitConceptSpecializationDecl* ICSD = const_cast(dyn_cast(D))) {
+ return ICSD->getTemplateArguments().size();
+ }
+
if (const VarTemplateSpecializationDecl* VTSD = dyn_cast(D)) {
return VTSD->getTemplateArgs().size();
}
@@ -3868,6 +3917,15 @@ CXSourceRange clangsharp_Cursor_getSourceRange(CXCursor C) {
return translateSourceRange(getCursorContext(C), R);
}
+CXSourceRange clangsharp_Cursor_getSourceRangeRaw(CXCursor C) {
+ SourceRange R = getCursorSourceRange(C);
+
+ if (R.isInvalid())
+ return clang_getNullRange();
+
+ return translateSourceRangeRaw(getCursorContext(C), R);
+}
+
CXCursor clangsharp_Cursor_getSpecialization(CXCursor C, unsigned i) {
if (isDeclOrTU(C.kind)) {
const Decl* D = getCursorDecl(C);
@@ -4087,6 +4145,10 @@ CXCursor clangsharp_Cursor_getSubExpr(CXCursor C) {
if (isStmtOrExpr(C.kind)) {
const Stmt* S = getCursorStmt(C);
+ if (const CXXParenListInitExpr* CPLIE = dyn_cast(S)) {
+ return MakeCXCursor(CPLIE->getArrayFiller(), getCursorDecl(C), getCursorTU(C));
+ }
+
if (const InitListExpr* ILE = dyn_cast(S)) {
return MakeCXCursor(ILE->getArrayFiller(), getCursorDecl(C), getCursorTU(C));
}
@@ -4174,6 +4236,13 @@ CX_TemplateArgument clangsharp_Cursor_getTemplateArgument(CXCursor C, unsigned i
}
}
+ if (const ImplicitConceptSpecializationDecl* ICSD = const_cast(dyn_cast(D))) {
+ if (i < ICSD->getTemplateArguments().size()) {
+ const TemplateArgument* TA = &ICSD->getTemplateArguments()[i];
+ return MakeCXTemplateArgument(TA, getCursorTU(C));
+ }
+ }
+
if (const VarTemplatePartialSpecializationDecl* VTPSD = dyn_cast(D)) {
if (i < VTPSD->getTemplateArgs().size()) {
const TemplateArgument* TA = &VTPSD->getTemplateArgs()[i];
@@ -4744,7 +4813,7 @@ int64_t clangsharp_Cursor_getVtblIdx(CXCursor C) {
}
CXString clangsharp_getVersion() {
- return cxstring::createDup("clangsharp version 15.0.0");
+ return cxstring::createDup("clangsharp version 16.0.6");
}
void clangsharp_TemplateArgument_dispose(CX_TemplateArgument T) {
@@ -4948,6 +5017,20 @@ CXSourceRange clangsharp_TemplateArgumentLoc_getSourceRange(CX_TemplateArgumentL
return translateSourceRange(getASTUnit(T.tu)->getASTContext(), R);
}
+CXSourceRange clangsharp_TemplateArgumentLoc_getSourceRangeRaw(CX_TemplateArgumentLoc T) {
+ if (!T.value) {
+ return clang_getNullRange();
+ }
+
+ SourceRange R = T.value->getSourceRange();
+
+ if (R.isInvalid()) {
+ return clang_getNullRange();
+ }
+
+ return translateSourceRangeRaw(getASTUnit(T.tu)->getASTContext(), R);
+}
+
CXCursor clangsharp_TemplateName_getAsTemplateDecl(CX_TemplateName T) {
if (T.value) {
TemplateName TN = TemplateName::getFromVoidPointer(const_cast(T.value));
@@ -5302,11 +5385,11 @@ CXType clangsharp_Type_getOriginalType(CXType CT) {
}
if (const SubstTemplateTypeParmPackType* STTPPT = dyn_cast(TP)) {
- return MakeCXType(QualType(STTPPT->getReplacedParameter(), 0), GetTypeTU(CT));
+ return MakeCXType(QualType(STTPPT->getReplacedParameter()->getTypeForDecl(), 0), GetTypeTU(CT));
}
if (const SubstTemplateTypeParmType* STTPT = dyn_cast(TP)) {
- return MakeCXType(QualType(STTPT->getReplacedParameter(), 0), GetTypeTU(CT));
+ return MakeCXType(QualType(STTPT->getReplacedParameter()->getTypeForDecl(), 0), GetTypeTU(CT));
}
return MakeCXType(QualType(), GetTypeTU(CT));
@@ -5383,14 +5466,16 @@ CX_TemplateArgument clangsharp_Type_getTemplateArgument(CXType CT, unsigned i) {
const Type* TP = T.getTypePtrOrNull();
if (const AutoType* AT = dyn_cast(TP)) {
- if (i < AT->getNumArgs()) {
- return MakeCXTemplateArgument(&AT->getArg(i), GetTypeTU(CT));
+ ArrayRef typeConstraintArguments = AT->getTypeConstraintArguments();
+ if (i < typeConstraintArguments.size()) {
+ return MakeCXTemplateArgument(&typeConstraintArguments[i], GetTypeTU(CT));
}
}
if (const DependentTemplateSpecializationType* DTST = dyn_cast(TP)) {
- if (i < DTST->getNumArgs()) {
- return MakeCXTemplateArgument(&DTST->getArg(i), GetTypeTU(CT));
+ ArrayRef templateArguments = DTST->template_arguments();
+ if (i < templateArguments.size()) {
+ return MakeCXTemplateArgument(&templateArguments[i], GetTypeTU(CT));
}
}
@@ -5402,8 +5487,9 @@ CX_TemplateArgument clangsharp_Type_getTemplateArgument(CXType CT, unsigned i) {
}
if (const TemplateSpecializationType* TST = dyn_cast(TP)) {
- if (i < TST->getNumArgs()) {
- return MakeCXTemplateArgument(&TST->getArg(i), GetTypeTU(CT));
+ ArrayRef templateArguments = TST->template_arguments();
+ if (i < templateArguments.size()) {
+ return MakeCXTemplateArgument(&templateArguments[i], GetTypeTU(CT));
}
}
@@ -5488,10 +5574,6 @@ CXType clangsharp_Type_getUnderlyingType(CXType CT) {
return MakeCXType(OCOT->getSuperClassType(), GetTypeTU(CT));
}
- if (const TypeOfType* TOT = dyn_cast(TP)) {
- return MakeCXType(TOT->getUnderlyingType(), GetTypeTU(CT));
- }
-
if (const UnaryTransformType* UTT = dyn_cast(TP)) {
return MakeCXType(UTT->getUnderlyingType(), GetTypeTU(CT));
}
diff --git a/sources/libClangSharp/ClangSharp.h b/sources/libClangSharp/ClangSharp.h
index 31e211b0..cd84d833 100644
--- a/sources/libClangSharp/ClangSharp.h
+++ b/sources/libClangSharp/ClangSharp.h
@@ -450,6 +450,8 @@ CLANGSHARP_LINKAGE unsigned clangsharp_Cursor_getIsArrayFormAsWritten(CXCursor C
CLANGSHARP_LINKAGE unsigned clangsharp_Cursor_getIsArrow(CXCursor C);
+CLANGSHARP_LINKAGE unsigned clangsharp_Cursor_getIsCBuffer(CXCursor C);
+
CLANGSHARP_LINKAGE unsigned clangsharp_Cursor_getIsClassExtension(CXCursor C);
CLANGSHARP_LINKAGE unsigned clangsharp_Cursor_getIsCompleteDefinition(CXCursor C);
@@ -612,6 +614,8 @@ CLANGSHARP_LINKAGE int clangsharp_Cursor_getNumExpansionTypes(CXCursor C);
CLANGSHARP_LINKAGE int clangsharp_Cursor_getNumExprs(CXCursor C);
+CLANGSHARP_LINKAGE int clangsharp_Cursor_getNumExprsOther(CXCursor C);
+
CLANGSHARP_LINKAGE int clangsharp_Cursor_getNumFields(CXCursor C);
CLANGSHARP_LINKAGE int clangsharp_Cursor_getNumFriends(CXCursor C);
@@ -664,6 +668,8 @@ CLANGSHARP_LINKAGE unsigned clangsharp_Cursor_getShouldCopy(CXCursor C);
CLANGSHARP_LINKAGE CXSourceRange clangsharp_Cursor_getSourceRange(CXCursor C);
+CLANGSHARP_LINKAGE CXSourceRange clangsharp_Cursor_getSourceRangeRaw(CXCursor C);
+
CLANGSHARP_LINKAGE CXCursor clangsharp_Cursor_getSpecialization(CXCursor C, unsigned i);
CLANGSHARP_LINKAGE CX_StmtClass clangsharp_Cursor_getStmtClass(CXCursor C);
@@ -772,6 +778,8 @@ CLANGSHARP_LINKAGE CXCursor clangsharp_TemplateArgumentLoc_getSourceNullPtrExpre
CLANGSHARP_LINKAGE CXSourceRange clangsharp_TemplateArgumentLoc_getSourceRange(CX_TemplateArgumentLoc T);
+CLANGSHARP_LINKAGE CXSourceRange clangsharp_TemplateArgumentLoc_getSourceRangeRaw(CX_TemplateArgumentLoc T);
+
CLANGSHARP_LINKAGE CXCursor clangsharp_TemplateName_getAsTemplateDecl(CX_TemplateName T);
CLANGSHARP_LINKAGE CXType clangsharp_Type_desugar(CXType CT);
diff --git a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXCursorSetImplTests.cs b/tests/ClangSharp.UnitTests/InteropTests/Manual/CXCursorSetImplTests.cs
index 4fe9d6fb..d8c3c61f 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXCursorSetImplTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/Manual/CXCursorSetImplTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXModuleMapDescriptorImplTests.cs b/tests/ClangSharp.UnitTests/InteropTests/Manual/CXModuleMapDescriptorImplTests.cs
index e014209c..570d6ff8 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXModuleMapDescriptorImplTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/Manual/CXModuleMapDescriptorImplTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXTargetInfoImplTests.cs b/tests/ClangSharp.UnitTests/InteropTests/Manual/CXTargetInfoImplTests.cs
index 6d11e51d..e35c186f 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXTargetInfoImplTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/Manual/CXTargetInfoImplTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXTranslationUnitImplTests.cs b/tests/ClangSharp.UnitTests/InteropTests/Manual/CXTranslationUnitImplTests.cs
index 3ba72036..12cf9554 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXTranslationUnitImplTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/Manual/CXTranslationUnitImplTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXVirtualFileOverlayImplTests.cs b/tests/ClangSharp.UnitTests/InteropTests/Manual/CXVirtualFileOverlayImplTests.cs
index d045c5e5..392f1b0a 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/Manual/CXVirtualFileOverlayImplTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/Manual/CXVirtualFileOverlayImplTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCodeCompleteResultsTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXCodeCompleteResultsTests.cs
index 2d4763aa..578f4119 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCodeCompleteResultsTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXCodeCompleteResultsTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCommentTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXCommentTests.cs
index b2f36ee2..c1e1fcff 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCommentTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXCommentTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCompletionResultTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXCompletionResultTests.cs
index b60ff848..72b2436b 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCompletionResultTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXCompletionResultTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCursorAndRangeVisitorTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXCursorAndRangeVisitorTests.cs
index a876764b..8fe15ee5 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCursorAndRangeVisitorTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXCursorAndRangeVisitorTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCursorTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXCursorTests.cs
index 7dcc4ace..6436de63 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXCursorTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXCursorTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXFileUniqueIDTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXFileUniqueIDTests.cs
index d4445e39..d969295f 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXFileUniqueIDTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXFileUniqueIDTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxAttrInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxAttrInfoTests.cs
index f8a51172..86d86203 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxAttrInfoTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxAttrInfoTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxBaseClassInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxBaseClassInfoTests.cs
index 023e400c..bcbddc19 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxBaseClassInfoTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxBaseClassInfoTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxCXXClassDeclInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxCXXClassDeclInfoTests.cs
index 2b92c5f4..b2819b60 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxCXXClassDeclInfoTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxCXXClassDeclInfoTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxContainerInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxContainerInfoTests.cs
index 055f3bc8..3d531297 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxContainerInfoTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxContainerInfoTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxDeclInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxDeclInfoTests.cs
index 3e1b8905..e87fff90 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxDeclInfoTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxDeclInfoTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxEntityInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxEntityInfoTests.cs
index c34dec95..4d4063e9 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxEntityInfoTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxEntityInfoTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxEntityRefInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxEntityRefInfoTests.cs
index 75f2b7e1..5c45a147 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxEntityRefInfoTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxEntityRefInfoTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxIBOutletCollectionAttrInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxIBOutletCollectionAttrInfoTests.cs
index d4ba2e60..59bd6248 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxIBOutletCollectionAttrInfoTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxIBOutletCollectionAttrInfoTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxImportedASTFileInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxImportedASTFileInfoTests.cs
index ba9dc345..2173abaa 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxImportedASTFileInfoTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxImportedASTFileInfoTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxIncludedFileInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxIncludedFileInfoTests.cs
index 8789ab71..6c52a654 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxIncludedFileInfoTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxIncludedFileInfoTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxLocTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxLocTests.cs
index 43cd4e35..b3df38fa 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxLocTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxLocTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCCategoryDeclInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCCategoryDeclInfoTests.cs
index 18532b27..998cfd5a 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCCategoryDeclInfoTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCCategoryDeclInfoTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCContainerDeclInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCContainerDeclInfoTests.cs
index 994eeeee..474f0805 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCContainerDeclInfoTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCContainerDeclInfoTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCInterfaceDeclInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCInterfaceDeclInfoTests.cs
index 3135b9b3..ad9c806c 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCInterfaceDeclInfoTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCInterfaceDeclInfoTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCPropertyDeclInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCPropertyDeclInfoTests.cs
index e9abdf5d..077c46d4 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCPropertyDeclInfoTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCPropertyDeclInfoTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCProtocolRefInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCProtocolRefInfoTests.cs
index 0e47c6f5..f66ca569 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCProtocolRefInfoTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCProtocolRefInfoTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCProtocolRefListInfoTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCProtocolRefListInfoTests.cs
index 20c08c2d..86163a4b 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCProtocolRefListInfoTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXIdxObjCProtocolRefListInfoTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXPlatformAvailabilityTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXPlatformAvailabilityTests.cs
index 39e7d30a..cfd65a76 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXPlatformAvailabilityTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXPlatformAvailabilityTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceLocationTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceLocationTests.cs
index 34bbbdfe..77b68026 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceLocationTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceLocationTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceRangeListTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceRangeListTests.cs
index 2b4441aa..2af2eb4a 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceRangeListTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceRangeListTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceRangeTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceRangeTests.cs
index 76f75b3b..50768b2a 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceRangeTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXSourceRangeTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXStringSetTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXStringSetTests.cs
index bd3d4402..32413561 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXStringSetTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXStringSetTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXStringTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXStringTests.cs
index 3a234d65..107cad61 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXStringTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXStringTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXTUResourceUsageEntryTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXTUResourceUsageEntryTests.cs
index d34225c6..caed158e 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXTUResourceUsageEntryTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXTUResourceUsageEntryTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXTUResourceUsageTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXTUResourceUsageTests.cs
index 41853c90..e547c198 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXTUResourceUsageTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXTUResourceUsageTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXTokenTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXTokenTests.cs
index f0c23088..cf0ca5e8 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXTokenTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXTokenTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXTypeTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXTypeTests.cs
index d2f91f79..0fb832c0 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXTypeTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXTypeTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXUnsavedFileTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXUnsavedFileTests.cs
index 10894692..0a493ad8 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXUnsavedFileTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXUnsavedFileTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/CXVersionTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/CXVersionTests.cs
index eff31ab9..4fe77199 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/CXVersionTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/CXVersionTests.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-15.0.0/clang/include/clang-c
+// 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;
diff --git a/tests/ClangSharp.UnitTests/InteropTests/clang/IndexerCallbacksTests.cs b/tests/ClangSharp.UnitTests/InteropTests/clang/IndexerCallbacksTests.cs
index e157038d..d5cbcc1a 100644
--- a/tests/ClangSharp.UnitTests/InteropTests/clang/IndexerCallbacksTests.cs
+++ b/tests/ClangSharp.UnitTests/InteropTests/clang/IndexerCallbacksTests.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-15.0.0/clang/include/clang-c
+// 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;