diff --git a/Directory.Build.props b/Directory.Build.props index 3dd0688..3ec9239 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -25,7 +25,7 @@ embedded false true - disable + enable true true true @@ -45,7 +45,7 @@ $(BaseArtifactsPath)pkg/$(Configuration)/ LLVMSharp LLVMSharp - 14.0.0 + 15.0.0 beta1 pr diff --git a/Directory.Build.targets b/Directory.Build.targets index c080422..ee04b70 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -12,7 +12,7 @@ - $(NoWarn) + $(NoWarn);AD0001 diff --git a/Directory.Packages.props b/Directory.Packages.props index 31e1474..48318cb 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -12,7 +12,7 @@ - + diff --git a/LLVMSharp.sln b/LLVMSharp.sln index 088222f..5970d16 100644 --- a/LLVMSharp.sln +++ b/LLVMSharp.sln @@ -99,9 +99,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libLLVM.runtime.win-x86", " packages\libLLVM\libLLVM.runtime.win-x86\libLLVM.runtime.win-x86.nuspec = packages\libLLVM\libLLVM.runtime.win-x86\libLLVM.runtime.win-x86.nuspec EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libLLVM.runtime.ubuntu.21.10-x64", "libLLVM.runtime.ubuntu.21.10-x64", "{1808D302-0067-4121-964C-2CBAFB8A957A}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libLLVM.runtime.ubuntu.22.04-x64", "libLLVM.runtime.ubuntu.22.04-x64", "{1808D302-0067-4121-964C-2CBAFB8A957A}" ProjectSection(SolutionItems) = preProject - packages\libLLVM\libLLVM.runtime.ubuntu.21.10-x64\libLLVM.runtime.ubuntu.21.10-x64.nuspec = packages\libLLVM\libLLVM.runtime.ubuntu.21.10-x64\libLLVM.runtime.ubuntu.21.10-x64.nuspec + packages\libLLVM\libLLVM.runtime.ubuntu.22.04-x64\libLLVM.runtime.ubuntu.22.04-x64.nuspec = packages\libLLVM\libLLVM.runtime.ubuntu.22.04-x64\libLLVM.runtime.ubuntu.22.04-x64.nuspec EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libLLVM.runtime.win-arm64", "libLLVM.runtime.win-arm64", "{19DB05E9-59B6-45E9-B47D-62913F7DF9A8}" @@ -123,6 +123,16 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libLLVM.runtime.freebsd.13- packages\libLLVM\libLLVM.runtime.freebsd.13-x64\libLLVM.runtime.freebsd.13-x64.nuspec = packages\libLLVM\libLLVM.runtime.freebsd.13-x64\libLLVM.runtime.freebsd.13-x64.nuspec EndProjectSection EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libLLVM.runtime.linux-x64", "libLLVM.runtime.linux-x64", "{C8508256-2EC1-4C88-B61D-AFB86569FBCD}" + ProjectSection(SolutionItems) = preProject + packages\libLLVM\libLLVM.runtime.linux-x64\libLLVM.runtime.linux-x64.nuspec = packages\libLLVM\libLLVM.runtime.linux-x64\libLLVM.runtime.linux-x64.nuspec + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libLLVM.runtime.osx-arm64", "libLLVM.runtime.osx-arm64", "{3870145D-F6DC-4082-A3F5-2316D49ADD43}" + ProjectSection(SolutionItems) = preProject + packages\libLLVM\libLLVM.runtime.osx-arm64\libLLVM.runtime.osx-arm64.nuspec = packages\libLLVM\libLLVM.runtime.osx-arm64\libLLVM.runtime.osx-arm64.nuspec + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -162,6 +172,8 @@ Global {CEA0F0C9-DF25-446B-8F55-FB629BD1D3E6} = {62B5C536-C224-4EE1-972F-05F732B5980B} {706334B8-BB91-49A4-BC9C-DFFDF3DCD770} = {E8ADE5A7-4363-43B7-B104-6B0E5510CAF0} {4F526018-55AE-41FF-BF01-21F60EB95CBC} = {9D46FF1C-E09F-4063-A97D-C09F26310B67} + {C8508256-2EC1-4C88-B61D-AFB86569FBCD} = {9D46FF1C-E09F-4063-A97D-C09F26310B67} + {3870145D-F6DC-4082-A3F5-2316D49ADD43} = {9D46FF1C-E09F-4063-A97D-C09F26310B67} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {75550D8C-A492-4ED3-8387-206830F8B21E} diff --git a/packages/libLLVM/libLLVM.runtime.freebsd.12-x64/libLLVM.runtime.freebsd.12-x64.nuspec b/packages/libLLVM/libLLVM.runtime.freebsd.12-x64/libLLVM.runtime.freebsd.12-x64.nuspec index 3b49232..f946a36 100644 --- a/packages/libLLVM/libLLVM.runtime.freebsd.12-x64/libLLVM.runtime.freebsd.12-x64.nuspec +++ b/packages/libLLVM/libLLVM.runtime.freebsd.12-x64/libLLVM.runtime.freebsd.12-x64.nuspec @@ -2,7 +2,7 @@ libLLVM.runtime.freebsd.12-x64 - 14.0.0 + 15.0.0 .NET Foundation and Contributors .NET Foundation and Contributors true @@ -10,7 +10,7 @@ https://github.com/dotnet/llvmsharp freebsd 12 x64 native library for libLLVM. Copyright © LLVM Project - + diff --git a/packages/libLLVM/libLLVM.runtime.freebsd.13-x64/libLLVM.runtime.freebsd.13-x64.nuspec b/packages/libLLVM/libLLVM.runtime.freebsd.13-x64/libLLVM.runtime.freebsd.13-x64.nuspec index f4f53af..9daec78 100644 --- a/packages/libLLVM/libLLVM.runtime.freebsd.13-x64/libLLVM.runtime.freebsd.13-x64.nuspec +++ b/packages/libLLVM/libLLVM.runtime.freebsd.13-x64/libLLVM.runtime.freebsd.13-x64.nuspec @@ -2,7 +2,7 @@ libLLVM.runtime.freebsd.13-x64 - 14.0.0 + 15.0.0 .NET Foundation and Contributors .NET Foundation and Contributors true @@ -10,7 +10,7 @@ https://github.com/dotnet/llvmsharp freebsd 13 x64 native library for libLLVM. Copyright © LLVM Project - + diff --git a/packages/libLLVM/libLLVM.runtime.linux-arm64/libLLVM.runtime.linux-arm64.nuspec b/packages/libLLVM/libLLVM.runtime.linux-arm64/libLLVM.runtime.linux-arm64.nuspec index 80fb885..0b0d2cb 100644 --- a/packages/libLLVM/libLLVM.runtime.linux-arm64/libLLVM.runtime.linux-arm64.nuspec +++ b/packages/libLLVM/libLLVM.runtime.linux-arm64/libLLVM.runtime.linux-arm64.nuspec @@ -2,7 +2,7 @@ libLLVM.runtime.linux-arm64 - 14.0.0 + 15.0.0 .NET Foundation and Contributors .NET Foundation and Contributors true @@ -10,7 +10,7 @@ https://github.com/dotnet/llvmsharp linux arm64 native library for libLLVM. Copyright © LLVM Project - + diff --git a/packages/libLLVM/libLLVM.runtime.linux-x64/libLLVM.runtime.linux-x64.nuspec b/packages/libLLVM/libLLVM.runtime.linux-x64/libLLVM.runtime.linux-x64.nuspec new file mode 100644 index 0000000..7ecbb8b --- /dev/null +++ b/packages/libLLVM/libLLVM.runtime.linux-x64/libLLVM.runtime.linux-x64.nuspec @@ -0,0 +1,19 @@ + + + + libLLVM.runtime.linux-x64 + 15.0.0 + .NET Foundation and Contributors + .NET Foundation and Contributors + true + Apache-2.0 WITH LLVM-exception + https://github.com/dotnet/llvmsharp + linux x64 native library for libLLVM. + Copyright © LLVM Project + + + + + + + diff --git a/packages/libLLVM/libLLVM.runtime.osx-arm64/libLLVM.runtime.osx-arm64.nuspec b/packages/libLLVM/libLLVM.runtime.osx-arm64/libLLVM.runtime.osx-arm64.nuspec new file mode 100644 index 0000000..f79e9ce --- /dev/null +++ b/packages/libLLVM/libLLVM.runtime.osx-arm64/libLLVM.runtime.osx-arm64.nuspec @@ -0,0 +1,19 @@ + + + + libLLVM.runtime.osx-arm64 + 15.0.0 + .NET Foundation and Contributors + .NET Foundation and Contributors + true + Apache-2.0 WITH LLVM-exception + https://github.com/dotnet/llvmsharp + osx arm64 native library for libLLVM. + Copyright © LLVM Project + + + + + + + diff --git a/packages/libLLVM/libLLVM.runtime.osx-x64/libLLVM.runtime.osx-x64.nuspec b/packages/libLLVM/libLLVM.runtime.osx-x64/libLLVM.runtime.osx-x64.nuspec index c884877..ac19872 100644 --- a/packages/libLLVM/libLLVM.runtime.osx-x64/libLLVM.runtime.osx-x64.nuspec +++ b/packages/libLLVM/libLLVM.runtime.osx-x64/libLLVM.runtime.osx-x64.nuspec @@ -2,7 +2,7 @@ libLLVM.runtime.osx-x64 - 14.0.0 + 15.0.0 .NET Foundation and Contributors .NET Foundation and Contributors true @@ -10,7 +10,7 @@ https://github.com/dotnet/llvmsharp osx x64 native library for libLLVM. Copyright © LLVM Project - + diff --git a/packages/libLLVM/libLLVM.runtime.ubuntu.18.04-x64/libLLVM.runtime.ubuntu.18.04-x64.nuspec b/packages/libLLVM/libLLVM.runtime.ubuntu.18.04-x64/libLLVM.runtime.ubuntu.18.04-x64.nuspec index 815b32e..e2bdcc7 100644 --- a/packages/libLLVM/libLLVM.runtime.ubuntu.18.04-x64/libLLVM.runtime.ubuntu.18.04-x64.nuspec +++ b/packages/libLLVM/libLLVM.runtime.ubuntu.18.04-x64/libLLVM.runtime.ubuntu.18.04-x64.nuspec @@ -2,7 +2,7 @@ libLLVM.runtime.ubuntu.18.04-x64 - 14.0.0 + 15.0.0 .NET Foundation and Contributors .NET Foundation and Contributors true @@ -10,7 +10,7 @@ https://github.com/dotnet/llvmsharp ubuntu 18.04 x64 native library for libLLVM. Copyright © LLVM Project - + diff --git a/packages/libLLVM/libLLVM.runtime.ubuntu.20.04-x64/libLLVM.runtime.ubuntu.20.04-x64.nuspec b/packages/libLLVM/libLLVM.runtime.ubuntu.20.04-x64/libLLVM.runtime.ubuntu.20.04-x64.nuspec index 31ee90a..96ec91b 100644 --- a/packages/libLLVM/libLLVM.runtime.ubuntu.20.04-x64/libLLVM.runtime.ubuntu.20.04-x64.nuspec +++ b/packages/libLLVM/libLLVM.runtime.ubuntu.20.04-x64/libLLVM.runtime.ubuntu.20.04-x64.nuspec @@ -2,7 +2,7 @@ libLLVM.runtime.ubuntu.20.04-x64 - 14.0.0 + 15.0.0 .NET Foundation and Contributors .NET Foundation and Contributors true @@ -10,7 +10,7 @@ https://github.com/dotnet/llvmsharp ubuntu 20.04 x64 native library for libLLVM. Copyright © LLVM Project - + diff --git a/packages/libLLVM/libLLVM.runtime.ubuntu.21.10-x64/libLLVM.runtime.ubuntu.21.10-x64.nuspec b/packages/libLLVM/libLLVM.runtime.ubuntu.22.04-x64/libLLVM.runtime.ubuntu.22.04-x64.nuspec similarity index 75% rename from packages/libLLVM/libLLVM.runtime.ubuntu.21.10-x64/libLLVM.runtime.ubuntu.21.10-x64.nuspec rename to packages/libLLVM/libLLVM.runtime.ubuntu.22.04-x64/libLLVM.runtime.ubuntu.22.04-x64.nuspec index 6953695..35aa51d 100644 --- a/packages/libLLVM/libLLVM.runtime.ubuntu.21.10-x64/libLLVM.runtime.ubuntu.21.10-x64.nuspec +++ b/packages/libLLVM/libLLVM.runtime.ubuntu.22.04-x64/libLLVM.runtime.ubuntu.22.04-x64.nuspec @@ -1,19 +1,19 @@ - libLLVM.runtime.ubuntu.21.10-x64 - 14.0.0 + libLLVM.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/llvmsharp - ubuntu 21.10 x64 native library for libLLVM. + ubuntu 22.04 x64 native library for libLLVM. Copyright © LLVM Project - + - + diff --git a/packages/libLLVM/libLLVM.runtime.win-arm64/libLLVM.runtime.win-arm64.nuspec b/packages/libLLVM/libLLVM.runtime.win-arm64/libLLVM.runtime.win-arm64.nuspec index d579d23..155c8c2 100644 --- a/packages/libLLVM/libLLVM.runtime.win-arm64/libLLVM.runtime.win-arm64.nuspec +++ b/packages/libLLVM/libLLVM.runtime.win-arm64/libLLVM.runtime.win-arm64.nuspec @@ -2,7 +2,7 @@ libLLVM.runtime.win-arm64 - 14.0.0 + 15.0.0 .NET Foundation and Contributors .NET Foundation and Contributors true @@ -10,7 +10,7 @@ https://github.com/dotnet/llvmsharp win arm64 native library for libLLVM. Copyright © LLVM Project - + diff --git a/packages/libLLVM/libLLVM.runtime.win-x64/libLLVM.runtime.win-x64.nuspec b/packages/libLLVM/libLLVM.runtime.win-x64/libLLVM.runtime.win-x64.nuspec index 4f98d99..579c436 100644 --- a/packages/libLLVM/libLLVM.runtime.win-x64/libLLVM.runtime.win-x64.nuspec +++ b/packages/libLLVM/libLLVM.runtime.win-x64/libLLVM.runtime.win-x64.nuspec @@ -2,7 +2,7 @@ libLLVM.runtime.win-x64 - 14.0.0 + 15.0.0 .NET Foundation and Contributors .NET Foundation and Contributors true @@ -10,7 +10,7 @@ https://github.com/dotnet/llvmsharp win x64 native library for libLLVM. Copyright © LLVM Project - + diff --git a/packages/libLLVM/libLLVM.runtime.win-x86/libLLVM.runtime.win-x86.nuspec b/packages/libLLVM/libLLVM.runtime.win-x86/libLLVM.runtime.win-x86.nuspec index daf10ff..d0f417a 100644 --- a/packages/libLLVM/libLLVM.runtime.win-x86/libLLVM.runtime.win-x86.nuspec +++ b/packages/libLLVM/libLLVM.runtime.win-x86/libLLVM.runtime.win-x86.nuspec @@ -2,7 +2,7 @@ libLLVM.runtime.win-x86 - 14.0.0 + 15.0.0 .NET Foundation and Contributors .NET Foundation and Contributors true @@ -10,7 +10,7 @@ https://github.com/dotnet/llvmsharp win x86 native library for libLLVM. Copyright © LLVM Project - + diff --git a/packages/libLLVM/libLLVM/LICENSE.TXT b/packages/libLLVM/libLLVM/LICENSE.TXT index 24806ab..5715176 100644 --- a/packages/libLLVM/libLLVM/LICENSE.TXT +++ b/packages/libLLVM/libLLVM/LICENSE.TXT @@ -239,7 +239,7 @@ Legacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy): University of Illinois/NCSA Open Source License -Copyright (c) 2007-2019 University of Illinois at Urbana-Champaign. +Copyright (c) 2003-2019 University of Illinois at Urbana-Champaign. All rights reserved. Developed by: diff --git a/packages/libLLVM/libLLVM/libLLVM.nuspec b/packages/libLLVM/libLLVM/libLLVM.nuspec index 28e4874..2374bbb 100644 --- a/packages/libLLVM/libLLVM/libLLVM.nuspec +++ b/packages/libLLVM/libLLVM/libLLVM.nuspec @@ -2,7 +2,7 @@ libLLVM - 14.0.0 + 15.0.0 .NET Foundation and Contributors .NET Foundation and Contributors true @@ -10,14 +10,12 @@ https://github.com/dotnet/llvmsharp Multi-platform native library for libLLVM. Copyright © LLVM Project - + - - - - + + diff --git a/packages/libLLVM/libLLVM/runtime.json b/packages/libLLVM/libLLVM/runtime.json index ea72c49..07d289c 100644 --- a/packages/libLLVM/libLLVM/runtime.json +++ b/packages/libLLVM/libLLVM/runtime.json @@ -2,52 +2,62 @@ "runtimes": { "freebsd.12-x64": { "libLLVM": { - "libLLVM.runtime.freebsd.12-x64": "14.0.0" + "libLLVM.runtime.freebsd.12-x64": "15.0.0" } }, "freebsd.13-x64": { "libLLVM": { - "libLLVM.runtime.freebsd.13-x64": "14.0.0" + "libLLVM.runtime.freebsd.13-x64": "15.0.0" } }, "linux-arm64": { "libLLVM": { - "libLLVM.runtime.linux-arm64": "14.0.0" + "libLLVM.runtime.linux-arm64": "15.0.0" + } + }, + "linux-x64": { + "libLLVM": { + "libLLVM.runtime.linux-x64": "15.0.0" + } + }, + "osx-arm64": { + "libLLVM": { + "libLLVM.runtime.osx-arm64": "15.0.0" } }, "osx-x64": { "libLLVM": { - "libLLVM.runtime.osx-x64": "14.0.0" + "libLLVM.runtime.osx-x64": "15.0.0" } }, "ubuntu.18.04-x64": { "libLLVM": { - "libLLVM.runtime.ubuntu.18.04-x64": "14.0.0" + "libLLVM.runtime.ubuntu.18.04-x64": "15.0.0" } }, "ubuntu.20.04-x64": { "libLLVM": { - "libLLVM.runtime.ubuntu.20.04-x64": "14.0.0" + "libLLVM.runtime.ubuntu.20.04-x64": "15.0.0" } }, - "ubuntu.21.10-x64": { + "ubuntu.22.04-x64": { "libLLVM": { - "libLLVM.runtime.ubuntu.21.10-x64": "14.0.0" + "libLLVM.runtime.ubuntu.22.04-x64": "15.0.0" } }, "win-arm64": { "libLLVM": { - "libLLVM.runtime.win-arm64": "14.0.0" + "libLLVM.runtime.win-arm64": "15.0.0" } }, "win-x64": { "libLLVM": { - "libLLVM.runtime.win-x64": "14.0.0" + "libLLVM.runtime.win-x64": "15.0.0" } }, "win-x86": { "libLLVM": { - "libLLVM.runtime.win-x86": "14.0.0" + "libLLVM.runtime.win-x86": "15.0.0" } } } diff --git a/sources/LLVMSharp.Interop/Extensions/LLVM.Manual.cs b/sources/LLVMSharp.Interop/Extensions/LLVM.Manual.cs index a87625a..40fbff3 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVM.Manual.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVM.Manual.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVM.ResolveLibrary.cs b/sources/LLVMSharp.Interop/Extensions/LLVM.ResolveLibrary.cs index 854b3ca..3f5ad66 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVM.ResolveLibrary.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVM.ResolveLibrary.cs @@ -9,7 +9,7 @@ namespace LLVMSharp.Interop; public static unsafe partial class LLVM { - public static event DllImportResolver ResolveLibrary; + public static event DllImportResolver? ResolveLibrary; static LLVM() { diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMAttributeRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMAttributeRef.cs index 3b574bb..3596f64 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMAttributeRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMAttributeRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMAttributeRef : IEquatable public static bool operator !=(LLVMAttributeRef left, LLVMAttributeRef right) => !(left == right); - public override bool Equals(object obj) => (obj is LLVMAttributeRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMAttributeRef other) && Equals(other); public bool Equals(LLVMAttributeRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMBasicBlockRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMBasicBlockRef.cs index d836f4b..5367ee8 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMBasicBlockRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMBasicBlockRef.cs @@ -67,7 +67,7 @@ public unsafe partial struct LLVMBasicBlockRef : IEquatable public void Dump() => LLVM.DumpValue(this); - public override bool Equals(object obj) => (obj is LLVMBasicBlockRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMBasicBlockRef other) && Equals(other); public bool Equals(LLVMBasicBlockRef other) => this == other; @@ -93,9 +93,8 @@ public unsafe partial struct LLVMBasicBlockRef : IEquatable { return string.Empty; } - var span = new ReadOnlySpan(pStr, int.MaxValue); - var result = span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + var result = SpanExtensions.AsString(pStr); LLVM.DisposeMessage(pStr); return result; } diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMBinaryRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMBinaryRef.cs index 730727f..ae7b772 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMBinaryRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMBinaryRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMBinaryRef : IEquatable public static bool operator !=(LLVMBinaryRef left, LLVMBinaryRef right) => !(left == right); - public override bool Equals(object obj) => (obj is LLVMBinaryRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMBinaryRef other) && Equals(other); public bool Equals(LLVMBinaryRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMBuilderRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMBuilderRef.cs index f6ebfca..94e4813 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMBuilderRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMBuilderRef.cs @@ -124,8 +124,10 @@ public unsafe partial struct LLVMBuilderRef : IDisposable, IEquatable LLVM.BuildBr(this, Dest); + [Obsolete("Use BuildCall2 instead to support opaque pointer")] public LLVMValueRef BuildCall(LLVMValueRef Fn, LLVMValueRef[] Args, string Name = "") => BuildCall(Fn, Args.AsSpan(), Name.AsSpan()); + [Obsolete("Use BuildCall2 instead to support opaque pointer")] public LLVMValueRef BuildCall(LLVMValueRef Fn, ReadOnlySpan Args, ReadOnlySpan Name) { fixed (LLVMValueRef* pArgs = Args) @@ -135,6 +137,17 @@ public unsafe partial struct LLVMBuilderRef : IDisposable, IEquatable BuildCall2(Ty, Fn, Args.AsSpan(), Name.AsSpan()); + + public LLVMValueRef BuildCall2(LLVMTypeRef Ty, LLVMValueRef Fn, ReadOnlySpan Args, ReadOnlySpan Name) + { + fixed (LLVMValueRef* pArgs = Args) + { + using var marshaledName = new MarshaledString(Name); + return LLVM.BuildCall2(this, Ty, Fn, (LLVMOpaqueValue**)pArgs, (uint)Args.Length, marshaledName); + } + } + public LLVMValueRef BuildCast(LLVMOpcode Op, LLVMValueRef Val, LLVMTypeRef DestTy, string Name = "") => BuildCast(Op, Val, DestTy, Name.AsSpan()); public LLVMValueRef BuildCast(LLVMOpcode Op, LLVMValueRef Val, LLVMTypeRef DestTy, ReadOnlySpan Name) @@ -283,8 +296,10 @@ public unsafe partial struct LLVMBuilderRef : IDisposable, IEquatable BuildGEP(Pointer, Indices.AsSpan(), Name.AsSpan()); + [Obsolete("Use BuildGEP2 instead to support opaque pointer")] public LLVMValueRef BuildGEP(LLVMValueRef Pointer, ReadOnlySpan Indices, ReadOnlySpan Name) { fixed (LLVMValueRef* pIndices = Indices) @@ -294,6 +309,17 @@ public unsafe partial struct LLVMBuilderRef : IDisposable, IEquatable BuildGEP2(Ty, Pointer, Indices.AsSpan(), Name.AsSpan()); + + public LLVMValueRef BuildGEP2(LLVMTypeRef Ty, LLVMValueRef Pointer, ReadOnlySpan Indices, ReadOnlySpan Name) + { + fixed (LLVMValueRef* pIndices = Indices) + { + using var marshaledName = new MarshaledString(Name); + return LLVM.BuildGEP2(this, Ty, Pointer, (LLVMOpaqueValue**)pIndices, (uint)Indices.Length, marshaledName); + } + } + public LLVMValueRef BuildGlobalString(string Str, string Name = "") => BuildGlobalString(Str.AsSpan(), Name.AsSpan()); public LLVMValueRef BuildGlobalString(ReadOnlySpan Str, ReadOnlySpan Name) @@ -320,8 +346,10 @@ public unsafe partial struct LLVMBuilderRef : IDisposable, IEquatable BuildInBoundsGEP(Pointer, Indices.AsSpan(), Name.AsSpan()); + [Obsolete("Use BuildInBoundsGEP2 instead to support opaque pointer")] public LLVMValueRef BuildInBoundsGEP(LLVMValueRef Pointer, ReadOnlySpan Indices, ReadOnlySpan Name) { fixed (LLVMValueRef* pIndices = Indices) @@ -331,6 +359,17 @@ public unsafe partial struct LLVMBuilderRef : IDisposable, IEquatable BuildInBoundsGEP2(Ty, Pointer, Indices.AsSpan(), Name.AsSpan()); + + public LLVMValueRef BuildInBoundsGEP2(LLVMTypeRef Ty, LLVMValueRef Pointer, ReadOnlySpan Indices, ReadOnlySpan Name) + { + fixed (LLVMValueRef* pIndices = Indices) + { + using var marshaledName = new MarshaledString(Name); + return LLVM.BuildInBoundsGEP2(this, Ty, Pointer, (LLVMOpaqueValue**)pIndices, (uint)Indices.Length, marshaledName); + } + } + public LLVMValueRef BuildIndirectBr(LLVMValueRef Addr, uint NumDests) => LLVM.BuildIndirectBr(this, Addr, NumDests); public LLVMValueRef BuildInsertElement(LLVMValueRef VecVal, LLVMValueRef EltVal, LLVMValueRef Index, string Name = "") => BuildInsertElement(VecVal, EltVal, Index, Name.AsSpan()); @@ -365,8 +404,10 @@ public unsafe partial struct LLVMBuilderRef : IDisposable, IEquatable BuildInvoke(Fn, Args.AsSpan(), Then, Catch, Name.AsSpan()); + [Obsolete("Use BuildInvoke2 instead to support opaque pointer")] public LLVMValueRef BuildInvoke(LLVMValueRef Fn, ReadOnlySpan Args, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch, ReadOnlySpan Name) { fixed (LLVMValueRef* pArgs = Args) @@ -376,6 +417,17 @@ public unsafe partial struct LLVMBuilderRef : IDisposable, IEquatable BuildInvoke2(Ty, Fn, Args.AsSpan(), Then, Catch, Name.AsSpan()); + + public LLVMValueRef BuildInvoke2(LLVMTypeRef Ty, LLVMValueRef Fn, ReadOnlySpan Args, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch, ReadOnlySpan Name) + { + fixed (LLVMValueRef* pArgs = Args) + { + using var marshaledName = new MarshaledString(Name); + return LLVM.BuildInvoke2(this, Ty, Fn, (LLVMOpaqueValue**)pArgs, (uint)Args.Length, Then, Catch, marshaledName); + } + } + public LLVMValueRef BuildIsNotNull(LLVMValueRef Val, string Name = "") => BuildIsNotNull(Val, Name.AsSpan()); public LLVMValueRef BuildIsNotNull(LLVMValueRef Val, ReadOnlySpan Name) @@ -400,14 +452,24 @@ public unsafe partial struct LLVMBuilderRef : IDisposable, IEquatable BuildLoad(PointerVal, Name.AsSpan()); + [Obsolete("Use BuildLoad2 instead to support opaque pointer")] public LLVMValueRef BuildLoad(LLVMValueRef PointerVal, ReadOnlySpan Name) { using var marshaledName = new MarshaledString(Name); return LLVM.BuildLoad(this, PointerVal, marshaledName); } + public LLVMValueRef BuildLoad2(LLVMTypeRef Ty, LLVMValueRef PointerVal, string Name = "") => BuildLoad2(Ty, PointerVal, Name.AsSpan()); + + public LLVMValueRef BuildLoad2(LLVMTypeRef Ty, LLVMValueRef PointerVal, ReadOnlySpan Name) + { + using var marshaledName = new MarshaledString(Name); + return LLVM.BuildLoad2(this, Ty, PointerVal, marshaledName); + } + public LLVMValueRef BuildLShr(LLVMValueRef LHS, LLVMValueRef RHS, string Name = "") => BuildLShr(LHS, RHS, Name.AsSpan()); public LLVMValueRef BuildLShr(LLVMValueRef LHS, LLVMValueRef RHS, ReadOnlySpan Name) @@ -536,14 +598,24 @@ public unsafe partial struct LLVMBuilderRef : IDisposable, IEquatable BuildPtrDiff(LHS, RHS, Name.AsSpan()); + [Obsolete("Use BuildPtrDiff2 instead to support opaque pointer")] public LLVMValueRef BuildPtrDiff(LLVMValueRef LHS, LLVMValueRef RHS, ReadOnlySpan Name) { using var marshaledName = new MarshaledString(Name); return LLVM.BuildPtrDiff(this, LHS, RHS, marshaledName); } + public LLVMValueRef BuildPtrDiff2(LLVMTypeRef ElemTy, LLVMValueRef LHS, LLVMValueRef RHS, string Name = "") => BuildPtrDiff2(ElemTy, LHS, RHS, Name.AsSpan()); + + public LLVMValueRef BuildPtrDiff2(LLVMTypeRef ElemTy, LLVMValueRef LHS, LLVMValueRef RHS, ReadOnlySpan Name) + { + using var marshaledName = new MarshaledString(Name); + return LLVM.BuildPtrDiff2(this, ElemTy, LHS, RHS, marshaledName); + } + public LLVMValueRef BuildPtrToInt(LLVMValueRef Val, LLVMTypeRef DestTy, string Name = "") => BuildPtrToInt(Val, DestTy, Name.AsSpan()); public LLVMValueRef BuildPtrToInt(LLVMValueRef Val, LLVMTypeRef DestTy, ReadOnlySpan Name) @@ -624,14 +696,24 @@ public unsafe partial struct LLVMBuilderRef : IDisposable, IEquatable LLVM.BuildStore(this, Val, Ptr); + [Obsolete("Use BuildStructGEP2 instead to support opaque pointer")] public LLVMValueRef BuildStructGEP(LLVMValueRef Pointer, uint Idx, string Name = "") => BuildStructGEP(Pointer, Idx, Name.AsSpan()); + [Obsolete("Use BuildStructGEP2 instead to support opaque pointer")] public LLVMValueRef BuildStructGEP(LLVMValueRef Pointer, uint Idx, ReadOnlySpan Name) { using var marshaledName = new MarshaledString(Name); return LLVM.BuildStructGEP(this, Pointer, Idx, marshaledName); } + public LLVMValueRef BuildStructGEP2(LLVMTypeRef Ty, LLVMValueRef Pointer, uint Idx, string Name = "") => BuildStructGEP2(Ty, Pointer, Idx, Name.AsSpan()); + + public LLVMValueRef BuildStructGEP2(LLVMTypeRef Ty, LLVMValueRef Pointer, uint Idx, ReadOnlySpan Name) + { + using var marshaledName = new MarshaledString(Name); + return LLVM.BuildStructGEP2(this, Ty, Pointer, Idx, marshaledName); + } + public LLVMValueRef BuildSub(LLVMValueRef LHS, LLVMValueRef RHS, string Name = "") => BuildSub(LHS, RHS, Name.AsSpan()); public LLVMValueRef BuildSub(LLVMValueRef LHS, LLVMValueRef RHS, ReadOnlySpan Name) @@ -726,7 +808,7 @@ public unsafe partial struct LLVMBuilderRef : IDisposable, IEquatable (obj is LLVMBuilderRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMBuilderRef other) && Equals(other); public bool Equals(LLVMBuilderRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMComdatRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMComdatRef.cs index da743e8..f3d40b0 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMComdatRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMComdatRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMComdatRef : IEquatable public static bool operator !=(LLVMComdatRef left, LLVMComdatRef right) => !(left == right); - public override bool Equals(object obj) => (obj is LLVMComdatRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMComdatRef other) && Equals(other); public bool Equals(LLVMComdatRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMContextRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMContextRef.cs index 306e412..0e8e149 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMContextRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMContextRef.cs @@ -95,7 +95,7 @@ public unsafe partial struct LLVMContextRef : IDisposable, IEquatable (obj is LLVMContextRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMContextRef other) && Equals(other); public bool Equals(LLVMContextRef other) => this == other; @@ -195,16 +195,26 @@ public unsafe partial struct LLVMContextRef : IDisposable, IEquatable )Marshal.GetFunctionPointerForDelegate(Handler); + SetDiagnosticHandler(pHandler, DiagnosticContext); } - public void SetYieldCallback(LLVMYieldCallback Callback, IntPtr OpaqueHandle) + public void SetDiagnosticHandler(delegate* unmanaged[Cdecl] Handler, void* DiagnosticContext) { - var pCallback = Marshal.GetFunctionPointerForDelegate(Callback); - LLVM.ContextSetYieldCallback(this, pCallback, (void*)OpaqueHandle); + LLVM.ContextSetDiagnosticHandler(this, Handler, DiagnosticContext); + } + + public void SetYieldCallback(LLVMYieldCallback Callback, void* OpaqueHandle) + { + var pCallback = (delegate* unmanaged[Cdecl] < LLVMOpaqueContext *, void *, void>)Marshal.GetFunctionPointerForDelegate(Callback); + SetYieldCallback(pCallback, OpaqueHandle); + } + + public void SetYieldCallback(delegate* unmanaged[Cdecl] Callback, void* OpaqueHandle) + { + LLVM.ContextSetYieldCallback(this, Callback, OpaqueHandle); } public override string ToString() => $"{nameof(LLVMContextRef)}: {Handle:X}"; @@ -222,8 +232,7 @@ public unsafe partial struct LLVMContextRef : IDisposable, IEquatable(pMessage, int.MaxValue); - OutMessage = span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + OutMessage = SpanExtensions.AsString(pMessage); } return result == 0; @@ -243,8 +252,7 @@ public unsafe partial struct LLVMContextRef : IDisposable, IEquatable(pMessage, int.MaxValue); - OutMessage = span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + OutMessage = SpanExtensions.AsString(pMessage); } return result == 0; @@ -264,8 +272,7 @@ public unsafe partial struct LLVMContextRef : IDisposable, IEquatable(pMessage, int.MaxValue); - OutMessage = span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + OutMessage = SpanExtensions.AsString(pMessage); } return result == 0; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMDIBuilderRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMDIBuilderRef.cs index 72d70b6..bd8ed21 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMDIBuilderRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMDIBuilderRef.cs @@ -113,7 +113,7 @@ public unsafe partial struct LLVMDIBuilderRef : IEquatable public void DIBuilderFinalize() => LLVM.DIBuilderFinalize(this); - public override bool Equals(object obj) => (obj is LLVMDIBuilderRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMDIBuilderRef other) && Equals(other); public bool Equals(LLVMDIBuilderRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMDiagnosticInfoRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMDiagnosticInfoRef.cs index a68d1f5..f7a49c2 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMDiagnosticInfoRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMDiagnosticInfoRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMDiagnosticInfoRef : IEquatable !(left == right); - public override bool Equals(object obj) => (obj is LLVMDiagnosticInfoRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMDiagnosticInfoRef other) && Equals(other); public bool Equals(LLVMDiagnosticInfoRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMDisasmContextRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMDisasmContextRef.cs index 83b80a0..ce9cb26 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMDisasmContextRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMDisasmContextRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMDisasmContextRef : IEquatable !(left == right); - public override bool Equals(object obj) => (obj is LLVMDisasmContextRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMDisasmContextRef other) && Equals(other); public bool Equals(LLVMDisasmContextRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMErrorRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMErrorRef.cs index a3b5745..7911f77 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMErrorRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMErrorRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMErrorRef : IEquatable public static bool operator !=(LLVMErrorRef left, LLVMErrorRef right) => !(left == right); - public override bool Equals(object obj) => (obj is LLVMErrorRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMErrorRef other) && Equals(other); public bool Equals(LLVMErrorRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMErrorTypeId.cs b/sources/LLVMSharp.Interop/Extensions/LLVMErrorTypeId.cs index bff6a6f..41df64c 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMErrorTypeId.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMErrorTypeId.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMErrorTypeId : IEquatable public static bool operator !=(LLVMErrorTypeId left, LLVMErrorTypeId right) => !(left == right); - public override bool Equals(object obj) => (obj is LLVMErrorTypeId other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMErrorTypeId other) && Equals(other); public bool Equals(LLVMErrorTypeId other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMExecutionEngineRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMExecutionEngineRef.cs index aa3c8e0..4de5286 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMExecutionEngineRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMExecutionEngineRef.cs @@ -39,7 +39,7 @@ public unsafe partial struct LLVMExecutionEngineRef : IDisposable, IEquatable (obj is LLVMExecutionEngineRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMExecutionEngineRef other) && Equals(other); public bool Equals(LLVMExecutionEngineRef other) => this == other; @@ -151,8 +151,7 @@ public unsafe partial struct LLVMExecutionEngineRef : IDisposable, IEquatable(pError, int.MaxValue); - OutError = span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + OutError = SpanExtensions.AsString(pError); } return result == 0; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMGenericValueRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMGenericValueRef.cs index c6a2cee..8833776 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMGenericValueRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMGenericValueRef.cs @@ -25,7 +25,7 @@ public unsafe partial struct LLVMGenericValueRef : IEquatable LLVM.CreateGenericValueOfFloat(Ty, N); - public override bool Equals(object obj) => (obj is LLVMGenericValueRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMGenericValueRef other) && Equals(other); public bool Equals(LLVMGenericValueRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMJITEventListenerRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMJITEventListenerRef.cs index a9331e0..0b939e3 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMJITEventListenerRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMJITEventListenerRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMJITEventListenerRef : IEquatable !(left == right); - public override bool Equals(object obj) => (obj is LLVMJITEventListenerRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMJITEventListenerRef other) && Equals(other); public bool Equals(LLVMJITEventListenerRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMMCJITMemoryManagerRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMMCJITMemoryManagerRef.cs index 4e87d79..53c4b35 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMMCJITMemoryManagerRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMMCJITMemoryManagerRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMMCJITMemoryManagerRef : IEquatable !(left == right); - public override bool Equals(object obj) => (obj is LLVMMCJITMemoryManagerRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMMCJITMemoryManagerRef other) && Equals(other); public bool Equals(LLVMMCJITMemoryManagerRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMMemoryBufferRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMMemoryBufferRef.cs index d35b2a7..2c52e40 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMMemoryBufferRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMMemoryBufferRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMMemoryBufferRef : IEquatable !(left == right); - public override bool Equals(object obj) => (obj is LLVMMemoryBufferRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMMemoryBufferRef other) && Equals(other); public bool Equals(LLVMMemoryBufferRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMMetadataRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMMetadataRef.cs index 685c1e1..e6dc85e 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMMetadataRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMMetadataRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMMetadataRef : IEquatable public static bool operator !=(LLVMMetadataRef left, LLVMMetadataRef right) => !(left == right); - public override bool Equals(object obj) => (obj is LLVMMetadataRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMMetadataRef other) && Equals(other); public bool Equals(LLVMMetadataRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMModuleFlagEntry.cs b/sources/LLVMSharp.Interop/Extensions/LLVMModuleFlagEntry.cs index c0aab10..c515892 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMModuleFlagEntry.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMModuleFlagEntry.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMModuleFlagEntry : IEquatable !(left == right); - public override bool Equals(object obj) => (obj is LLVMModuleFlagEntry other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMModuleFlagEntry other) && Equals(other); public bool Equals(LLVMModuleFlagEntry other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMModuleProviderRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMModuleProviderRef.cs index b379dad..8c02e76 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMModuleProviderRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMModuleProviderRef.cs @@ -23,7 +23,7 @@ public unsafe partial struct LLVMModuleProviderRef : IEquatable LLVM.CreateFunctionPassManager(this); - public override bool Equals(object obj) => (obj is LLVMModuleProviderRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMModuleProviderRef other) && Equals(other); public bool Equals(LLVMModuleProviderRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMModuleRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMModuleRef.cs index d50fca2..75ef933 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMModuleRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMModuleRef.cs @@ -32,8 +32,7 @@ public unsafe partial struct LLVMModuleRef : IDisposable, IEquatable(pDataLayoutStr, int.MaxValue); - return span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + return SpanExtensions.AsString(pDataLayoutStr); } set @@ -67,8 +66,7 @@ public unsafe partial struct LLVMModuleRef : IDisposable, IEquatable(pTriple, int.MaxValue); - return span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + return SpanExtensions.AsString(pTriple); } set @@ -94,14 +92,24 @@ public unsafe partial struct LLVMModuleRef : IDisposable, IEquatable AddAlias(Ty, Aliasee, Name.AsSpan()); + [Obsolete("Use AddAlias2 instead to support opaque pointer")] public LLVMValueRef AddAlias(LLVMTypeRef Ty, LLVMValueRef Aliasee, ReadOnlySpan Name) { using var marshaledName = new MarshaledString(Name); return LLVM.AddAlias(this, Ty, Aliasee, marshaledName); } + public LLVMValueRef AddAlias2(LLVMTypeRef ValueTy, uint AddrSpace, LLVMValueRef Aliasee, string Name) => AddAlias2(ValueTy, AddrSpace, Aliasee, Name.AsSpan()); + + public LLVMValueRef AddAlias2(LLVMTypeRef ValueTy, uint AddrSpace, LLVMValueRef Aliasee, ReadOnlySpan Name) + { + using var marshaledName = new MarshaledString(Name); + return LLVM.AddAlias2(this, ValueTy, AddrSpace, Aliasee, marshaledName); + } + public LLVMValueRef AddFunction(string Name, LLVMTypeRef FunctionTy) => AddFunction(Name.AsSpan(), FunctionTy); public LLVMValueRef AddFunction(ReadOnlySpan Name, LLVMTypeRef FunctionTy) @@ -225,7 +233,7 @@ public unsafe partial struct LLVMModuleRef : IDisposable, IEquatable LLVM.DumpModule(this); - public override bool Equals(object obj) => (obj is LLVMModuleRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMModuleRef other) && Equals(other); public bool Equals(LLVMModuleRef other) => this == other; @@ -296,9 +304,8 @@ public unsafe partial struct LLVMModuleRef : IDisposable, IEquatable(pStr, int.MaxValue); - var result = span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + var result = SpanExtensions.AsString(pStr); LLVM.DisposeMessage(pStr); return result; } @@ -326,8 +333,7 @@ public unsafe partial struct LLVMModuleRef : IDisposable, IEquatable(pError, int.MaxValue); - OutError = span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + OutError = SpanExtensions.AsString(pError); } return result == 0; @@ -347,8 +353,7 @@ public unsafe partial struct LLVMModuleRef : IDisposable, IEquatable(pError, int.MaxValue); - OutError = span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + OutError = SpanExtensions.AsString(pError); } return result == 0; @@ -375,8 +380,7 @@ public unsafe partial struct LLVMModuleRef : IDisposable, IEquatable(pError, int.MaxValue); - OutError = span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + OutError = SpanExtensions.AsString(pError); } return result == 0; @@ -391,6 +395,7 @@ public unsafe partial struct LLVMModuleRef : IDisposable, IEquatable(pErrorMessage, int.MaxValue); - ErrorMessage = span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + ErrorMessage = SpanExtensions.AsString(pErrorMessage); } return result == 0; @@ -423,8 +427,7 @@ public unsafe partial struct LLVMModuleRef : IDisposable, IEquatable(pMessage, int.MaxValue); - OutMessage = span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + OutMessage = SpanExtensions.AsString(pMessage); } return result == 0; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMNamedMDNodeRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMNamedMDNodeRef.cs index 68f8a1a..7657405 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMNamedMDNodeRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMNamedMDNodeRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMNamedMDNodeRef : IEquatable public static bool operator !=(LLVMNamedMDNodeRef left, LLVMNamedMDNodeRef right) => !(left == right); - public override bool Equals(object obj) => (obj is LLVMNamedMDNodeRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMNamedMDNodeRef other) && Equals(other); public bool Equals(LLVMNamedMDNodeRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMObjectFileRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMObjectFileRef.cs index 7c71218..929dc99 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMObjectFileRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMObjectFileRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMObjectFileRef : IEquatable public static bool operator !=(LLVMObjectFileRef left, LLVMObjectFileRef right) => !(left == right); - public override bool Equals(object obj) => (obj is LLVMObjectFileRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMObjectFileRef other) && Equals(other); public bool Equals(LLVMObjectFileRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMPassManagerBuilderRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMPassManagerBuilderRef.cs index 8577d79..ce67e44 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMPassManagerBuilderRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMPassManagerBuilderRef.cs @@ -30,7 +30,7 @@ public unsafe partial struct LLVMPassManagerBuilderRef : IEquatable (obj is LLVMPassManagerBuilderRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMPassManagerBuilderRef other) && Equals(other); public bool Equals(LLVMPassManagerBuilderRef other) => this == other; @@ -40,11 +40,6 @@ public unsafe partial struct LLVMPassManagerBuilderRef : IEquatable LLVM.PassManagerBuilderPopulateModulePassManager(this, PM); - public void PopulateLTOPassManager(LLVMPassManagerRef PM, int Internalize, int RunInliner) - { - LLVM.PassManagerBuilderPopulateLTOPassManager(this, PM, Internalize, RunInliner); - } - public void SetSizeLevel(uint SizeLevel) => LLVM.PassManagerBuilderSetSizeLevel(this, SizeLevel); public void SetDisableUnitAtATime(int Value) => LLVM.PassManagerBuilderSetDisableUnitAtATime(this, Value); diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMPassManagerRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMPassManagerRef.cs index 696f9c2..14d5e98 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMPassManagerRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMPassManagerRef.cs @@ -29,8 +29,6 @@ public unsafe partial struct LLVMPassManagerRef : IDisposable, IEquatable LLVM.AddAlwaysInlinerPass(this); - public void AddArgumentPromotionPass() => LLVM.AddArgumentPromotionPass(this); - public void AddBasicAliasAnalysisPass() => LLVM.AddBasicAliasAnalysisPass(this); public void AddBitTrackingDCEPass() => LLVM.AddBitTrackingDCEPass(this); @@ -87,8 +85,6 @@ public unsafe partial struct LLVMPassManagerRef : IDisposable, IEquatable LLVM.AddLoopUnrollPass(this); - public void AddLoopUnswitchPass() => LLVM.AddLoopUnswitchPass(this); - public void AddLoopVectorizePass() => LLVM.AddLoopVectorizePass(this); public void AddLowerConstantIntrinsicsPass() => LLVM.AddLowerConstantIntrinsicsPass(this); @@ -148,7 +144,7 @@ public unsafe partial struct LLVMPassManagerRef : IDisposable, IEquatable (obj is LLVMPassManagerRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMPassManagerRef other) && Equals(other); public bool Equals(LLVMPassManagerRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMPassRegistryRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMPassRegistryRef.cs index 420f1e5..5f7c4e4 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMPassRegistryRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMPassRegistryRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMPassRegistryRef : IEquatable !(left == right); - public override bool Equals(object obj) => (obj is LLVMPassRegistryRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMPassRegistryRef other) && Equals(other); public bool Equals(LLVMPassRegistryRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMRelocationIteratorRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMRelocationIteratorRef.cs index 6fe6252..9ee7ee5 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMRelocationIteratorRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMRelocationIteratorRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMRelocationIteratorRef : IEquatable !(left == right); - public override bool Equals(object obj) => (obj is LLVMRelocationIteratorRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMRelocationIteratorRef other) && Equals(other); public bool Equals(LLVMRelocationIteratorRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMRemarkArgRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMRemarkArgRef.cs index 48d111b..d5622ac 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMRemarkArgRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMRemarkArgRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMRemarkArgRef : IEquatable public static bool operator !=(LLVMRemarkArgRef left, LLVMRemarkArgRef right) => !(left == right); - public override bool Equals(object obj) => (obj is LLVMRemarkArgRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMRemarkArgRef other) && Equals(other); public bool Equals(LLVMRemarkArgRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMRemarkDebugLocRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMRemarkDebugLocRef.cs index 5039017..7f27e84 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMRemarkDebugLocRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMRemarkDebugLocRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMRemarkDebugLocRef : IEquatable !(left == right); - public override bool Equals(object obj) => (obj is LLVMRemarkDebugLocRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMRemarkDebugLocRef other) && Equals(other); public bool Equals(LLVMRemarkDebugLocRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMRemarkEntryRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMRemarkEntryRef.cs index 1716fab..b0ec4c5 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMRemarkEntryRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMRemarkEntryRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMRemarkEntryRef : IEquatable public static bool operator !=(LLVMRemarkEntryRef left, LLVMRemarkEntryRef right) => !(left == right); - public override bool Equals(object obj) => (obj is LLVMRemarkEntryRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMRemarkEntryRef other) && Equals(other); public bool Equals(LLVMRemarkEntryRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMRemarkParserRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMRemarkParserRef.cs index b34af68..2aeb43d 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMRemarkParserRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMRemarkParserRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMRemarkParserRef : IEquatable !(left == right); - public override bool Equals(object obj) => (obj is LLVMRemarkParserRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMRemarkParserRef other) && Equals(other); public bool Equals(LLVMRemarkParserRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMRemarkStringRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMRemarkStringRef.cs index daa1756..eef64d5 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMRemarkStringRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMRemarkStringRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMRemarkStringRef : IEquatable !(left == right); - public override bool Equals(object obj) => (obj is LLVMRemarkStringRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMRemarkStringRef other) && Equals(other); public bool Equals(LLVMRemarkStringRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMSectionIteratorRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMSectionIteratorRef.cs index 96b884c..2440241 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMSectionIteratorRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMSectionIteratorRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMSectionIteratorRef : IEquatable !(left == right); - public override bool Equals(object obj) => (obj is LLVMSectionIteratorRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMSectionIteratorRef other) && Equals(other); public bool Equals(LLVMSectionIteratorRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMSymbolIteratorRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMSymbolIteratorRef.cs index e312587..10eb463 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMSymbolIteratorRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMSymbolIteratorRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMSymbolIteratorRef : IEquatable !(left == right); - public override bool Equals(object obj) => (obj is LLVMSymbolIteratorRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMSymbolIteratorRef other) && Equals(other); public bool Equals(LLVMSymbolIteratorRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMTargetDataRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMTargetDataRef.cs index d5d9432..d3fb703 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMTargetDataRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMTargetDataRef.cs @@ -23,7 +23,7 @@ public unsafe partial struct LLVMTargetDataRef : IEquatable public static LLVMTargetDataRef FromStringRepresentation(ReadOnlySpan stringRep) => LLVM.CreateTargetData(new MarshaledString(stringRep)); - public override bool Equals(object obj) => (obj is LLVMTargetDataRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMTargetDataRef other) && Equals(other); public bool Equals(LLVMTargetDataRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMTargetLibraryInfoRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMTargetLibraryInfoRef.cs index a0827cc..56d8c0b 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMTargetLibraryInfoRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMTargetLibraryInfoRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMTargetLibraryInfoRef : IEquatable !(left == right); - public override bool Equals(object obj) => (obj is LLVMTargetLibraryInfoRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMTargetLibraryInfoRef other) && Equals(other); public bool Equals(LLVMTargetLibraryInfoRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMTargetMachineRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMTargetMachineRef.cs index 644b3a4..f33d9e5 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMTargetMachineRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMTargetMachineRef.cs @@ -34,7 +34,7 @@ public unsafe partial struct LLVMTargetMachineRef : IEquatable (obj is LLVMTargetMachineRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMTargetMachineRef other) && Equals(other); public bool Equals(LLVMTargetMachineRef other) => this == other; @@ -57,8 +57,7 @@ public unsafe partial struct LLVMTargetMachineRef : IEquatable(errorMessage, int.MaxValue); - message = span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + message = SpanExtensions.AsString(errorMessage); LLVM.DisposeErrorMessage(errorMessage); } diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMTargetRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMTargetRef.cs index 3b87881..b19691e 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMTargetRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMTargetRef.cs @@ -26,8 +26,7 @@ public unsafe partial struct LLVMTargetRef : IEquatable return string.Empty; } - var span = new ReadOnlySpan(pDefaultTriple, int.MaxValue); - return span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + return SpanExtensions.AsString(pDefaultTriple); } } @@ -46,8 +45,7 @@ public unsafe partial struct LLVMTargetRef : IEquatable } else { - var span = new ReadOnlySpan(pError, int.MaxValue); - outError = span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + outError = SpanExtensions.AsString(pError); } return result == 0; @@ -98,8 +96,7 @@ public unsafe partial struct LLVMTargetRef : IEquatable return string.Empty; } - var span = new ReadOnlySpan(pName, int.MaxValue); - return span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + return SpanExtensions.AsString(pName); } } @@ -111,7 +108,7 @@ public unsafe partial struct LLVMTargetRef : IEquatable public static bool operator !=(LLVMTargetRef left, LLVMTargetRef right) => !(left == right); - public override bool Equals(object obj) => (obj is LLVMTargetRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMTargetRef other) && Equals(other); public bool Equals(LLVMTargetRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMTypeRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMTypeRef.cs index ba9dcf4..2f3be32 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMTypeRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMTypeRef.cs @@ -51,7 +51,7 @@ public unsafe partial struct LLVMTypeRef : IEquatable public LLVMContextRef Context => (Handle != IntPtr.Zero) ? LLVM.GetTypeContext(this) : default; - public LLVMTypeRef ElementType => ((Kind == LLVMTypeKind.LLVMPointerTypeKind) || (Kind == LLVMTypeKind.LLVMArrayTypeKind) || (Kind == LLVMTypeKind.LLVMVectorTypeKind)) ? LLVM.GetElementType(this) : default; + public LLVMTypeRef ElementType => (((Kind == LLVMTypeKind.LLVMPointerTypeKind) && (SubtypesCount != 0)) || (Kind == LLVMTypeKind.LLVMArrayTypeKind) || (Kind == LLVMTypeKind.LLVMVectorTypeKind)) ? LLVM.GetElementType(this) : default; public uint IntWidth => (Kind == LLVMTypeKind.LLVMIntegerTypeKind) ? LLVM.GetIntTypeWidth(this) : default; @@ -133,8 +133,7 @@ public unsafe partial struct LLVMTypeRef : IEquatable return string.Empty; } - var span = new ReadOnlySpan(pStructName, int.MaxValue); - return span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + return SpanExtensions.AsString(pStructName); } } @@ -208,7 +207,7 @@ public unsafe partial struct LLVMTypeRef : IEquatable public void Dump() => LLVM.DumpType(this); - public override bool Equals(object obj) => (obj is LLVMTypeRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMTypeRef other) && Equals(other); public bool Equals(LLVMTypeRef other) => this == other; @@ -224,9 +223,8 @@ public unsafe partial struct LLVMTypeRef : IEquatable { return string.Empty; } - var span = new ReadOnlySpan(pStr, int.MaxValue); - var result = span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + var result = SpanExtensions.AsString(pStr); LLVM.DisposeMessage(pStr); return result; } diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMUseRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMUseRef.cs index e60dc32..98a550b 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMUseRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMUseRef.cs @@ -21,7 +21,7 @@ public unsafe partial struct LLVMUseRef : IEquatable public static bool operator !=(LLVMUseRef left, LLVMUseRef right) => !(left == right); - public override bool Equals(object obj) => (obj is LLVMUseRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMUseRef other) && Equals(other); public bool Equals(LLVMUseRef other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMValueRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMValueRef.cs index 5a87dda..8bdd316 100644 --- a/sources/LLVMSharp.Interop/Extensions/LLVMValueRef.cs +++ b/sources/LLVMSharp.Interop/Extensions/LLVMValueRef.cs @@ -93,7 +93,7 @@ public unsafe partial struct LLVMValueRef : IEquatable } } - public LLVMBasicBlockRef EntryBasicBlock => (IsAFunction != null) ? LLVM.GetEntryBasicBlock(this) : default; + public LLVMBasicBlockRef EntryBasicBlock => ((IsAFunction != null) && (BasicBlocksCount != 0)) ? LLVM.GetEntryBasicBlock(this) : default; public LLVMRealPredicate FCmpPredicate => (Handle != IntPtr.Zero) ? LLVM.GetFCmpPredicate(this) : default; @@ -132,8 +132,7 @@ public unsafe partial struct LLVMValueRef : IEquatable return string.Empty; } - var span = new ReadOnlySpan(pName, int.MaxValue); - return span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + return SpanExtensions.AsString(pName); } set @@ -147,6 +146,8 @@ public unsafe partial struct LLVMValueRef : IEquatable public bool HasMetadata => (IsAInstruction != null) && LLVM.HasMetadata(this) != 0; + public bool HasPersonalityFn => (IsAFunction != null) && LLVM.HasPersonalityFn(this) != 0; + public bool HasUnnamedAddr { get @@ -360,7 +361,7 @@ public unsafe partial struct LLVMValueRef : IEquatable public LLVMValueRef IsASwitchInst => LLVM.IsASwitchInst(this); - public LLVMValueRef IsATerminatorInst => LLVM.IsATerminatorInst(this); + public LLVMValueRef IsATerminatorInst => (IsAInstruction != null) ? LLVM.IsATerminatorInst(this) : default; public LLVMValueRef IsATruncInst => LLVM.IsATruncInst(this); @@ -500,7 +501,7 @@ public unsafe partial struct LLVMValueRef : IEquatable } } - public uint MDNodeOperandsCount => (Kind != LLVMValueKind.LLVMMetadataAsValueValueKind) ? LLVM.GetMDNodeNumOperands(this) : default; + public uint MDNodeOperandsCount => (Kind == LLVMValueKind.LLVMMetadataAsValueValueKind) ? LLVM.GetMDNodeNumOperands(this) : default; public string Name { @@ -518,8 +519,7 @@ public unsafe partial struct LLVMValueRef : IEquatable return string.Empty; } - var span = new ReadOnlySpan(pStr, int.MaxValue); - return span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + return SpanExtensions.AsString(pStr); } set @@ -567,7 +567,7 @@ public unsafe partial struct LLVMValueRef : IEquatable { get { - return (IsAFunction != null) ? LLVM.GetPersonalityFn(this) : default; + return HasPersonalityFn ? LLVM.GetPersonalityFn(this) : default; } set @@ -600,8 +600,7 @@ public unsafe partial struct LLVMValueRef : IEquatable return string.Empty; } - var span = new ReadOnlySpan(pSection, int.MaxValue); - return span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + return SpanExtensions.AsString(pSection); } set @@ -699,28 +698,8 @@ public unsafe partial struct LLVMValueRef : IEquatable public static LLVMValueRef CreateConstBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstBitCast(ConstantVal, ToType); - public static LLVMValueRef CreateConstExactSDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstExactSDiv(LHSConstant, RHSConstant); - - public static LLVMValueRef CreateConstExactUDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstExactUDiv(LHSConstant, RHSConstant); - public static LLVMValueRef CreateConstExtractElement(LLVMValueRef VectorConstant, LLVMValueRef IndexConstant) => LLVM.ConstExtractElement(VectorConstant, IndexConstant); - public static LLVMValueRef CreateConstExtractValue(LLVMValueRef AggConstant, uint[] IdxList) => CreateConstExtractValue(AggConstant, IdxList.AsSpan()); - - public static LLVMValueRef CreateConstExtractValue(LLVMValueRef AggConstant, ReadOnlySpan IdxList) - { - fixed (uint* pIdxList = IdxList) - { - return LLVM.ConstExtractValue(AggConstant, pIdxList, (uint)IdxList.Length); - } - } - - public static LLVMValueRef CreateConstFAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstFAdd(LHSConstant, RHSConstant); - - public static LLVMValueRef CreateConstFDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstFDiv(LHSConstant, RHSConstant); - - public static LLVMValueRef CreateConstFMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstFMul(LHSConstant, RHSConstant); - public static LLVMValueRef CreateConstFNeg(LLVMValueRef ConstantVal) => LLVM.ConstFNeg(ConstantVal); public static LLVMValueRef CreateConstFPCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstFPCast(ConstantVal, ToType); @@ -733,12 +712,10 @@ public unsafe partial struct LLVMValueRef : IEquatable public static LLVMValueRef CreateConstFPTrunc(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstFPTrunc(ConstantVal, ToType); - public static LLVMValueRef CreateConstFRem(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstFRem(LHSConstant, RHSConstant); - - public static LLVMValueRef CreateConstFSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstFSub(LHSConstant, RHSConstant); - + [Obsolete("Use CreateConstGEP2 instead to support opaque pointer")] public static LLVMValueRef CreateConstGEP(LLVMValueRef ConstantVal, LLVMValueRef[] ConstantIndices) => CreateConstGEP(ConstantVal, ConstantIndices.AsSpan()); + [Obsolete("Use CreateConstGEP2 instead to support opaque pointer")] public static LLVMValueRef CreateConstGEP(LLVMValueRef ConstantVal, ReadOnlySpan ConstantIndices) { fixed (LLVMValueRef* pConstantIndices = ConstantIndices) @@ -747,8 +724,20 @@ public unsafe partial struct LLVMValueRef : IEquatable } } + public static LLVMValueRef CreateConstGEP2(LLVMTypeRef Ty, LLVMValueRef ConstantVal, LLVMValueRef[] ConstantIndices) => CreateConstGEP2(Ty, ConstantVal, ConstantIndices.AsSpan()); + + public static LLVMValueRef CreateConstGEP2(LLVMTypeRef Ty, LLVMValueRef ConstantVal, ReadOnlySpan ConstantIndices) + { + fixed (LLVMValueRef* pConstantIndices = ConstantIndices) + { + return LLVM.ConstGEP2(Ty, ConstantVal, (LLVMOpaqueValue**)pConstantIndices, (uint)ConstantIndices.Length); + } + } + + [Obsolete("Use CreateConstInBoundsGEP2 instead to support opaque pointer")] public static LLVMValueRef CreateConstInBoundsGEP(LLVMValueRef ConstantVal, LLVMValueRef[] ConstantIndices) => CreateConstInBoundsGEP(ConstantVal, ConstantIndices.AsSpan()); + [Obsolete("Use CreateConstInBoundsGEP2 instead to support opaque pointer")] public static LLVMValueRef CreateConstInBoundsGEP(LLVMValueRef ConstantVal, ReadOnlySpan ConstantIndices) { fixed (LLVMValueRef* pConstantIndices = ConstantIndices) @@ -757,6 +746,16 @@ public unsafe partial struct LLVMValueRef : IEquatable } } + public static LLVMValueRef CreateConstInBoundsGEP2(LLVMTypeRef Ty, LLVMValueRef ConstantVal, LLVMValueRef[] ConstantIndices) => CreateConstInBoundsGEP2(Ty, ConstantVal, ConstantIndices.AsSpan()); + + public static LLVMValueRef CreateConstInBoundsGEP2(LLVMTypeRef Ty, LLVMValueRef ConstantVal, ReadOnlySpan ConstantIndices) + { + fixed (LLVMValueRef* pConstantIndices = ConstantIndices) + { + return LLVM.ConstInBoundsGEP2(Ty, ConstantVal, (LLVMOpaqueValue**)pConstantIndices, (uint)ConstantIndices.Length); + } + } + public static LLVMValueRef CreateConstInlineAsm(LLVMTypeRef Ty, string AsmString, string Constraints, bool HasSideEffects, bool IsAlignStack) => CreateConstInlineAsm(Ty, AsmString.AsSpan(), Constraints.AsSpan(), HasSideEffects, IsAlignStack); public static LLVMValueRef CreateConstInlineAsm(LLVMTypeRef Ty, ReadOnlySpan AsmString, ReadOnlySpan Constraints, bool HasSideEffects, bool IsAlignStack) @@ -768,16 +767,6 @@ public unsafe partial struct LLVMValueRef : IEquatable public static LLVMValueRef CreateConstInsertElement(LLVMValueRef VectorConstant, LLVMValueRef ElementValueConstant, LLVMValueRef IndexConstant) => LLVM.ConstInsertElement(VectorConstant, ElementValueConstant, IndexConstant); - public static LLVMValueRef CreateConstInsertValue(LLVMValueRef AggConstant, LLVMValueRef ElementValueConstant, uint[] IdxList) => CreateConstInsertValue(AggConstant, ElementValueConstant, IdxList.AsSpan()); - - public static LLVMValueRef CreateConstInsertValue(LLVMValueRef AggConstant, LLVMValueRef ElementValueConstant, ReadOnlySpan IdxList) - { - fixed (uint* pIdxList = IdxList) - { - return LLVM.ConstInsertValue(AggConstant, ElementValueConstant, pIdxList, (uint)IdxList.Length); - } - } - public static LLVMValueRef CreateConstInt(LLVMTypeRef IntTy, ulong N, bool SignExtend = false) => LLVM.ConstInt(IntTy, N, SignExtend ? 1 : 0); public static LLVMValueRef CreateConstIntCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType, bool isSigned) => LLVM.ConstIntCast(ConstantVal, ToType, isSigned ? 1 : 0); @@ -872,8 +861,6 @@ public unsafe partial struct LLVMValueRef : IEquatable return LLVM.ConstRealOfStringAndSize(RealTy, marshaledText, (uint)marshaledText.Length); } - public static LLVMValueRef CreateConstSDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstSDiv(LHSConstant, RHSConstant); - public static LLVMValueRef CreateConstSelect(LLVMValueRef ConstantCondition, LLVMValueRef ConstantIfTrue, LLVMValueRef ConstantIfFalse) => LLVM.ConstSelect(ConstantCondition, ConstantIfTrue, ConstantIfFalse); public static LLVMValueRef CreateConstSExt(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstSExt(ConstantVal, ToType); @@ -886,8 +873,6 @@ public unsafe partial struct LLVMValueRef : IEquatable public static LLVMValueRef CreateConstSIToFP(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstSIToFP(ConstantVal, ToType); - public static LLVMValueRef CreateConstSRem(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstSRem(LHSConstant, RHSConstant); - public static LLVMValueRef CreateConstStruct(LLVMValueRef[] ConstantVals, bool Packed) => CreateConstStruct(ConstantVals.AsSpan(), Packed); public static LLVMValueRef CreateConstStruct(ReadOnlySpan ConstantVals, bool Packed) @@ -904,12 +889,8 @@ public unsafe partial struct LLVMValueRef : IEquatable public static LLVMValueRef CreateConstTruncOrBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstTruncOrBitCast(ConstantVal, ToType); - public static LLVMValueRef CreateConstUDiv(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstUDiv(LHSConstant, RHSConstant); - public static LLVMValueRef CreateConstUIToFP(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstUIToFP(ConstantVal, ToType); - public static LLVMValueRef CreateConstURem(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstURem(LHSConstant, RHSConstant); - public static LLVMValueRef CreateConstVector(LLVMValueRef[] ScalarConstantVars) => CreateConstVector(ScalarConstantVars.AsSpan()); public static LLVMValueRef CreateConstVector(ReadOnlySpan ScalarConstantVars) @@ -978,7 +959,7 @@ public unsafe partial struct LLVMValueRef : IEquatable public void Dump() => LLVM.DumpValue(this); - public override bool Equals(object obj) => (obj is LLVMValueRef other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMValueRef other) && Equals(other); public bool Equals(LLVMValueRef other) => this == other; @@ -1037,6 +1018,9 @@ public unsafe partial struct LLVMValueRef : IEquatable return result; } + public LLVMValueRef GetAggregateElement(uint idx) => LLVM.GetAggregateElement(this, idx); + + [Obsolete("Use GetAggregateElement instead")] public LLVMValueRef GetElementAsConstant(uint idx) => LLVM.GetElementAsConstant(this, idx); public override int GetHashCode() => Handle.GetHashCode(); @@ -1081,9 +1065,8 @@ public unsafe partial struct LLVMValueRef : IEquatable { return string.Empty; } - var span = new ReadOnlySpan(pStr, int.MaxValue); - var result = span.Slice(0, span.IndexOf((byte)'\0')).AsString(); + var result = SpanExtensions.AsString(pStr); LLVM.DisposeMessage(pStr); return result; } diff --git a/sources/LLVMSharp.Interop/Extensions/lto_code_gen_t.cs b/sources/LLVMSharp.Interop/Extensions/lto_code_gen_t.cs index 0e45db4..b1646b3 100644 --- a/sources/LLVMSharp.Interop/Extensions/lto_code_gen_t.cs +++ b/sources/LLVMSharp.Interop/Extensions/lto_code_gen_t.cs @@ -21,7 +21,7 @@ public unsafe partial struct lto_code_gen_t : IEquatable public static bool operator !=(lto_code_gen_t left, lto_code_gen_t right) => !(left == right); - public override bool Equals(object obj) => (obj is lto_code_gen_t other) && Equals(other); + public override bool Equals(object? obj) => (obj is lto_code_gen_t other) && Equals(other); public bool Equals(lto_code_gen_t other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/lto_input_t.cs b/sources/LLVMSharp.Interop/Extensions/lto_input_t.cs index f0d1acb..4ec3ab5 100644 --- a/sources/LLVMSharp.Interop/Extensions/lto_input_t.cs +++ b/sources/LLVMSharp.Interop/Extensions/lto_input_t.cs @@ -21,7 +21,7 @@ public unsafe partial struct lto_input_t : IEquatable public static bool operator !=(lto_input_t left, lto_input_t right) => !(left == right); - public override bool Equals(object obj) => (obj is lto_input_t other) && Equals(other); + public override bool Equals(object? obj) => (obj is lto_input_t other) && Equals(other); public bool Equals(lto_input_t other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/lto_module_t.cs b/sources/LLVMSharp.Interop/Extensions/lto_module_t.cs index 6bcfbf5..4dd23f6 100644 --- a/sources/LLVMSharp.Interop/Extensions/lto_module_t.cs +++ b/sources/LLVMSharp.Interop/Extensions/lto_module_t.cs @@ -21,7 +21,7 @@ public unsafe partial struct lto_module_t : IEquatable public static bool operator !=(lto_module_t left, lto_module_t right) => !(left == right); - public override bool Equals(object obj) => (obj is lto_module_t other) && Equals(other); + public override bool Equals(object? obj) => (obj is lto_module_t other) && Equals(other); public bool Equals(lto_module_t other) => this == other; diff --git a/sources/LLVMSharp.Interop/Extensions/thinlto_code_gen_t.cs b/sources/LLVMSharp.Interop/Extensions/thinlto_code_gen_t.cs index 7854dfd..68b7df1 100644 --- a/sources/LLVMSharp.Interop/Extensions/thinlto_code_gen_t.cs +++ b/sources/LLVMSharp.Interop/Extensions/thinlto_code_gen_t.cs @@ -21,7 +21,7 @@ public unsafe partial struct thinlto_code_gen_t : IEquatable public static bool operator !=(thinlto_code_gen_t left, thinlto_code_gen_t right) => !(left == right); - public override bool Equals(object obj) => (obj is thinlto_code_gen_t other) && Equals(other); + public override bool Equals(object? obj) => (obj is thinlto_code_gen_t other) && Equals(other); public bool Equals(thinlto_code_gen_t other) => this == other; diff --git a/sources/LLVMSharp.Interop/Internals/MarshaledArray`1.cs b/sources/LLVMSharp.Interop/Internals/MarshaledArray`1.cs index 91cfb79..cf75558 100644 --- a/sources/LLVMSharp.Interop/Internals/MarshaledArray`1.cs +++ b/sources/LLVMSharp.Interop/Internals/MarshaledArray`1.cs @@ -1,42 +1,64 @@ // Copyright (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.Buffers; +using System.Runtime.InteropServices; namespace LLVMSharp.Interop; public unsafe struct MarshaledArray : IDisposable + where U : unmanaged { public MarshaledArray(ReadOnlySpan inputs, Func marshal) { - if (inputs.IsEmpty) + int length; + U* value; + + if (inputs.Length == 0) { - Count = 0; - Values = null; + length = 0; + value = null; } else { - Count = inputs.Length; - Values = ArrayPool.Shared.Rent(Count); + length = inputs.Length; - for (int i = 0; i < Count; i++) +#if NET6_0_OR_GREATER + value = (U*)NativeMemory.Alloc((uint)(length * sizeof(U))); +#else + value = (U*)Marshal.AllocHGlobal(length * sizeof(U)); +#endif + + for (int i = 0; i < inputs.Length; i++) { - Values[i] = marshal(inputs[i]); + var input = inputs[i]; + value[i] = marshal(input); } } + + Length = length; + Value = value; } - public int Count { get; private set; } + public ReadOnlySpan AsSpan() => new ReadOnlySpan(Value, Length); - public U[] Values { get; private set; } + public int Length { get; private set; } - public static implicit operator ReadOnlySpan(in MarshaledArray value) => value.Values; + public U* Value { get; private set; } + + public static implicit operator U*(MarshaledArray value) => value.Value; public void Dispose() { - if (Values != null) + if (Value != null) { - ArrayPool.Shared.Return(Values); +#if NET6_0_OR_GREATER + NativeMemory.Free(Value); +#else + Marshal.FreeHGlobal((IntPtr)Value); +#endif + + Value = null; + Length = 0; } } } diff --git a/sources/LLVMSharp.Interop/Internals/MarshaledString.cs b/sources/LLVMSharp.Interop/Internals/MarshaledString.cs index e5b3339..b552d04 100644 --- a/sources/LLVMSharp.Interop/Internals/MarshaledString.cs +++ b/sources/LLVMSharp.Interop/Internals/MarshaledString.cs @@ -8,45 +8,62 @@ namespace LLVMSharp.Interop; public unsafe struct MarshaledString : IDisposable { + public MarshaledString(string? input) : this(input.AsSpan()) + { + } + public MarshaledString(ReadOnlySpan input) { - if (input.IsEmpty) - { - var value = Marshal.AllocHGlobal(1); - Marshal.WriteByte(value, 0, 0); + int length = input.Length; + sbyte* value; - Length = 0; - Value = (sbyte*)value; - } - else + if (length != 0) { - var valueBytes = Encoding.UTF8.GetBytes(input.ToString()); - var length = valueBytes.Length; - var value = Marshal.AllocHGlobal(length + 1); - Marshal.Copy(valueBytes, 0, value, length); - Marshal.WriteByte(value, length, 0); - - Length = length; - Value = (sbyte*)value; + length = Encoding.UTF8.GetMaxByteCount(input.Length); } + +#if NET6_0_OR_GREATER + value = (sbyte*)NativeMemory.Alloc((uint)(length) + 1); +#else + value = (sbyte*)Marshal.AllocHGlobal(length + 1); +#endif + + if (length != 0) + { + fixed (char* pInput = input) + { + length = Encoding.UTF8.GetBytes(pInput, input.Length, (byte*)value, length); + } + } + value[length] = 0; + + Length = length; + Value = value; } + public ReadOnlySpan AsSpan() => new ReadOnlySpan(Value, Length); + public int Length { get; private set; } public sbyte* Value { get; private set; } + public static implicit operator sbyte*(MarshaledString value) => value.Value; + public void Dispose() { if (Value != null) { +#if NET6_0_OR_GREATER + NativeMemory.Free(Value); +#else Marshal.FreeHGlobal((IntPtr)Value); +#endif + Value = null; Length = 0; } } - public static implicit operator sbyte*(in MarshaledString value) => value.Value; - public override string ToString() { var span = new ReadOnlySpan(Value, Length); diff --git a/sources/LLVMSharp.Interop/Internals/MarshaledStringArray.cs b/sources/LLVMSharp.Interop/Internals/MarshaledStringArray.cs index fec1a31..762f1a8 100644 --- a/sources/LLVMSharp.Interop/Internals/MarshaledStringArray.cs +++ b/sources/LLVMSharp.Interop/Internals/MarshaledStringArray.cs @@ -4,50 +4,52 @@ using System; namespace LLVMSharp.Interop; -public unsafe struct MarshaledStringArray : IDisposable +public unsafe ref struct MarshaledStringArray { + private MarshaledString[]? _values; + public MarshaledStringArray(ReadOnlySpan inputs) { - if (inputs.IsEmpty) + if (inputs.Length == 0) { - Count = 0; - Values = null; + _values = null; } else { - Count = inputs.Length; - Values = new MarshaledString[Count]; + _values = new MarshaledString[inputs.Length]; - for (int i = 0; i < Count; i++) + for (var i = 0; i < inputs.Length; i++) { - Values[i] = new MarshaledString(inputs[i].AsSpan()); + _values[i] = new MarshaledString(inputs[i]); } } } - public int Count { get; private set; } + public int Count => (_values is not null) ? _values.Length : 0; - public MarshaledString[] Values { get; private set; } + public ReadOnlySpan Values => _values; public void Dispose() { - if (Values != null) + if (_values != null) { - for (int i = 0; i < Values.Length; i++) + for (var i = 0; i < _values.Length; i++) { - Values[i].Dispose(); + _values[i].Dispose(); } - Values = null; - Count = 0; + _values = null; } } public void Fill(sbyte** pDestination) { - for (int i = 0; i < Count; i++) + if (_values != null) { - pDestination[i] = Values[i]; + for (var i = 0; i < _values.Length; i++) + { + pDestination[i] = Values[i]; + } } } } diff --git a/sources/LLVMSharp.Interop/Internals/SpanExtensions.cs b/sources/LLVMSharp.Interop/Internals/SpanExtensions.cs index d5000ee..3efa54b 100644 --- a/sources/LLVMSharp.Interop/Internals/SpanExtensions.cs +++ b/sources/LLVMSharp.Interop/Internals/SpanExtensions.cs @@ -1,12 +1,24 @@ // Copyright (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.Runtime.InteropServices; using System.Text; namespace LLVMSharp.Interop; public static unsafe class SpanExtensions { + public static string AsString(sbyte* pStr) + { +#if NET6_0_OR_GREATER + var span = MemoryMarshal.CreateReadOnlySpanFromNullTerminated((byte*)(pStr)); +#else + var span = new ReadOnlySpan(pStr, int.MaxValue); + span = span.Slice(0, span.IndexOf((byte)'\0')); +#endif + return span.AsString(); + } + public static string AsString(this Span self) => AsString((ReadOnlySpan)self); public static string AsString(this ReadOnlySpan self) @@ -21,4 +33,30 @@ public static unsafe class SpanExtensions return Encoding.UTF8.GetString(pSelf, self.Length); } } + + public static string AsString(this ReadOnlySpan self) + { + if (self.IsEmpty) + { + return string.Empty; + } + + fixed (ushort* pSelf = self) + { + return Encoding.Unicode.GetString((byte*)pSelf, self.Length * 2); + } + } + + public static string AsString(this ReadOnlySpan self) + { + if (self.IsEmpty) + { + return string.Empty; + } + + fixed (uint* pSelf = self) + { + return Encoding.UTF32.GetString((byte*)pSelf, self.Length * 4); + } + } } diff --git a/sources/LLVMSharp.Interop/LLVM.cs b/sources/LLVMSharp.Interop/LLVM.cs index 4ade47e..2cb7817 100644 --- a/sources/LLVMSharp.Interop/LLVM.cs +++ b/sources/LLVMSharp.Interop/LLVM.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System; @@ -69,6 +69,52 @@ public static unsafe partial class LLVM [return: NativeTypeName("LLVMMemoryBufferRef")] public static extern LLVMOpaqueMemoryBuffer* WriteBitcodeToMemoryBuffer([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvm_blake3_version", ExactSpelling = true)] + [return: NativeTypeName("const char *")] + public static extern sbyte* blake3_version(); + + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvm_blake3_hasher_init", ExactSpelling = true)] + public static extern void blake3_hasher_init(llvm_blake3_hasher* self); + + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvm_blake3_hasher_init_keyed", ExactSpelling = true)] + public static extern void blake3_hasher_init_keyed(llvm_blake3_hasher* self, [NativeTypeName("const uint8_t[32]")] byte* key); + + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvm_blake3_hasher_init_derive_key", ExactSpelling = true)] + public static extern void blake3_hasher_init_derive_key(llvm_blake3_hasher* self, [NativeTypeName("const char *")] sbyte* context); + + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvm_blake3_hasher_init_derive_key_raw", ExactSpelling = true)] + public static extern void blake3_hasher_init_derive_key_raw(llvm_blake3_hasher* self, [NativeTypeName("const void *")] void* context, [NativeTypeName("size_t")] nuint context_len); + + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvm_blake3_hasher_update", ExactSpelling = true)] + public static extern void blake3_hasher_update(llvm_blake3_hasher* self, [NativeTypeName("const void *")] void* input, [NativeTypeName("size_t")] nuint input_len); + + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvm_blake3_hasher_finalize", ExactSpelling = true)] + public static extern void blake3_hasher_finalize([NativeTypeName("const llvm_blake3_hasher *")] llvm_blake3_hasher* self, [NativeTypeName("uint8_t *")] byte* @out, [NativeTypeName("size_t")] nuint out_len); + + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvm_blake3_hasher_finalize_seek", ExactSpelling = true)] + public static extern void blake3_hasher_finalize_seek([NativeTypeName("const llvm_blake3_hasher *")] llvm_blake3_hasher* self, [NativeTypeName("uint64_t")] ulong seek, [NativeTypeName("uint8_t *")] byte* @out, [NativeTypeName("size_t")] nuint out_len); + + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "llvm_blake3_hasher_reset", ExactSpelling = true)] + public static extern void blake3_hasher_reset(llvm_blake3_hasher* self); + + [NativeTypeName("#define LLVM_BLAKE3_VERSION_STRING \"1.3.1\"")] + public static ReadOnlySpan BLAKE3_VERSION_STRING => "1.3.1"u8; + + [NativeTypeName("#define LLVM_BLAKE3_KEY_LEN 32")] + public const int BLAKE3_KEY_LEN = 32; + + [NativeTypeName("#define LLVM_BLAKE3_OUT_LEN 32")] + public const int BLAKE3_OUT_LEN = 32; + + [NativeTypeName("#define LLVM_BLAKE3_BLOCK_LEN 64")] + public const int BLAKE3_BLOCK_LEN = 64; + + [NativeTypeName("#define LLVM_BLAKE3_CHUNK_LEN 1024")] + public const int BLAKE3_CHUNK_LEN = 1024; + + [NativeTypeName("#define LLVM_BLAKE3_MAX_DEPTH 54")] + public const int BLAKE3_MAX_DEPTH = 54; + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetOrInsertComdat", ExactSpelling = true)] [return: NativeTypeName("LLVMComdatRef")] public static extern LLVMComdat* GetOrInsertComdat([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Name); @@ -108,17 +154,17 @@ public static unsafe partial class LLVM public static extern LLVMOpaqueContext* GetGlobalContext(); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMContextSetDiagnosticHandler", ExactSpelling = true)] - public static extern void ContextSetDiagnosticHandler([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C, [NativeTypeName("LLVMDiagnosticHandler")] IntPtr Handler, void* DiagnosticContext); + public static extern void ContextSetDiagnosticHandler([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C, [NativeTypeName("LLVMDiagnosticHandler")] delegate* unmanaged[Cdecl] Handler, void* DiagnosticContext); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMContextGetDiagnosticHandler", ExactSpelling = true)] [return: NativeTypeName("LLVMDiagnosticHandler")] - public static extern IntPtr ContextGetDiagnosticHandler([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C); + public static extern delegate* unmanaged[Cdecl] ContextGetDiagnosticHandler([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMContextGetDiagnosticContext", ExactSpelling = true)] public static extern void* ContextGetDiagnosticContext([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMContextSetYieldCallback", ExactSpelling = true)] - public static extern void ContextSetYieldCallback([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C, [NativeTypeName("LLVMYieldCallback")] IntPtr Callback, void* OpaqueHandle); + public static extern void ContextSetYieldCallback([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C, [NativeTypeName("LLVMYieldCallback")] delegate* unmanaged[Cdecl] Callback, void* OpaqueHandle); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMContextShouldDiscardValueNames", ExactSpelling = true)] [return: NativeTypeName("LLVMBool")] @@ -127,6 +173,9 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMContextSetDiscardValueNames", ExactSpelling = true)] public static extern void ContextSetDiscardValueNames([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C, [NativeTypeName("LLVMBool")] int Discard); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMContextSetOpaquePointers", ExactSpelling = true)] + public static extern void ContextSetOpaquePointers([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C, [NativeTypeName("LLVMBool")] int OpaquePointers); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMContextDispose", ExactSpelling = true)] public static extern void ContextDispose([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C); @@ -147,7 +196,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetEnumAttributeKindForName", ExactSpelling = true)] [return: NativeTypeName("unsigned int")] - public static extern uint GetEnumAttributeKindForName([NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr SLen); + public static extern uint GetEnumAttributeKindForName([NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint SLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetLastEnumAttributeKind", ExactSpelling = true)] [return: NativeTypeName("unsigned int")] @@ -218,17 +267,17 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetModuleIdentifier", ExactSpelling = true)] [return: NativeTypeName("const char *")] - public static extern sbyte* GetModuleIdentifier([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("size_t *")] UIntPtr* Len); + public static extern sbyte* GetModuleIdentifier([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("size_t *")] nuint* Len); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetModuleIdentifier", ExactSpelling = true)] - public static extern void SetModuleIdentifier([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Ident, [NativeTypeName("size_t")] UIntPtr Len); + public static extern void SetModuleIdentifier([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Ident, [NativeTypeName("size_t")] nuint Len); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetSourceFileName", ExactSpelling = true)] [return: NativeTypeName("const char *")] - public static extern sbyte* GetSourceFileName([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("size_t *")] UIntPtr* Len); + public static extern sbyte* GetSourceFileName([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("size_t *")] nuint* Len); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetSourceFileName", ExactSpelling = true)] - public static extern void SetSourceFileName([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr Len); + public static extern void SetSourceFileName([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint Len); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetDataLayoutStr", ExactSpelling = true)] [return: NativeTypeName("const char *")] @@ -250,7 +299,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMCopyModuleFlagsMetadata", ExactSpelling = true)] [return: NativeTypeName("LLVMModuleFlagEntry *")] - public static extern LLVMOpaqueModuleFlagEntry* CopyModuleFlagsMetadata([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("size_t *")] UIntPtr* Len); + public static extern LLVMOpaqueModuleFlagEntry* CopyModuleFlagsMetadata([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("size_t *")] nuint* Len); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDisposeModuleFlagsMetadata", ExactSpelling = true)] public static extern void DisposeModuleFlagsMetadata([NativeTypeName("LLVMModuleFlagEntry *")] LLVMOpaqueModuleFlagEntry* Entries); @@ -260,7 +309,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMModuleFlagEntriesGetKey", ExactSpelling = true)] [return: NativeTypeName("const char *")] - public static extern sbyte* ModuleFlagEntriesGetKey([NativeTypeName("LLVMModuleFlagEntry *")] LLVMOpaqueModuleFlagEntry* Entries, [NativeTypeName("unsigned int")] uint Index, [NativeTypeName("size_t *")] UIntPtr* Len); + public static extern sbyte* ModuleFlagEntriesGetKey([NativeTypeName("LLVMModuleFlagEntry *")] LLVMOpaqueModuleFlagEntry* Entries, [NativeTypeName("unsigned int")] uint Index, [NativeTypeName("size_t *")] nuint* Len); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMModuleFlagEntriesGetMetadata", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] @@ -268,10 +317,10 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetModuleFlag", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* GetModuleFlag([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Key, [NativeTypeName("size_t")] UIntPtr KeyLen); + public static extern LLVMOpaqueMetadata* GetModuleFlag([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Key, [NativeTypeName("size_t")] nuint KeyLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddModuleFlag", ExactSpelling = true)] - public static extern void AddModuleFlag([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, LLVMModuleFlagBehavior Behavior, [NativeTypeName("const char *")] sbyte* Key, [NativeTypeName("size_t")] UIntPtr KeyLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Val); + public static extern void AddModuleFlag([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, LLVMModuleFlagBehavior Behavior, [NativeTypeName("const char *")] sbyte* Key, [NativeTypeName("size_t")] nuint KeyLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Val); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDumpModule", ExactSpelling = true)] public static extern void DumpModule([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M); @@ -286,17 +335,17 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetModuleInlineAsm", ExactSpelling = true)] [return: NativeTypeName("const char *")] - public static extern sbyte* GetModuleInlineAsm([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("size_t *")] UIntPtr* Len); + public static extern sbyte* GetModuleInlineAsm([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("size_t *")] nuint* Len); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetModuleInlineAsm2", ExactSpelling = true)] - public static extern void SetModuleInlineAsm2([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Asm, [NativeTypeName("size_t")] UIntPtr Len); + public static extern void SetModuleInlineAsm2([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Asm, [NativeTypeName("size_t")] nuint Len); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAppendModuleInlineAsm", ExactSpelling = true)] - public static extern void AppendModuleInlineAsm([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Asm, [NativeTypeName("size_t")] UIntPtr Len); + public static extern void AppendModuleInlineAsm([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Asm, [NativeTypeName("size_t")] nuint Len); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetInlineAsm", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* GetInlineAsm([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* Ty, [NativeTypeName("char *")] sbyte* AsmString, [NativeTypeName("size_t")] UIntPtr AsmStringSize, [NativeTypeName("char *")] sbyte* Constraints, [NativeTypeName("size_t")] UIntPtr ConstraintsSize, [NativeTypeName("LLVMBool")] int HasSideEffects, [NativeTypeName("LLVMBool")] int IsAlignStack, LLVMInlineAsmDialect Dialect, [NativeTypeName("LLVMBool")] int CanThrow); + public static extern LLVMOpaqueValue* GetInlineAsm([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* Ty, [NativeTypeName("char *")] sbyte* AsmString, [NativeTypeName("size_t")] nuint AsmStringSize, [NativeTypeName("char *")] sbyte* Constraints, [NativeTypeName("size_t")] nuint ConstraintsSize, [NativeTypeName("LLVMBool")] int HasSideEffects, [NativeTypeName("LLVMBool")] int IsAlignStack, LLVMInlineAsmDialect Dialect, [NativeTypeName("LLVMBool")] int CanThrow); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetModuleContext", ExactSpelling = true)] [return: NativeTypeName("LLVMContextRef")] @@ -324,15 +373,15 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetNamedMetadata", ExactSpelling = true)] [return: NativeTypeName("LLVMNamedMDNodeRef")] - public static extern LLVMOpaqueNamedMDNode* GetNamedMetadata([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen); + public static extern LLVMOpaqueNamedMDNode* GetNamedMetadata([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetOrInsertNamedMetadata", ExactSpelling = true)] [return: NativeTypeName("LLVMNamedMDNodeRef")] - public static extern LLVMOpaqueNamedMDNode* GetOrInsertNamedMetadata([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen); + public static extern LLVMOpaqueNamedMDNode* GetOrInsertNamedMetadata([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetNamedMetadataName", ExactSpelling = true)] [return: NativeTypeName("const char *")] - public static extern sbyte* GetNamedMetadataName([NativeTypeName("LLVMNamedMDNodeRef")] LLVMOpaqueNamedMDNode* NamedMD, [NativeTypeName("size_t *")] UIntPtr* NameLen); + public static extern sbyte* GetNamedMetadataName([NativeTypeName("LLVMNamedMDNodeRef")] LLVMOpaqueNamedMDNode* NamedMD, [NativeTypeName("size_t *")] nuint* NameLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetNamedMetadataNumOperands", ExactSpelling = true)] [return: NativeTypeName("unsigned int")] @@ -605,6 +654,14 @@ public static unsafe partial class LLVM [return: NativeTypeName("LLVMTypeRef")] public static extern LLVMOpaqueType* PointerType([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ElementType, [NativeTypeName("unsigned int")] uint AddressSpace); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPointerTypeIsOpaque", ExactSpelling = true)] + [return: NativeTypeName("LLVMBool")] + public static extern int PointerTypeIsOpaque([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* Ty); + + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPointerTypeInContext", ExactSpelling = true)] + [return: NativeTypeName("LLVMTypeRef")] + public static extern LLVMOpaqueType* PointerTypeInContext([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C, [NativeTypeName("unsigned int")] uint AddressSpace); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetPointerAddressSpace", ExactSpelling = true)] [return: NativeTypeName("unsigned int")] public static extern uint GetPointerAddressSpace([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* PointerTy); @@ -670,10 +727,10 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetValueName2", ExactSpelling = true)] [return: NativeTypeName("const char *")] - public static extern sbyte* GetValueName2([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val, [NativeTypeName("size_t *")] UIntPtr* Length); + public static extern sbyte* GetValueName2([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val, [NativeTypeName("size_t *")] nuint* Length); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetValueName2", ExactSpelling = true)] - public static extern void SetValueName2([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen); + public static extern void SetValueName2([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDumpValue", ExactSpelling = true)] public static extern void DumpValue([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val); @@ -1171,7 +1228,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetAsString", ExactSpelling = true)] [return: NativeTypeName("const char *")] - public static extern sbyte* GetAsString([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* c, [NativeTypeName("size_t *")] UIntPtr* Length); + public static extern sbyte* GetAsString([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* c, [NativeTypeName("size_t *")] nuint* Length); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstStructInContext", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] @@ -1189,8 +1246,13 @@ public static unsafe partial class LLVM [return: NativeTypeName("LLVMValueRef")] public static extern LLVMOpaqueValue* ConstNamedStruct([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* StructTy, [NativeTypeName("LLVMValueRef *")] LLVMOpaqueValue** ConstantVals, [NativeTypeName("unsigned int")] uint Count); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetAggregateElement", ExactSpelling = true)] + [return: NativeTypeName("LLVMValueRef")] + public static extern LLVMOpaqueValue* GetAggregateElement([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* C, [NativeTypeName("unsigned int")] uint Idx); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetElementAsConstant", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] + [Obsolete("Use LLVMGetAggregateElement instead")] public static extern LLVMOpaqueValue* GetElementAsConstant([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* C, [NativeTypeName("unsigned int")] uint idx); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstVector", ExactSpelling = true)] @@ -1240,10 +1302,6 @@ public static unsafe partial class LLVM [return: NativeTypeName("LLVMValueRef")] public static extern LLVMOpaqueValue* ConstNUWAdd([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant); - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstFAdd", ExactSpelling = true)] - [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* ConstFAdd([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant); - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstSub", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] public static extern LLVMOpaqueValue* ConstSub([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant); @@ -1256,10 +1314,6 @@ public static unsafe partial class LLVM [return: NativeTypeName("LLVMValueRef")] public static extern LLVMOpaqueValue* ConstNUWSub([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant); - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstFSub", ExactSpelling = true)] - [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* ConstFSub([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant); - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstMul", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] public static extern LLVMOpaqueValue* ConstMul([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant); @@ -1272,42 +1326,6 @@ public static unsafe partial class LLVM [return: NativeTypeName("LLVMValueRef")] public static extern LLVMOpaqueValue* ConstNUWMul([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant); - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstFMul", ExactSpelling = true)] - [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* ConstFMul([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant); - - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstUDiv", ExactSpelling = true)] - [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* ConstUDiv([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant); - - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstExactUDiv", ExactSpelling = true)] - [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* ConstExactUDiv([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant); - - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstSDiv", ExactSpelling = true)] - [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* ConstSDiv([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant); - - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstExactSDiv", ExactSpelling = true)] - [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* ConstExactSDiv([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant); - - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstFDiv", ExactSpelling = true)] - [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* ConstFDiv([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant); - - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstURem", ExactSpelling = true)] - [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* ConstURem([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant); - - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstSRem", ExactSpelling = true)] - [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* ConstSRem([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant); - - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstFRem", ExactSpelling = true)] - [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* ConstFRem([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant); - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstAnd", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] public static extern LLVMOpaqueValue* ConstAnd([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant); @@ -1342,6 +1360,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstGEP", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] + [Obsolete("Use LLVMConstGEP2 instead to support opaque pointer")] public static extern LLVMOpaqueValue* ConstGEP([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMValueRef *")] LLVMOpaqueValue** ConstantIndices, [NativeTypeName("unsigned int")] uint NumIndices); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstGEP2", ExactSpelling = true)] @@ -1350,6 +1369,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstInBoundsGEP", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] + [Obsolete("Use LLVMConstInBoundsGEP2 instead to support opaque pointer")] public static extern LLVMOpaqueValue* ConstInBoundsGEP([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMValueRef *")] LLVMOpaqueValue** ConstantIndices, [NativeTypeName("unsigned int")] uint NumIndices); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstInBoundsGEP2", ExactSpelling = true)] @@ -1448,14 +1468,6 @@ public static unsafe partial class LLVM [return: NativeTypeName("LLVMValueRef")] public static extern LLVMOpaqueValue* ConstShuffleVector([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* VectorAConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* VectorBConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* MaskConstant); - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstExtractValue", ExactSpelling = true)] - [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* ConstExtractValue([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* AggConstant, [NativeTypeName("unsigned int *")] uint* IdxList, [NativeTypeName("unsigned int")] uint NumIdx); - - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstInsertValue", ExactSpelling = true)] - [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* ConstInsertValue([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* AggConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ElementValueConstant, [NativeTypeName("unsigned int *")] uint* IdxList, [NativeTypeName("unsigned int")] uint NumIdx); - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBlockAddress", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] public static extern LLVMOpaqueValue* BlockAddress([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* F, [NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* BB); @@ -1532,7 +1544,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGlobalCopyAllMetadata", ExactSpelling = true)] [return: NativeTypeName("LLVMValueMetadataEntry *")] - public static extern LLVMOpaqueValueMetadataEntry* GlobalCopyAllMetadata([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Value, [NativeTypeName("size_t *")] UIntPtr* NumEntries); + public static extern LLVMOpaqueValueMetadataEntry* GlobalCopyAllMetadata([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Value, [NativeTypeName("size_t *")] nuint* NumEntries); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDisposeValueMetadataEntries", ExactSpelling = true)] public static extern void DisposeValueMetadataEntries([NativeTypeName("LLVMValueMetadataEntry *")] LLVMOpaqueValueMetadataEntry* Entries); @@ -1612,6 +1624,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddAlias", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] + [Obsolete("Use LLVMAddAlias2 instead to support opaque pointer")] public static extern LLVMOpaqueValue* AddAlias([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* Ty, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Aliasee, [NativeTypeName("const char *")] sbyte* Name); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddAlias2", ExactSpelling = true)] @@ -1620,7 +1633,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetNamedGlobalAlias", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* GetNamedGlobalAlias([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen); + public static extern LLVMOpaqueValue* GetNamedGlobalAlias([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetFirstGlobalAlias", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] @@ -1661,7 +1674,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMLookupIntrinsicID", ExactSpelling = true)] [return: NativeTypeName("unsigned int")] - public static extern uint LookupIntrinsicID([NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen); + public static extern uint LookupIntrinsicID([NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetIntrinsicID", ExactSpelling = true)] [return: NativeTypeName("unsigned int")] @@ -1669,23 +1682,23 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetIntrinsicDeclaration", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* GetIntrinsicDeclaration([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* Mod, [NativeTypeName("unsigned int")] uint ID, [NativeTypeName("LLVMTypeRef *")] LLVMOpaqueType** ParamTypes, [NativeTypeName("size_t")] UIntPtr ParamCount); + public static extern LLVMOpaqueValue* GetIntrinsicDeclaration([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* Mod, [NativeTypeName("unsigned int")] uint ID, [NativeTypeName("LLVMTypeRef *")] LLVMOpaqueType** ParamTypes, [NativeTypeName("size_t")] nuint ParamCount); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIntrinsicGetType", ExactSpelling = true)] [return: NativeTypeName("LLVMTypeRef")] - public static extern LLVMOpaqueType* IntrinsicGetType([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* Ctx, [NativeTypeName("unsigned int")] uint ID, [NativeTypeName("LLVMTypeRef *")] LLVMOpaqueType** ParamTypes, [NativeTypeName("size_t")] UIntPtr ParamCount); + public static extern LLVMOpaqueType* IntrinsicGetType([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* Ctx, [NativeTypeName("unsigned int")] uint ID, [NativeTypeName("LLVMTypeRef *")] LLVMOpaqueType** ParamTypes, [NativeTypeName("size_t")] nuint ParamCount); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIntrinsicGetName", ExactSpelling = true)] [return: NativeTypeName("const char *")] - public static extern sbyte* IntrinsicGetName([NativeTypeName("unsigned int")] uint ID, [NativeTypeName("size_t *")] UIntPtr* NameLength); + public static extern sbyte* IntrinsicGetName([NativeTypeName("unsigned int")] uint ID, [NativeTypeName("size_t *")] nuint* NameLength); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIntrinsicCopyOverloadedName", ExactSpelling = true)] [return: NativeTypeName("const char *")] - public static extern sbyte* IntrinsicCopyOverloadedName([NativeTypeName("unsigned int")] uint ID, [NativeTypeName("LLVMTypeRef *")] LLVMOpaqueType** ParamTypes, [NativeTypeName("size_t")] UIntPtr ParamCount, [NativeTypeName("size_t *")] UIntPtr* NameLength); + public static extern sbyte* IntrinsicCopyOverloadedName([NativeTypeName("unsigned int")] uint ID, [NativeTypeName("LLVMTypeRef *")] LLVMOpaqueType** ParamTypes, [NativeTypeName("size_t")] nuint ParamCount, [NativeTypeName("size_t *")] nuint* NameLength); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIntrinsicCopyOverloadedName2", ExactSpelling = true)] [return: NativeTypeName("const char *")] - public static extern sbyte* IntrinsicCopyOverloadedName2([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* Mod, [NativeTypeName("unsigned int")] uint ID, [NativeTypeName("LLVMTypeRef *")] LLVMOpaqueType** ParamTypes, [NativeTypeName("size_t")] UIntPtr ParamCount, [NativeTypeName("size_t *")] UIntPtr* NameLength); + public static extern sbyte* IntrinsicCopyOverloadedName2([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* Mod, [NativeTypeName("unsigned int")] uint ID, [NativeTypeName("LLVMTypeRef *")] LLVMOpaqueType** ParamTypes, [NativeTypeName("size_t")] nuint ParamCount, [NativeTypeName("size_t *")] nuint* NameLength); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIntrinsicIsOverloaded", ExactSpelling = true)] [return: NativeTypeName("LLVMBool")] @@ -1768,11 +1781,11 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddGlobalIFunc", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* AddGlobalIFunc([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* Ty, [NativeTypeName("unsigned int")] uint AddrSpace, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Resolver); + public static extern LLVMOpaqueValue* AddGlobalIFunc([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* Ty, [NativeTypeName("unsigned int")] uint AddrSpace, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Resolver); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetNamedGlobalIFunc", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] - public static extern LLVMOpaqueValue* GetNamedGlobalIFunc([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen); + public static extern LLVMOpaqueValue* GetNamedGlobalIFunc([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetFirstGlobalIFunc", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] @@ -1805,11 +1818,11 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMMDStringInContext2", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* MDStringInContext2([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C, [NativeTypeName("const char *")] sbyte* Str, [NativeTypeName("size_t")] UIntPtr SLen); + public static extern LLVMOpaqueMetadata* MDStringInContext2([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C, [NativeTypeName("const char *")] sbyte* Str, [NativeTypeName("size_t")] nuint SLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMMDNodeInContext2", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* MDNodeInContext2([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C, [NativeTypeName("LLVMMetadataRef *")] LLVMOpaqueMetadata** MDs, [NativeTypeName("size_t")] UIntPtr Count); + public static extern LLVMOpaqueMetadata* MDNodeInContext2([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C, [NativeTypeName("LLVMMetadataRef *")] LLVMOpaqueMetadata** MDs, [NativeTypeName("size_t")] nuint Count); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMMetadataAsValue", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] @@ -1955,7 +1968,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMInstructionGetAllMetadataOtherThanDebugLoc", ExactSpelling = true)] [return: NativeTypeName("LLVMValueMetadataEntry *")] - public static extern LLVMOpaqueValueMetadataEntry* InstructionGetAllMetadataOtherThanDebugLoc([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Instr, [NativeTypeName("size_t *")] UIntPtr* NumEntries); + public static extern LLVMOpaqueValueMetadataEntry* InstructionGetAllMetadataOtherThanDebugLoc([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Instr, [NativeTypeName("size_t *")] nuint* NumEntries); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetInstructionParent", ExactSpelling = true)] [return: NativeTypeName("LLVMBasicBlockRef")] @@ -1975,6 +1988,9 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMInstructionEraseFromParent", ExactSpelling = true)] public static extern void InstructionEraseFromParent([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Inst); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDeleteInstruction", ExactSpelling = true)] + public static extern void DeleteInstruction([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Inst); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetInstructionOpcode", ExactSpelling = true)] public static extern LLVMOpcode GetInstructionOpcode([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Inst); @@ -2213,6 +2229,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBuildInvoke", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] + [Obsolete("Use LLVMBuildInvoke2 instead to support opaque pointer")] public static extern LLVMOpaqueValue* BuildInvoke([NativeTypeName("LLVMBuilderRef")] LLVMOpaqueBuilder* param0, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Fn, [NativeTypeName("LLVMValueRef *")] LLVMOpaqueValue** Args, [NativeTypeName("unsigned int")] uint NumArgs, [NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* Then, [NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* Catch, [NativeTypeName("const char *")] sbyte* Name); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBuildInvoke2", ExactSpelling = true)] @@ -2461,6 +2478,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBuildLoad", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] + [Obsolete("Use LLVMBuildLoad2 instead to support opaque pointer")] public static extern LLVMOpaqueValue* BuildLoad([NativeTypeName("LLVMBuilderRef")] LLVMOpaqueBuilder* param0, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* PointerVal, [NativeTypeName("const char *")] sbyte* Name); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBuildLoad2", ExactSpelling = true)] @@ -2473,14 +2491,17 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBuildGEP", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] + [Obsolete("Use LLVMBuildGEP2 instead to support opaque pointer")] public static extern LLVMOpaqueValue* BuildGEP([NativeTypeName("LLVMBuilderRef")] LLVMOpaqueBuilder* B, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Pointer, [NativeTypeName("LLVMValueRef *")] LLVMOpaqueValue** Indices, [NativeTypeName("unsigned int")] uint NumIndices, [NativeTypeName("const char *")] sbyte* Name); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBuildInBoundsGEP", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] + [Obsolete("Use LLVMBuildInBoundsGEP2 instead to support opaque pointer")] public static extern LLVMOpaqueValue* BuildInBoundsGEP([NativeTypeName("LLVMBuilderRef")] LLVMOpaqueBuilder* B, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Pointer, [NativeTypeName("LLVMValueRef *")] LLVMOpaqueValue** Indices, [NativeTypeName("unsigned int")] uint NumIndices, [NativeTypeName("const char *")] sbyte* Name); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBuildStructGEP", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] + [Obsolete("Use LLVMBuildStructGEP2 instead to support opaque pointer")] public static extern LLVMOpaqueValue* BuildStructGEP([NativeTypeName("LLVMBuilderRef")] LLVMOpaqueBuilder* B, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Pointer, [NativeTypeName("unsigned int")] uint Idx, [NativeTypeName("const char *")] sbyte* Name); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBuildGEP2", ExactSpelling = true)] @@ -2613,6 +2634,9 @@ public static unsafe partial class LLVM [return: NativeTypeName("LLVMValueRef")] public static extern LLVMOpaqueValue* BuildIntCast([NativeTypeName("LLVMBuilderRef")] LLVMOpaqueBuilder* param0, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* DestTy, [NativeTypeName("const char *")] sbyte* Name); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetCastOpcode", ExactSpelling = true)] + public static extern LLVMOpcode GetCastOpcode([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Src, [NativeTypeName("LLVMBool")] int SrcIsSigned, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* DestTy, [NativeTypeName("LLVMBool")] int DestIsSigned); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBuildICmp", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] public static extern LLVMOpaqueValue* BuildICmp([NativeTypeName("LLVMBuilderRef")] LLVMOpaqueBuilder* param0, LLVMIntPredicate Op, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHS, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHS, [NativeTypeName("const char *")] sbyte* Name); @@ -2627,6 +2651,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBuildCall", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] + [Obsolete("Use LLVMBuildCall2 instead to support opaque pointer")] public static extern LLVMOpaqueValue* BuildCall([NativeTypeName("LLVMBuilderRef")] LLVMOpaqueBuilder* param0, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Fn, [NativeTypeName("LLVMValueRef *")] LLVMOpaqueValue** Args, [NativeTypeName("unsigned int")] uint NumArgs, [NativeTypeName("const char *")] sbyte* Name); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBuildCall2", ExactSpelling = true)] @@ -2675,6 +2700,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBuildPtrDiff", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] + [Obsolete("Use LLVMBuildPtrDiff2 instead to support opaque pointer")] public static extern LLVMOpaqueValue* BuildPtrDiff([NativeTypeName("LLVMBuilderRef")] LLVMOpaqueBuilder* param0, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHS, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHS, [NativeTypeName("const char *")] sbyte* Name); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBuildPtrDiff2", ExactSpelling = true)] @@ -2739,11 +2765,11 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMCreateMemoryBufferWithMemoryRange", ExactSpelling = true)] [return: NativeTypeName("LLVMMemoryBufferRef")] - public static extern LLVMOpaqueMemoryBuffer* CreateMemoryBufferWithMemoryRange([NativeTypeName("const char *")] sbyte* InputData, [NativeTypeName("size_t")] UIntPtr InputDataLength, [NativeTypeName("const char *")] sbyte* BufferName, [NativeTypeName("LLVMBool")] int RequiresNullTerminator); + public static extern LLVMOpaqueMemoryBuffer* CreateMemoryBufferWithMemoryRange([NativeTypeName("const char *")] sbyte* InputData, [NativeTypeName("size_t")] nuint InputDataLength, [NativeTypeName("const char *")] sbyte* BufferName, [NativeTypeName("LLVMBool")] int RequiresNullTerminator); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMCreateMemoryBufferWithMemoryRangeCopy", ExactSpelling = true)] [return: NativeTypeName("LLVMMemoryBufferRef")] - public static extern LLVMOpaqueMemoryBuffer* CreateMemoryBufferWithMemoryRangeCopy([NativeTypeName("const char *")] sbyte* InputData, [NativeTypeName("size_t")] UIntPtr InputDataLength, [NativeTypeName("const char *")] sbyte* BufferName); + public static extern LLVMOpaqueMemoryBuffer* CreateMemoryBufferWithMemoryRangeCopy([NativeTypeName("const char *")] sbyte* InputData, [NativeTypeName("size_t")] nuint InputDataLength, [NativeTypeName("const char *")] sbyte* BufferName); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetBufferStart", ExactSpelling = true)] [return: NativeTypeName("const char *")] @@ -2751,7 +2777,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetBufferSize", ExactSpelling = true)] [return: NativeTypeName("size_t")] - public static extern UIntPtr GetBufferSize([NativeTypeName("LLVMMemoryBufferRef")] LLVMOpaqueMemoryBuffer* MemBuf); + public static extern nuint GetBufferSize([NativeTypeName("LLVMMemoryBufferRef")] LLVMOpaqueMemoryBuffer* MemBuf); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDisposeMemoryBuffer", ExactSpelling = true)] public static extern void DisposeMemoryBuffer([NativeTypeName("LLVMMemoryBufferRef")] LLVMOpaqueMemoryBuffer* MemBuf); @@ -2833,23 +2859,23 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateCompileUnit", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateCompileUnit([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, LLVMDWARFSourceLanguage Lang, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* FileRef, [NativeTypeName("const char *")] sbyte* Producer, [NativeTypeName("size_t")] UIntPtr ProducerLen, [NativeTypeName("LLVMBool")] int isOptimized, [NativeTypeName("const char *")] sbyte* Flags, [NativeTypeName("size_t")] UIntPtr FlagsLen, [NativeTypeName("unsigned int")] uint RuntimeVer, [NativeTypeName("const char *")] sbyte* SplitName, [NativeTypeName("size_t")] UIntPtr SplitNameLen, LLVMDWARFEmissionKind Kind, [NativeTypeName("unsigned int")] uint DWOId, [NativeTypeName("LLVMBool")] int SplitDebugInlining, [NativeTypeName("LLVMBool")] int DebugInfoForProfiling, [NativeTypeName("const char *")] sbyte* SysRoot, [NativeTypeName("size_t")] UIntPtr SysRootLen, [NativeTypeName("const char *")] sbyte* SDK, [NativeTypeName("size_t")] UIntPtr SDKLen); + public static extern LLVMOpaqueMetadata* DIBuilderCreateCompileUnit([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, LLVMDWARFSourceLanguage Lang, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* FileRef, [NativeTypeName("const char *")] sbyte* Producer, [NativeTypeName("size_t")] nuint ProducerLen, [NativeTypeName("LLVMBool")] int isOptimized, [NativeTypeName("const char *")] sbyte* Flags, [NativeTypeName("size_t")] nuint FlagsLen, [NativeTypeName("unsigned int")] uint RuntimeVer, [NativeTypeName("const char *")] sbyte* SplitName, [NativeTypeName("size_t")] nuint SplitNameLen, LLVMDWARFEmissionKind Kind, [NativeTypeName("unsigned int")] uint DWOId, [NativeTypeName("LLVMBool")] int SplitDebugInlining, [NativeTypeName("LLVMBool")] int DebugInfoForProfiling, [NativeTypeName("const char *")] sbyte* SysRoot, [NativeTypeName("size_t")] nuint SysRootLen, [NativeTypeName("const char *")] sbyte* SDK, [NativeTypeName("size_t")] nuint SDKLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateFile", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateFile([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("const char *")] sbyte* Filename, [NativeTypeName("size_t")] UIntPtr FilenameLen, [NativeTypeName("const char *")] sbyte* Directory, [NativeTypeName("size_t")] UIntPtr DirectoryLen); + public static extern LLVMOpaqueMetadata* DIBuilderCreateFile([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("const char *")] sbyte* Filename, [NativeTypeName("size_t")] nuint FilenameLen, [NativeTypeName("const char *")] sbyte* Directory, [NativeTypeName("size_t")] nuint DirectoryLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateModule", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateModule([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* ParentScope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("const char *")] sbyte* ConfigMacros, [NativeTypeName("size_t")] UIntPtr ConfigMacrosLen, [NativeTypeName("const char *")] sbyte* IncludePath, [NativeTypeName("size_t")] UIntPtr IncludePathLen, [NativeTypeName("const char *")] sbyte* APINotesFile, [NativeTypeName("size_t")] UIntPtr APINotesFileLen); + public static extern LLVMOpaqueMetadata* DIBuilderCreateModule([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* ParentScope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("const char *")] sbyte* ConfigMacros, [NativeTypeName("size_t")] nuint ConfigMacrosLen, [NativeTypeName("const char *")] sbyte* IncludePath, [NativeTypeName("size_t")] nuint IncludePathLen, [NativeTypeName("const char *")] sbyte* APINotesFile, [NativeTypeName("size_t")] nuint APINotesFileLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateNameSpace", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateNameSpace([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* ParentScope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("LLVMBool")] int ExportSymbols); + public static extern LLVMOpaqueMetadata* DIBuilderCreateNameSpace([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* ParentScope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("LLVMBool")] int ExportSymbols); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateFunction", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateFunction([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("const char *")] sbyte* LinkageName, [NativeTypeName("size_t")] UIntPtr LinkageNameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Ty, [NativeTypeName("LLVMBool")] int IsLocalToUnit, [NativeTypeName("LLVMBool")] int IsDefinition, [NativeTypeName("unsigned int")] uint ScopeLine, LLVMDIFlags Flags, [NativeTypeName("LLVMBool")] int IsOptimized); + public static extern LLVMOpaqueMetadata* DIBuilderCreateFunction([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("const char *")] sbyte* LinkageName, [NativeTypeName("size_t")] nuint LinkageNameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Ty, [NativeTypeName("LLVMBool")] int IsLocalToUnit, [NativeTypeName("LLVMBool")] int IsDefinition, [NativeTypeName("unsigned int")] uint ScopeLine, LLVMDIFlags Flags, [NativeTypeName("LLVMBool")] int IsOptimized); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateLexicalBlock", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] @@ -2873,7 +2899,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateImportedDeclaration", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateImportedDeclaration([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Decl, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint Line, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("LLVMMetadataRef *")] LLVMOpaqueMetadata** Elements, [NativeTypeName("unsigned int")] uint NumElements); + public static extern LLVMOpaqueMetadata* DIBuilderCreateImportedDeclaration([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Decl, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint Line, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("LLVMMetadataRef *")] LLVMOpaqueMetadata** Elements, [NativeTypeName("unsigned int")] uint NumElements); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateDebugLocation", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] @@ -2913,7 +2939,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderGetOrCreateTypeArray", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderGetOrCreateTypeArray([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef *")] LLVMOpaqueMetadata** Data, [NativeTypeName("size_t")] UIntPtr NumElements); + public static extern LLVMOpaqueMetadata* DIBuilderGetOrCreateTypeArray([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef *")] LLVMOpaqueMetadata** Data, [NativeTypeName("size_t")] nuint NumElements); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateSubroutineType", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] @@ -2921,7 +2947,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateMacro", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateMacro([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* ParentMacroFile, [NativeTypeName("unsigned int")] uint Line, LLVMDWARFMacinfoRecordType RecordType, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("const char *")] sbyte* Value, [NativeTypeName("size_t")] UIntPtr ValueLen); + public static extern LLVMOpaqueMetadata* DIBuilderCreateMacro([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* ParentMacroFile, [NativeTypeName("unsigned int")] uint Line, LLVMDWARFMacinfoRecordType RecordType, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("const char *")] sbyte* Value, [NativeTypeName("size_t")] nuint ValueLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateTempMacroFile", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] @@ -2929,15 +2955,15 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateEnumerator", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateEnumerator([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("int64_t")] long Value, [NativeTypeName("LLVMBool")] int IsUnsigned); + public static extern LLVMOpaqueMetadata* DIBuilderCreateEnumerator([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("int64_t")] long Value, [NativeTypeName("LLVMBool")] int IsUnsigned); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateEnumerationType", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateEnumerationType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNumber, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint32_t")] uint AlignInBits, [NativeTypeName("LLVMMetadataRef *")] LLVMOpaqueMetadata** Elements, [NativeTypeName("unsigned int")] uint NumElements, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* ClassTy); + public static extern LLVMOpaqueMetadata* DIBuilderCreateEnumerationType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNumber, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint32_t")] uint AlignInBits, [NativeTypeName("LLVMMetadataRef *")] LLVMOpaqueMetadata** Elements, [NativeTypeName("unsigned int")] uint NumElements, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* ClassTy); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateUnionType", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateUnionType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNumber, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint32_t")] uint AlignInBits, LLVMDIFlags Flags, [NativeTypeName("LLVMMetadataRef *")] LLVMOpaqueMetadata** Elements, [NativeTypeName("unsigned int")] uint NumElements, [NativeTypeName("unsigned int")] uint RunTimeLang, [NativeTypeName("const char *")] sbyte* UniqueId, [NativeTypeName("size_t")] UIntPtr UniqueIdLen); + public static extern LLVMOpaqueMetadata* DIBuilderCreateUnionType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNumber, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint32_t")] uint AlignInBits, LLVMDIFlags Flags, [NativeTypeName("LLVMMetadataRef *")] LLVMOpaqueMetadata** Elements, [NativeTypeName("unsigned int")] uint NumElements, [NativeTypeName("unsigned int")] uint RunTimeLang, [NativeTypeName("const char *")] sbyte* UniqueId, [NativeTypeName("size_t")] nuint UniqueIdLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateArrayType", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] @@ -2949,27 +2975,27 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateUnspecifiedType", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateUnspecifiedType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen); + public static extern LLVMOpaqueMetadata* DIBuilderCreateUnspecifiedType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateBasicType", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateBasicType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("LLVMDWARFTypeEncoding")] uint Encoding, LLVMDIFlags Flags); + public static extern LLVMOpaqueMetadata* DIBuilderCreateBasicType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("LLVMDWARFTypeEncoding")] uint Encoding, LLVMDIFlags Flags); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreatePointerType", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreatePointerType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* PointeeTy, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint32_t")] uint AlignInBits, [NativeTypeName("unsigned int")] uint AddressSpace, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen); + public static extern LLVMOpaqueMetadata* DIBuilderCreatePointerType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* PointeeTy, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint32_t")] uint AlignInBits, [NativeTypeName("unsigned int")] uint AddressSpace, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateStructType", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateStructType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNumber, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint32_t")] uint AlignInBits, LLVMDIFlags Flags, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* DerivedFrom, [NativeTypeName("LLVMMetadataRef *")] LLVMOpaqueMetadata** Elements, [NativeTypeName("unsigned int")] uint NumElements, [NativeTypeName("unsigned int")] uint RunTimeLang, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* VTableHolder, [NativeTypeName("const char *")] sbyte* UniqueId, [NativeTypeName("size_t")] UIntPtr UniqueIdLen); + public static extern LLVMOpaqueMetadata* DIBuilderCreateStructType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNumber, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint32_t")] uint AlignInBits, LLVMDIFlags Flags, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* DerivedFrom, [NativeTypeName("LLVMMetadataRef *")] LLVMOpaqueMetadata** Elements, [NativeTypeName("unsigned int")] uint NumElements, [NativeTypeName("unsigned int")] uint RunTimeLang, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* VTableHolder, [NativeTypeName("const char *")] sbyte* UniqueId, [NativeTypeName("size_t")] nuint UniqueIdLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateMemberType", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateMemberType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint32_t")] uint AlignInBits, [NativeTypeName("uint64_t")] ulong OffsetInBits, LLVMDIFlags Flags, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Ty); + public static extern LLVMOpaqueMetadata* DIBuilderCreateMemberType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint32_t")] uint AlignInBits, [NativeTypeName("uint64_t")] ulong OffsetInBits, LLVMDIFlags Flags, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Ty); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateStaticMemberType", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateStaticMemberType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNumber, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Type, LLVMDIFlags Flags, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("uint32_t")] uint AlignInBits); + public static extern LLVMOpaqueMetadata* DIBuilderCreateStaticMemberType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNumber, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Type, LLVMDIFlags Flags, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("uint32_t")] uint AlignInBits); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateMemberPointerType", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] @@ -2977,11 +3003,11 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateObjCIVar", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateObjCIVar([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint32_t")] uint AlignInBits, [NativeTypeName("uint64_t")] ulong OffsetInBits, LLVMDIFlags Flags, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Ty, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* PropertyNode); + public static extern LLVMOpaqueMetadata* DIBuilderCreateObjCIVar([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint32_t")] uint AlignInBits, [NativeTypeName("uint64_t")] ulong OffsetInBits, LLVMDIFlags Flags, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Ty, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* PropertyNode); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateObjCProperty", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateObjCProperty([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("const char *")] sbyte* GetterName, [NativeTypeName("size_t")] UIntPtr GetterNameLen, [NativeTypeName("const char *")] sbyte* SetterName, [NativeTypeName("size_t")] UIntPtr SetterNameLen, [NativeTypeName("unsigned int")] uint PropertyAttributes, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Ty); + public static extern LLVMOpaqueMetadata* DIBuilderCreateObjCProperty([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("const char *")] sbyte* GetterName, [NativeTypeName("size_t")] nuint GetterNameLen, [NativeTypeName("const char *")] sbyte* SetterName, [NativeTypeName("size_t")] nuint SetterNameLen, [NativeTypeName("unsigned int")] uint PropertyAttributes, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Ty); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateObjectPointerType", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] @@ -3001,7 +3027,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateTypedef", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateTypedef([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Type, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("uint32_t")] uint AlignInBits); + public static extern LLVMOpaqueMetadata* DIBuilderCreateTypedef([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Type, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("uint32_t")] uint AlignInBits); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateInheritance", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] @@ -3009,19 +3035,19 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateForwardDecl", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateForwardDecl([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("unsigned int")] uint Tag, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint Line, [NativeTypeName("unsigned int")] uint RuntimeLang, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint32_t")] uint AlignInBits, [NativeTypeName("const char *")] sbyte* UniqueIdentifier, [NativeTypeName("size_t")] UIntPtr UniqueIdentifierLen); + public static extern LLVMOpaqueMetadata* DIBuilderCreateForwardDecl([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("unsigned int")] uint Tag, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint Line, [NativeTypeName("unsigned int")] uint RuntimeLang, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint32_t")] uint AlignInBits, [NativeTypeName("const char *")] sbyte* UniqueIdentifier, [NativeTypeName("size_t")] nuint UniqueIdentifierLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateReplaceableCompositeType", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateReplaceableCompositeType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("unsigned int")] uint Tag, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint Line, [NativeTypeName("unsigned int")] uint RuntimeLang, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint32_t")] uint AlignInBits, LLVMDIFlags Flags, [NativeTypeName("const char *")] sbyte* UniqueIdentifier, [NativeTypeName("size_t")] UIntPtr UniqueIdentifierLen); + public static extern LLVMOpaqueMetadata* DIBuilderCreateReplaceableCompositeType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("unsigned int")] uint Tag, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint Line, [NativeTypeName("unsigned int")] uint RuntimeLang, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint32_t")] uint AlignInBits, LLVMDIFlags Flags, [NativeTypeName("const char *")] sbyte* UniqueIdentifier, [NativeTypeName("size_t")] nuint UniqueIdentifierLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateBitFieldMemberType", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateBitFieldMemberType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNumber, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint64_t")] ulong OffsetInBits, [NativeTypeName("uint64_t")] ulong StorageOffsetInBits, LLVMDIFlags Flags, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Type); + public static extern LLVMOpaqueMetadata* DIBuilderCreateBitFieldMemberType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNumber, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint64_t")] ulong OffsetInBits, [NativeTypeName("uint64_t")] ulong StorageOffsetInBits, LLVMDIFlags Flags, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Type); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateClassType", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateClassType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNumber, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint32_t")] uint AlignInBits, [NativeTypeName("uint64_t")] ulong OffsetInBits, LLVMDIFlags Flags, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* DerivedFrom, [NativeTypeName("LLVMMetadataRef *")] LLVMOpaqueMetadata** Elements, [NativeTypeName("unsigned int")] uint NumElements, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* VTableHolder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* TemplateParamsNode, [NativeTypeName("const char *")] sbyte* UniqueIdentifier, [NativeTypeName("size_t")] UIntPtr UniqueIdentifierLen); + public static extern LLVMOpaqueMetadata* DIBuilderCreateClassType([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNumber, [NativeTypeName("uint64_t")] ulong SizeInBits, [NativeTypeName("uint32_t")] uint AlignInBits, [NativeTypeName("uint64_t")] ulong OffsetInBits, LLVMDIFlags Flags, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* DerivedFrom, [NativeTypeName("LLVMMetadataRef *")] LLVMOpaqueMetadata** Elements, [NativeTypeName("unsigned int")] uint NumElements, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* VTableHolder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* TemplateParamsNode, [NativeTypeName("const char *")] sbyte* UniqueIdentifier, [NativeTypeName("size_t")] nuint UniqueIdentifierLen); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateArtificialType", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] @@ -3029,7 +3055,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDITypeGetName", ExactSpelling = true)] [return: NativeTypeName("const char *")] - public static extern sbyte* DITypeGetName([NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* DType, [NativeTypeName("size_t *")] UIntPtr* Length); + public static extern sbyte* DITypeGetName([NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* DType, [NativeTypeName("size_t *")] nuint* Length); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDITypeGetSizeInBits", ExactSpelling = true)] [return: NativeTypeName("uint64_t")] @@ -3056,11 +3082,11 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderGetOrCreateArray", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderGetOrCreateArray([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef *")] LLVMOpaqueMetadata** Data, [NativeTypeName("size_t")] UIntPtr NumElements); + public static extern LLVMOpaqueMetadata* DIBuilderGetOrCreateArray([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef *")] LLVMOpaqueMetadata** Data, [NativeTypeName("size_t")] nuint NumElements); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateExpression", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateExpression([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("uint64_t *")] ulong* Addr, [NativeTypeName("size_t")] UIntPtr Length); + public static extern LLVMOpaqueMetadata* DIBuilderCreateExpression([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("uint64_t *")] ulong* Addr, [NativeTypeName("size_t")] nuint Length); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateConstantValueExpression", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] @@ -3068,7 +3094,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateGlobalVariableExpression", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateGlobalVariableExpression([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("const char *")] sbyte* Linkage, [NativeTypeName("size_t")] UIntPtr LinkLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Ty, [NativeTypeName("LLVMBool")] int LocalToUnit, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Expr, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Decl, [NativeTypeName("uint32_t")] uint AlignInBits); + public static extern LLVMOpaqueMetadata* DIBuilderCreateGlobalVariableExpression([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("const char *")] sbyte* Linkage, [NativeTypeName("size_t")] nuint LinkLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Ty, [NativeTypeName("LLVMBool")] int LocalToUnit, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Expr, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Decl, [NativeTypeName("uint32_t")] uint AlignInBits); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIGlobalVariableExpressionGetVariable", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] @@ -3092,7 +3118,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMTemporaryMDNode", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* TemporaryMDNode([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* Ctx, [NativeTypeName("LLVMMetadataRef *")] LLVMOpaqueMetadata** Data, [NativeTypeName("size_t")] UIntPtr NumElements); + public static extern LLVMOpaqueMetadata* TemporaryMDNode([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* Ctx, [NativeTypeName("LLVMMetadataRef *")] LLVMOpaqueMetadata** Data, [NativeTypeName("size_t")] nuint NumElements); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDisposeTemporaryMDNode", ExactSpelling = true)] public static extern void DisposeTemporaryMDNode([NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* TempNode); @@ -3102,7 +3128,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateTempGlobalVariableFwdDecl", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateTempGlobalVariableFwdDecl([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("const char *")] sbyte* Linkage, [NativeTypeName("size_t")] UIntPtr LnkLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Ty, [NativeTypeName("LLVMBool")] int LocalToUnit, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Decl, [NativeTypeName("uint32_t")] uint AlignInBits); + public static extern LLVMOpaqueMetadata* DIBuilderCreateTempGlobalVariableFwdDecl([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("const char *")] sbyte* Linkage, [NativeTypeName("size_t")] nuint LnkLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Ty, [NativeTypeName("LLVMBool")] int LocalToUnit, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Decl, [NativeTypeName("uint32_t")] uint AlignInBits); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderInsertDeclareBefore", ExactSpelling = true)] [return: NativeTypeName("LLVMValueRef")] @@ -3122,11 +3148,11 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateAutoVariable", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateAutoVariable([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Ty, [NativeTypeName("LLVMBool")] int AlwaysPreserve, LLVMDIFlags Flags, [NativeTypeName("uint32_t")] uint AlignInBits); + public static extern LLVMOpaqueMetadata* DIBuilderCreateAutoVariable([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Ty, [NativeTypeName("LLVMBool")] int AlwaysPreserve, LLVMDIFlags Flags, [NativeTypeName("uint32_t")] uint AlignInBits); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIBuilderCreateParameterVariable", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] - public static extern LLVMOpaqueMetadata* DIBuilderCreateParameterVariable([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] UIntPtr NameLen, [NativeTypeName("unsigned int")] uint ArgNo, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Ty, [NativeTypeName("LLVMBool")] int AlwaysPreserve, LLVMDIFlags Flags); + public static extern LLVMOpaqueMetadata* DIBuilderCreateParameterVariable([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("unsigned int")] uint ArgNo, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Ty, [NativeTypeName("LLVMBool")] int AlwaysPreserve, LLVMDIFlags Flags); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetSubprogram", ExactSpelling = true)] [return: NativeTypeName("LLVMMetadataRef")] @@ -3147,19 +3173,20 @@ public static unsafe partial class LLVM public static extern void InstructionSetDebugLoc([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Inst, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Loc); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetMetadataKind", ExactSpelling = true)] - public static extern LLVMMetadataKind GetMetadataKind([NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Metadata); + [return: NativeTypeName("LLVMMetadataKind")] + public static extern uint GetMetadataKind([NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Metadata); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMCreateDisasm", ExactSpelling = true)] [return: NativeTypeName("LLVMDisasmContextRef")] - public static extern void* CreateDisasm([NativeTypeName("const char *")] sbyte* TripleName, void* DisInfo, int TagType, [NativeTypeName("LLVMOpInfoCallback")] IntPtr GetOpInfo, [NativeTypeName("LLVMSymbolLookupCallback")] IntPtr SymbolLookUp); + public static extern void* CreateDisasm([NativeTypeName("const char *")] sbyte* TripleName, void* DisInfo, int TagType, [NativeTypeName("LLVMOpInfoCallback")] delegate* unmanaged[Cdecl] GetOpInfo, [NativeTypeName("LLVMSymbolLookupCallback")] delegate* unmanaged[Cdecl] SymbolLookUp); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMCreateDisasmCPU", ExactSpelling = true)] [return: NativeTypeName("LLVMDisasmContextRef")] - public static extern void* CreateDisasmCPU([NativeTypeName("const char *")] sbyte* Triple, [NativeTypeName("const char *")] sbyte* CPU, void* DisInfo, int TagType, [NativeTypeName("LLVMOpInfoCallback")] IntPtr GetOpInfo, [NativeTypeName("LLVMSymbolLookupCallback")] IntPtr SymbolLookUp); + public static extern void* CreateDisasmCPU([NativeTypeName("const char *")] sbyte* Triple, [NativeTypeName("const char *")] sbyte* CPU, void* DisInfo, int TagType, [NativeTypeName("LLVMOpInfoCallback")] delegate* unmanaged[Cdecl] GetOpInfo, [NativeTypeName("LLVMSymbolLookupCallback")] delegate* unmanaged[Cdecl] SymbolLookUp); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMCreateDisasmCPUFeatures", ExactSpelling = true)] [return: NativeTypeName("LLVMDisasmContextRef")] - public static extern void* CreateDisasmCPUFeatures([NativeTypeName("const char *")] sbyte* Triple, [NativeTypeName("const char *")] sbyte* CPU, [NativeTypeName("const char *")] sbyte* Features, void* DisInfo, int TagType, [NativeTypeName("LLVMOpInfoCallback")] IntPtr GetOpInfo, [NativeTypeName("LLVMSymbolLookupCallback")] IntPtr SymbolLookUp); + public static extern void* CreateDisasmCPUFeatures([NativeTypeName("const char *")] sbyte* Triple, [NativeTypeName("const char *")] sbyte* CPU, [NativeTypeName("const char *")] sbyte* Features, void* DisInfo, int TagType, [NativeTypeName("LLVMOpInfoCallback")] delegate* unmanaged[Cdecl] GetOpInfo, [NativeTypeName("LLVMSymbolLookupCallback")] delegate* unmanaged[Cdecl] SymbolLookUp); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetDisasmOptions", ExactSpelling = true)] public static extern int SetDisasmOptions([NativeTypeName("LLVMDisasmContextRef")] void* DC, [NativeTypeName("uint64_t")] ulong Options); @@ -3169,7 +3196,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDisasmInstruction", ExactSpelling = true)] [return: NativeTypeName("size_t")] - public static extern UIntPtr DisasmInstruction([NativeTypeName("LLVMDisasmContextRef")] void* DC, [NativeTypeName("uint8_t *")] byte* Bytes, [NativeTypeName("uint64_t")] ulong BytesSize, [NativeTypeName("uint64_t")] ulong PC, [NativeTypeName("char *")] sbyte* OutString, [NativeTypeName("size_t")] UIntPtr OutStringSize); + public static extern nuint DisasmInstruction([NativeTypeName("LLVMDisasmContextRef")] void* DC, [NativeTypeName("uint8_t *")] byte* Bytes, [NativeTypeName("uint64_t")] ulong BytesSize, [NativeTypeName("uint64_t")] ulong PC, [NativeTypeName("char *")] sbyte* OutString, [NativeTypeName("size_t")] nuint OutStringSize); [NativeTypeName("#define LLVMDisassembler_Option_UseMarkup 1")] public const int LLVMDisassembler_Option_UseMarkup = 1; @@ -3290,7 +3317,7 @@ public static unsafe partial class LLVM public const int LLVMErrorSuccess = 0; [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMInstallFatalErrorHandler", ExactSpelling = true)] - public static extern void InstallFatalErrorHandler([NativeTypeName("LLVMFatalErrorHandler")] IntPtr Handler); + public static extern void InstallFatalErrorHandler([NativeTypeName("LLVMFatalErrorHandler")] delegate* unmanaged[Cdecl] Handler); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMResetFatalErrorHandler", ExactSpelling = true)] public static extern void ResetFatalErrorHandler(); @@ -3346,11 +3373,11 @@ public static unsafe partial class LLVM public static extern int CreateJITCompilerForModule([NativeTypeName("LLVMExecutionEngineRef *")] LLVMOpaqueExecutionEngine** OutJIT, [NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("unsigned int")] uint OptLevel, [NativeTypeName("char **")] sbyte** OutError); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMInitializeMCJITCompilerOptions", ExactSpelling = true)] - public static extern void InitializeMCJITCompilerOptions([NativeTypeName("struct LLVMMCJITCompilerOptions *")] LLVMMCJITCompilerOptions* Options, [NativeTypeName("size_t")] UIntPtr SizeOfOptions); + public static extern void InitializeMCJITCompilerOptions([NativeTypeName("struct LLVMMCJITCompilerOptions *")] LLVMMCJITCompilerOptions* Options, [NativeTypeName("size_t")] nuint SizeOfOptions); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMCreateMCJITCompilerForModule", ExactSpelling = true)] [return: NativeTypeName("LLVMBool")] - public static extern int CreateMCJITCompilerForModule([NativeTypeName("LLVMExecutionEngineRef *")] LLVMOpaqueExecutionEngine** OutJIT, [NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("struct LLVMMCJITCompilerOptions *")] LLVMMCJITCompilerOptions* Options, [NativeTypeName("size_t")] UIntPtr SizeOfOptions, [NativeTypeName("char **")] sbyte** OutError); + public static extern int CreateMCJITCompilerForModule([NativeTypeName("LLVMExecutionEngineRef *")] LLVMOpaqueExecutionEngine** OutJIT, [NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("struct LLVMMCJITCompilerOptions *")] LLVMMCJITCompilerOptions* Options, [NativeTypeName("size_t")] nuint SizeOfOptions, [NativeTypeName("char **")] sbyte** OutError); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDisposeExecutionEngine", ExactSpelling = true)] public static extern void DisposeExecutionEngine([NativeTypeName("LLVMExecutionEngineRef")] LLVMOpaqueExecutionEngine* EE); @@ -3413,7 +3440,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMCreateSimpleMCJITMemoryManager", ExactSpelling = true)] [return: NativeTypeName("LLVMMCJITMemoryManagerRef")] - public static extern LLVMOpaqueMCJITMemoryManager* CreateSimpleMCJITMemoryManager(void* Opaque, [NativeTypeName("LLVMMemoryManagerAllocateCodeSectionCallback")] IntPtr AllocateCodeSection, [NativeTypeName("LLVMMemoryManagerAllocateDataSectionCallback")] IntPtr AllocateDataSection, [NativeTypeName("LLVMMemoryManagerFinalizeMemoryCallback")] IntPtr FinalizeMemory, [NativeTypeName("LLVMMemoryManagerDestroyCallback")] IntPtr Destroy); + public static extern LLVMOpaqueMCJITMemoryManager* CreateSimpleMCJITMemoryManager(void* Opaque, [NativeTypeName("LLVMMemoryManagerAllocateCodeSectionCallback")] delegate* unmanaged[Cdecl] AllocateCodeSection, [NativeTypeName("LLVMMemoryManagerAllocateDataSectionCallback")] delegate* unmanaged[Cdecl] AllocateDataSection, [NativeTypeName("LLVMMemoryManagerFinalizeMemoryCallback")] delegate* unmanaged[Cdecl] FinalizeMemory, [NativeTypeName("LLVMMemoryManagerDestroyCallback")] delegate* unmanaged[Cdecl] Destroy); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDisposeMCJITMemoryManager", ExactSpelling = true)] public static extern void DisposeMCJITMemoryManager([NativeTypeName("LLVMMCJITMemoryManagerRef")] LLVMOpaqueMCJITMemoryManager* MM); @@ -3489,7 +3516,7 @@ public static unsafe partial class LLVM public static extern void OrcLLJITBuilderSetJITTargetMachineBuilder([NativeTypeName("LLVMOrcLLJITBuilderRef")] LLVMOrcOpaqueLLJITBuilder* Builder, [NativeTypeName("LLVMOrcJITTargetMachineBuilderRef")] LLVMOrcOpaqueJITTargetMachineBuilder* JTMB); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcLLJITBuilderSetObjectLinkingLayerCreator", ExactSpelling = true)] - public static extern void OrcLLJITBuilderSetObjectLinkingLayerCreator([NativeTypeName("LLVMOrcLLJITBuilderRef")] LLVMOrcOpaqueLLJITBuilder* Builder, [NativeTypeName("LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction")] IntPtr F, void* Ctx); + public static extern void OrcLLJITBuilderSetObjectLinkingLayerCreator([NativeTypeName("LLVMOrcLLJITBuilderRef")] LLVMOrcOpaqueLLJITBuilder* Builder, [NativeTypeName("LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction")] delegate* unmanaged[Cdecl] F, void* Ctx); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcCreateLLJIT", ExactSpelling = true)] [return: NativeTypeName("LLVMErrorRef")] @@ -3573,15 +3600,15 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("lto_bool_t")] - public static extern byte lto_module_has_objc_category([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] UIntPtr length); + public static extern byte lto_module_has_objc_category([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] nuint length); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("lto_bool_t")] - public static extern byte lto_module_is_object_file_in_memory([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] UIntPtr length); + public static extern byte lto_module_is_object_file_in_memory([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] nuint length); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("lto_bool_t")] - public static extern byte lto_module_is_object_file_in_memory_for_target([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] UIntPtr length, [NativeTypeName("const char *")] sbyte* target_triple_prefix); + public static extern byte lto_module_is_object_file_in_memory_for_target([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] nuint length, [NativeTypeName("const char *")] sbyte* target_triple_prefix); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("lto_module_t")] @@ -3589,27 +3616,27 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("lto_module_t")] - public static extern LLVMOpaqueLTOModule* lto_module_create_from_memory([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] UIntPtr length); + public static extern LLVMOpaqueLTOModule* lto_module_create_from_memory([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] nuint length); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("lto_module_t")] - public static extern LLVMOpaqueLTOModule* lto_module_create_from_memory_with_path([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] UIntPtr length, [NativeTypeName("const char *")] sbyte* path); + public static extern LLVMOpaqueLTOModule* lto_module_create_from_memory_with_path([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] nuint length, [NativeTypeName("const char *")] sbyte* path); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("lto_module_t")] - public static extern LLVMOpaqueLTOModule* lto_module_create_in_local_context([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] UIntPtr length, [NativeTypeName("const char *")] sbyte* path); + public static extern LLVMOpaqueLTOModule* lto_module_create_in_local_context([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] nuint length, [NativeTypeName("const char *")] sbyte* path); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("lto_module_t")] - public static extern LLVMOpaqueLTOModule* lto_module_create_in_codegen_context([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] UIntPtr length, [NativeTypeName("const char *")] sbyte* path, [NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg); + public static extern LLVMOpaqueLTOModule* lto_module_create_in_codegen_context([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] nuint length, [NativeTypeName("const char *")] sbyte* path, [NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("lto_module_t")] - public static extern LLVMOpaqueLTOModule* lto_module_create_from_fd(int fd, [NativeTypeName("const char *")] sbyte* path, [NativeTypeName("size_t")] UIntPtr file_size); + public static extern LLVMOpaqueLTOModule* lto_module_create_from_fd(int fd, [NativeTypeName("const char *")] sbyte* path, [NativeTypeName("size_t")] nuint file_size); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("lto_module_t")] - public static extern LLVMOpaqueLTOModule* lto_module_create_from_fd_at_offset(int fd, [NativeTypeName("const char *")] sbyte* path, [NativeTypeName("size_t")] UIntPtr file_size, [NativeTypeName("size_t")] UIntPtr map_size, [NativeTypeName("off_t")] int offset); + public static extern LLVMOpaqueLTOModule* lto_module_create_from_fd_at_offset(int fd, [NativeTypeName("const char *")] sbyte* path, [NativeTypeName("size_t")] nuint file_size, [NativeTypeName("size_t")] nuint map_size, [NativeTypeName("off_t")] nint offset); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] public static extern void lto_module_dispose([NativeTypeName("lto_module_t")] LLVMOpaqueLTOModule* mod); @@ -3645,7 +3672,7 @@ public static unsafe partial class LLVM public static extern byte lto_module_has_ctor_dtor([NativeTypeName("lto_module_t")] LLVMOpaqueLTOModule* mod); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] - public static extern void lto_codegen_set_diagnostic_handler([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* param0, [NativeTypeName("lto_diagnostic_handler_t")] IntPtr param1, void* param2); + public static extern void lto_codegen_set_diagnostic_handler([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* param0, [NativeTypeName("lto_diagnostic_handler_t")] delegate* unmanaged[Cdecl] param1, void* param2); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("lto_code_gen_t")] @@ -3691,7 +3718,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("const void *")] - public static extern void* lto_codegen_compile([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, [NativeTypeName("size_t *")] UIntPtr* length); + public static extern void* lto_codegen_compile([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, [NativeTypeName("size_t *")] nuint* length); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("lto_bool_t")] @@ -3703,7 +3730,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("const void *")] - public static extern void* lto_codegen_compile_optimized([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, [NativeTypeName("size_t *")] UIntPtr* length); + public static extern void* lto_codegen_compile_optimized([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, [NativeTypeName("size_t *")] nuint* length); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("unsigned int")] @@ -3729,7 +3756,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("lto_input_t")] - public static extern LLVMOpaqueLTOInput* lto_input_create([NativeTypeName("const void *")] void* buffer, [NativeTypeName("size_t")] UIntPtr buffer_size, [NativeTypeName("const char *")] sbyte* path); + public static extern LLVMOpaqueLTOInput* lto_input_create([NativeTypeName("const void *")] void* buffer, [NativeTypeName("size_t")] nuint buffer_size, [NativeTypeName("const char *")] sbyte* path); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] public static extern void lto_input_dispose([NativeTypeName("lto_input_t")] LLVMOpaqueLTOInput* input); @@ -3740,11 +3767,11 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("const char *")] - public static extern sbyte* lto_input_get_dependent_library([NativeTypeName("lto_input_t")] LLVMOpaqueLTOInput* input, [NativeTypeName("size_t")] UIntPtr index, [NativeTypeName("size_t *")] UIntPtr* size); + public static extern sbyte* lto_input_get_dependent_library([NativeTypeName("lto_input_t")] LLVMOpaqueLTOInput* input, [NativeTypeName("size_t")] nuint index, [NativeTypeName("size_t *")] nuint* size); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("const char *const *")] - public static extern sbyte** lto_runtime_lib_symbols_list([NativeTypeName("size_t *")] UIntPtr* size); + public static extern sbyte** lto_runtime_lib_symbols_list([NativeTypeName("size_t *")] nuint* size); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] [return: NativeTypeName("thinlto_code_gen_t")] @@ -3846,7 +3873,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMMachOUniversalBinaryCopyObjectForArch", ExactSpelling = true)] [return: NativeTypeName("LLVMBinaryRef")] - public static extern LLVMOpaqueBinary* MachOUniversalBinaryCopyObjectForArch([NativeTypeName("LLVMBinaryRef")] LLVMOpaqueBinary* BR, [NativeTypeName("const char *")] sbyte* Arch, [NativeTypeName("size_t")] UIntPtr ArchLen, [NativeTypeName("char **")] sbyte** ErrorMessage); + public static extern LLVMOpaqueBinary* MachOUniversalBinaryCopyObjectForArch([NativeTypeName("LLVMBinaryRef")] LLVMOpaqueBinary* BR, [NativeTypeName("const char *")] sbyte* Arch, [NativeTypeName("size_t")] nuint ArchLen, [NativeTypeName("char **")] sbyte** ErrorMessage); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMObjectFileCopySectionIterator", ExactSpelling = true)] [return: NativeTypeName("LLVMSectionIteratorRef")] @@ -3969,7 +3996,7 @@ public static unsafe partial class LLVM public static extern int IsSymbolIteratorAtEnd([NativeTypeName("LLVMObjectFileRef")] LLVMOpaqueObjectFile* ObjectFile, [NativeTypeName("LLVMSymbolIteratorRef")] LLVMOpaqueSymbolIterator* SI); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcExecutionSessionSetErrorReporter", ExactSpelling = true)] - public static extern void OrcExecutionSessionSetErrorReporter([NativeTypeName("LLVMOrcExecutionSessionRef")] LLVMOrcOpaqueExecutionSession* ES, [NativeTypeName("LLVMOrcErrorReporterFunction")] IntPtr ReportError, void* Ctx); + public static extern void OrcExecutionSessionSetErrorReporter([NativeTypeName("LLVMOrcExecutionSessionRef")] LLVMOrcOpaqueExecutionSession* ES, [NativeTypeName("LLVMOrcErrorReporterFunction")] delegate* unmanaged[Cdecl] ReportError, void* Ctx); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcExecutionSessionGetSymbolStringPool", ExactSpelling = true)] [return: NativeTypeName("LLVMOrcSymbolStringPoolRef")] @@ -3982,6 +4009,9 @@ public static unsafe partial class LLVM [return: NativeTypeName("LLVMOrcSymbolStringPoolEntryRef")] public static extern LLVMOrcOpaqueSymbolStringPoolEntry* OrcExecutionSessionIntern([NativeTypeName("LLVMOrcExecutionSessionRef")] LLVMOrcOpaqueExecutionSession* ES, [NativeTypeName("const char *")] sbyte* Name); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcExecutionSessionLookup", ExactSpelling = true)] + public static extern void OrcExecutionSessionLookup([NativeTypeName("LLVMOrcExecutionSessionRef")] LLVMOrcOpaqueExecutionSession* ES, LLVMOrcLookupKind K, [NativeTypeName("LLVMOrcCJITDylibSearchOrder")] LLVMOrcCJITDylibSearchOrderElement* SearchOrder, [NativeTypeName("size_t")] nuint SearchOrderSize, [NativeTypeName("LLVMOrcCLookupSet")] LLVMOrcCLookupSetElement* Symbols, [NativeTypeName("size_t")] nuint SymbolsSize, [NativeTypeName("LLVMOrcExecutionSessionLookupHandleResultFunction")] delegate* unmanaged[Cdecl] HandleResult, void* Ctx); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcRetainSymbolStringPoolEntry", ExactSpelling = true)] public static extern void OrcRetainSymbolStringPoolEntry([NativeTypeName("LLVMOrcSymbolStringPoolEntryRef")] LLVMOrcOpaqueSymbolStringPoolEntry* S); @@ -4010,15 +4040,15 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcCreateCustomMaterializationUnit", ExactSpelling = true)] [return: NativeTypeName("LLVMOrcMaterializationUnitRef")] - public static extern LLVMOrcOpaqueMaterializationUnit* OrcCreateCustomMaterializationUnit([NativeTypeName("const char *")] sbyte* Name, void* Ctx, [NativeTypeName("LLVMOrcCSymbolFlagsMapPairs")] LLVMOrcCSymbolFlagsMapPair* Syms, [NativeTypeName("size_t")] UIntPtr NumSyms, [NativeTypeName("LLVMOrcSymbolStringPoolEntryRef")] LLVMOrcOpaqueSymbolStringPoolEntry* InitSym, [NativeTypeName("LLVMOrcMaterializationUnitMaterializeFunction")] IntPtr Materialize, [NativeTypeName("LLVMOrcMaterializationUnitDiscardFunction")] IntPtr Discard, [NativeTypeName("LLVMOrcMaterializationUnitDestroyFunction")] IntPtr Destroy); + public static extern LLVMOrcOpaqueMaterializationUnit* OrcCreateCustomMaterializationUnit([NativeTypeName("const char *")] sbyte* Name, void* Ctx, [NativeTypeName("LLVMOrcCSymbolFlagsMapPairs")] LLVMOrcCSymbolFlagsMapPair* Syms, [NativeTypeName("size_t")] nuint NumSyms, [NativeTypeName("LLVMOrcSymbolStringPoolEntryRef")] LLVMOrcOpaqueSymbolStringPoolEntry* InitSym, [NativeTypeName("LLVMOrcMaterializationUnitMaterializeFunction")] delegate* unmanaged[Cdecl] Materialize, [NativeTypeName("LLVMOrcMaterializationUnitDiscardFunction")] delegate* unmanaged[Cdecl] Discard, [NativeTypeName("LLVMOrcMaterializationUnitDestroyFunction")] delegate* unmanaged[Cdecl] Destroy); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcAbsoluteSymbols", ExactSpelling = true)] [return: NativeTypeName("LLVMOrcMaterializationUnitRef")] - public static extern LLVMOrcOpaqueMaterializationUnit* OrcAbsoluteSymbols([NativeTypeName("LLVMOrcCSymbolMapPairs")] LLVMJITCSymbolMapPair* Syms, [NativeTypeName("size_t")] UIntPtr NumPairs); + public static extern LLVMOrcOpaqueMaterializationUnit* OrcAbsoluteSymbols([NativeTypeName("LLVMOrcCSymbolMapPairs")] LLVMOrcCSymbolMapPair* Syms, [NativeTypeName("size_t")] nuint NumPairs); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcLazyReexports", ExactSpelling = true)] [return: NativeTypeName("LLVMOrcMaterializationUnitRef")] - public static extern LLVMOrcOpaqueMaterializationUnit* OrcLazyReexports([NativeTypeName("LLVMOrcLazyCallThroughManagerRef")] LLVMOrcOpaqueLazyCallThroughManager* LCTM, [NativeTypeName("LLVMOrcIndirectStubsManagerRef")] LLVMOrcOpaqueIndirectStubsManager* ISM, [NativeTypeName("LLVMOrcJITDylibRef")] LLVMOrcOpaqueJITDylib* SourceRef, [NativeTypeName("LLVMOrcCSymbolAliasMapPairs")] LLVMOrcCSymbolAliasMapPair* CallableAliases, [NativeTypeName("size_t")] UIntPtr NumPairs); + public static extern LLVMOrcOpaqueMaterializationUnit* OrcLazyReexports([NativeTypeName("LLVMOrcLazyCallThroughManagerRef")] LLVMOrcOpaqueLazyCallThroughManager* LCTM, [NativeTypeName("LLVMOrcIndirectStubsManagerRef")] LLVMOrcOpaqueIndirectStubsManager* ISM, [NativeTypeName("LLVMOrcJITDylibRef")] LLVMOrcOpaqueJITDylib* SourceRef, [NativeTypeName("LLVMOrcCSymbolAliasMapPairs")] LLVMOrcCSymbolAliasMapPair* CallableAliases, [NativeTypeName("size_t")] nuint NumPairs); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcDisposeMaterializationResponsibility", ExactSpelling = true)] public static extern void OrcDisposeMaterializationResponsibility([NativeTypeName("LLVMOrcMaterializationResponsibilityRef")] LLVMOrcOpaqueMaterializationResponsibility* MR); @@ -4033,7 +4063,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcMaterializationResponsibilityGetSymbols", ExactSpelling = true)] [return: NativeTypeName("LLVMOrcCSymbolFlagsMapPairs")] - public static extern LLVMOrcCSymbolFlagsMapPair* OrcMaterializationResponsibilityGetSymbols([NativeTypeName("LLVMOrcMaterializationResponsibilityRef")] LLVMOrcOpaqueMaterializationResponsibility* MR, [NativeTypeName("size_t *")] UIntPtr* NumPairs); + public static extern LLVMOrcCSymbolFlagsMapPair* OrcMaterializationResponsibilityGetSymbols([NativeTypeName("LLVMOrcMaterializationResponsibilityRef")] LLVMOrcOpaqueMaterializationResponsibility* MR, [NativeTypeName("size_t *")] nuint* NumPairs); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcDisposeCSymbolFlagsMap", ExactSpelling = true)] public static extern void OrcDisposeCSymbolFlagsMap([NativeTypeName("LLVMOrcCSymbolFlagsMapPairs")] LLVMOrcCSymbolFlagsMapPair* Pairs); @@ -4044,14 +4074,14 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcMaterializationResponsibilityGetRequestedSymbols", ExactSpelling = true)] [return: NativeTypeName("LLVMOrcSymbolStringPoolEntryRef *")] - public static extern LLVMOrcOpaqueSymbolStringPoolEntry** OrcMaterializationResponsibilityGetRequestedSymbols([NativeTypeName("LLVMOrcMaterializationResponsibilityRef")] LLVMOrcOpaqueMaterializationResponsibility* MR, [NativeTypeName("size_t *")] UIntPtr* NumSymbols); + public static extern LLVMOrcOpaqueSymbolStringPoolEntry** OrcMaterializationResponsibilityGetRequestedSymbols([NativeTypeName("LLVMOrcMaterializationResponsibilityRef")] LLVMOrcOpaqueMaterializationResponsibility* MR, [NativeTypeName("size_t *")] nuint* NumSymbols); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcDisposeSymbols", ExactSpelling = true)] public static extern void OrcDisposeSymbols([NativeTypeName("LLVMOrcSymbolStringPoolEntryRef *")] LLVMOrcOpaqueSymbolStringPoolEntry** Symbols); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcMaterializationResponsibilityNotifyResolved", ExactSpelling = true)] [return: NativeTypeName("LLVMErrorRef")] - public static extern LLVMOpaqueError* OrcMaterializationResponsibilityNotifyResolved([NativeTypeName("LLVMOrcMaterializationResponsibilityRef")] LLVMOrcOpaqueMaterializationResponsibility* MR, [NativeTypeName("LLVMOrcCSymbolMapPairs")] LLVMJITCSymbolMapPair* Symbols, [NativeTypeName("size_t")] UIntPtr NumPairs); + public static extern LLVMOpaqueError* OrcMaterializationResponsibilityNotifyResolved([NativeTypeName("LLVMOrcMaterializationResponsibilityRef")] LLVMOrcOpaqueMaterializationResponsibility* MR, [NativeTypeName("LLVMOrcCSymbolMapPairs")] LLVMOrcCSymbolMapPair* Symbols, [NativeTypeName("size_t")] nuint NumPairs); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcMaterializationResponsibilityNotifyEmitted", ExactSpelling = true)] [return: NativeTypeName("LLVMErrorRef")] @@ -4059,7 +4089,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcMaterializationResponsibilityDefineMaterializing", ExactSpelling = true)] [return: NativeTypeName("LLVMErrorRef")] - public static extern LLVMOpaqueError* OrcMaterializationResponsibilityDefineMaterializing([NativeTypeName("LLVMOrcMaterializationResponsibilityRef")] LLVMOrcOpaqueMaterializationResponsibility* MR, [NativeTypeName("LLVMOrcCSymbolFlagsMapPairs")] LLVMOrcCSymbolFlagsMapPair* Pairs, [NativeTypeName("size_t")] UIntPtr NumPairs); + public static extern LLVMOpaqueError* OrcMaterializationResponsibilityDefineMaterializing([NativeTypeName("LLVMOrcMaterializationResponsibilityRef")] LLVMOrcOpaqueMaterializationResponsibility* MR, [NativeTypeName("LLVMOrcCSymbolFlagsMapPairs")] LLVMOrcCSymbolFlagsMapPair* Pairs, [NativeTypeName("size_t")] nuint NumPairs); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcMaterializationResponsibilityFailMaterialization", ExactSpelling = true)] public static extern void OrcMaterializationResponsibilityFailMaterialization([NativeTypeName("LLVMOrcMaterializationResponsibilityRef")] LLVMOrcOpaqueMaterializationResponsibility* MR); @@ -4070,13 +4100,13 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcMaterializationResponsibilityDelegate", ExactSpelling = true)] [return: NativeTypeName("LLVMErrorRef")] - public static extern LLVMOpaqueError* OrcMaterializationResponsibilityDelegate([NativeTypeName("LLVMOrcMaterializationResponsibilityRef")] LLVMOrcOpaqueMaterializationResponsibility* MR, [NativeTypeName("LLVMOrcSymbolStringPoolEntryRef *")] LLVMOrcOpaqueSymbolStringPoolEntry** Symbols, [NativeTypeName("size_t")] UIntPtr NumSymbols, [NativeTypeName("LLVMOrcMaterializationResponsibilityRef *")] LLVMOrcOpaqueMaterializationResponsibility** Result); + public static extern LLVMOpaqueError* OrcMaterializationResponsibilityDelegate([NativeTypeName("LLVMOrcMaterializationResponsibilityRef")] LLVMOrcOpaqueMaterializationResponsibility* MR, [NativeTypeName("LLVMOrcSymbolStringPoolEntryRef *")] LLVMOrcOpaqueSymbolStringPoolEntry** Symbols, [NativeTypeName("size_t")] nuint NumSymbols, [NativeTypeName("LLVMOrcMaterializationResponsibilityRef *")] LLVMOrcOpaqueMaterializationResponsibility** Result); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcMaterializationResponsibilityAddDependencies", ExactSpelling = true)] - public static extern void OrcMaterializationResponsibilityAddDependencies([NativeTypeName("LLVMOrcMaterializationResponsibilityRef")] LLVMOrcOpaqueMaterializationResponsibility* MR, [NativeTypeName("LLVMOrcSymbolStringPoolEntryRef")] LLVMOrcOpaqueSymbolStringPoolEntry* Name, [NativeTypeName("LLVMOrcCDependenceMapPairs")] LLVMOrcCDependenceMapPair* Dependencies, [NativeTypeName("size_t")] UIntPtr NumPairs); + public static extern void OrcMaterializationResponsibilityAddDependencies([NativeTypeName("LLVMOrcMaterializationResponsibilityRef")] LLVMOrcOpaqueMaterializationResponsibility* MR, [NativeTypeName("LLVMOrcSymbolStringPoolEntryRef")] LLVMOrcOpaqueSymbolStringPoolEntry* Name, [NativeTypeName("LLVMOrcCDependenceMapPairs")] LLVMOrcCDependenceMapPair* Dependencies, [NativeTypeName("size_t")] nuint NumPairs); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcMaterializationResponsibilityAddDependenciesForAll", ExactSpelling = true)] - public static extern void OrcMaterializationResponsibilityAddDependenciesForAll([NativeTypeName("LLVMOrcMaterializationResponsibilityRef")] LLVMOrcOpaqueMaterializationResponsibility* MR, [NativeTypeName("LLVMOrcCDependenceMapPairs")] LLVMOrcCDependenceMapPair* Dependencies, [NativeTypeName("size_t")] UIntPtr NumPairs); + public static extern void OrcMaterializationResponsibilityAddDependenciesForAll([NativeTypeName("LLVMOrcMaterializationResponsibilityRef")] LLVMOrcOpaqueMaterializationResponsibility* MR, [NativeTypeName("LLVMOrcCDependenceMapPairs")] LLVMOrcCDependenceMapPair* Dependencies, [NativeTypeName("size_t")] nuint NumPairs); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcExecutionSessionCreateBareJITDylib", ExactSpelling = true)] [return: NativeTypeName("LLVMOrcJITDylibRef")] @@ -4111,15 +4141,18 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcCreateCustomCAPIDefinitionGenerator", ExactSpelling = true)] [return: NativeTypeName("LLVMOrcDefinitionGeneratorRef")] - public static extern LLVMOrcOpaqueDefinitionGenerator* OrcCreateCustomCAPIDefinitionGenerator([NativeTypeName("LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction")] IntPtr F, void* Ctx); + public static extern LLVMOrcOpaqueDefinitionGenerator* OrcCreateCustomCAPIDefinitionGenerator([NativeTypeName("LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction")] delegate* unmanaged[Cdecl] F, void* Ctx, [NativeTypeName("LLVMOrcDisposeCAPIDefinitionGeneratorFunction")] delegate* unmanaged[Cdecl] Dispose); + + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcLookupStateContinueLookup", ExactSpelling = true)] + public static extern void OrcLookupStateContinueLookup([NativeTypeName("LLVMOrcLookupStateRef")] LLVMOrcOpaqueLookupState* S, [NativeTypeName("LLVMErrorRef")] LLVMOpaqueError* Err); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcCreateDynamicLibrarySearchGeneratorForProcess", ExactSpelling = true)] [return: NativeTypeName("LLVMErrorRef")] - public static extern LLVMOpaqueError* OrcCreateDynamicLibrarySearchGeneratorForProcess([NativeTypeName("LLVMOrcDefinitionGeneratorRef *")] LLVMOrcOpaqueDefinitionGenerator** Result, [NativeTypeName("char")] sbyte GlobalPrefx, [NativeTypeName("LLVMOrcSymbolPredicate")] IntPtr Filter, void* FilterCtx); + public static extern LLVMOpaqueError* OrcCreateDynamicLibrarySearchGeneratorForProcess([NativeTypeName("LLVMOrcDefinitionGeneratorRef *")] LLVMOrcOpaqueDefinitionGenerator** Result, [NativeTypeName("char")] sbyte GlobalPrefx, [NativeTypeName("LLVMOrcSymbolPredicate")] delegate* unmanaged[Cdecl] Filter, void* FilterCtx); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcCreateDynamicLibrarySearchGeneratorForPath", ExactSpelling = true)] [return: NativeTypeName("LLVMErrorRef")] - public static extern LLVMOpaqueError* OrcCreateDynamicLibrarySearchGeneratorForPath([NativeTypeName("LLVMOrcDefinitionGeneratorRef *")] LLVMOrcOpaqueDefinitionGenerator** Result, [NativeTypeName("const char *")] sbyte* FileName, [NativeTypeName("char")] sbyte GlobalPrefix, [NativeTypeName("LLVMOrcSymbolPredicate")] IntPtr Filter, void* FilterCtx); + public static extern LLVMOpaqueError* OrcCreateDynamicLibrarySearchGeneratorForPath([NativeTypeName("LLVMOrcDefinitionGeneratorRef *")] LLVMOrcOpaqueDefinitionGenerator** Result, [NativeTypeName("const char *")] sbyte* FileName, [NativeTypeName("char")] sbyte GlobalPrefix, [NativeTypeName("LLVMOrcSymbolPredicate")] delegate* unmanaged[Cdecl] Filter, void* FilterCtx); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcCreateStaticLibrarySearchGeneratorForPath", ExactSpelling = true)] [return: NativeTypeName("LLVMErrorRef")] @@ -4145,7 +4178,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcThreadSafeModuleWithModuleDo", ExactSpelling = true)] [return: NativeTypeName("LLVMErrorRef")] - public static extern LLVMOpaqueError* OrcThreadSafeModuleWithModuleDo([NativeTypeName("LLVMOrcThreadSafeModuleRef")] LLVMOrcOpaqueThreadSafeModule* TSM, [NativeTypeName("LLVMOrcGenericIRModuleOperationFunction")] IntPtr F, void* Ctx); + public static extern LLVMOpaqueError* OrcThreadSafeModuleWithModuleDo([NativeTypeName("LLVMOrcThreadSafeModuleRef")] LLVMOrcOpaqueThreadSafeModule* TSM, [NativeTypeName("LLVMOrcGenericIRModuleOperationFunction")] delegate* unmanaged[Cdecl] F, void* Ctx); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcJITTargetMachineBuilderDetectHost", ExactSpelling = true)] [return: NativeTypeName("LLVMErrorRef")] @@ -4183,10 +4216,10 @@ public static unsafe partial class LLVM public static extern void OrcIRTransformLayerEmit([NativeTypeName("LLVMOrcIRTransformLayerRef")] LLVMOrcOpaqueIRTransformLayer* IRTransformLayer, [NativeTypeName("LLVMOrcMaterializationResponsibilityRef")] LLVMOrcOpaqueMaterializationResponsibility* MR, [NativeTypeName("LLVMOrcThreadSafeModuleRef")] LLVMOrcOpaqueThreadSafeModule* TSM); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcIRTransformLayerSetTransform", ExactSpelling = true)] - public static extern void OrcIRTransformLayerSetTransform([NativeTypeName("LLVMOrcIRTransformLayerRef")] LLVMOrcOpaqueIRTransformLayer* IRTransformLayer, [NativeTypeName("LLVMOrcIRTransformLayerTransformFunction")] IntPtr TransformFunction, void* Ctx); + public static extern void OrcIRTransformLayerSetTransform([NativeTypeName("LLVMOrcIRTransformLayerRef")] LLVMOrcOpaqueIRTransformLayer* IRTransformLayer, [NativeTypeName("LLVMOrcIRTransformLayerTransformFunction")] delegate* unmanaged[Cdecl] TransformFunction, void* Ctx); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcObjectTransformLayerSetTransform", ExactSpelling = true)] - public static extern void OrcObjectTransformLayerSetTransform([NativeTypeName("LLVMOrcObjectTransformLayerRef")] LLVMOrcOpaqueObjectTransformLayer* ObjTransformLayer, [NativeTypeName("LLVMOrcObjectTransformLayerTransformFunction")] IntPtr TransformFunction, void* Ctx); + public static extern void OrcObjectTransformLayerSetTransform([NativeTypeName("LLVMOrcObjectTransformLayerRef")] LLVMOrcOpaqueObjectTransformLayer* ObjTransformLayer, [NativeTypeName("LLVMOrcObjectTransformLayerTransformFunction")] delegate* unmanaged[Cdecl] TransformFunction, void* Ctx); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMOrcCreateLocalIndirectStubsManager", ExactSpelling = true)] [return: NativeTypeName("LLVMOrcIndirectStubsManagerRef")] @@ -4646,7 +4679,7 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMTargetMachineEmitToFile", ExactSpelling = true)] [return: NativeTypeName("LLVMBool")] - public static extern int TargetMachineEmitToFile([NativeTypeName("LLVMTargetMachineRef")] LLVMOpaqueTargetMachine* T, [NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("char *")] sbyte* Filename, LLVMCodeGenFileType codegen, [NativeTypeName("char **")] sbyte** ErrorMessage); + public static extern int TargetMachineEmitToFile([NativeTypeName("LLVMTargetMachineRef")] LLVMOpaqueTargetMachine* T, [NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Filename, LLVMCodeGenFileType codegen, [NativeTypeName("char **")] sbyte** ErrorMessage); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMTargetMachineEmitToMemoryBuffer", ExactSpelling = true)] [return: NativeTypeName("LLVMBool")] @@ -4674,27 +4707,9 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddAggressiveInstCombinerPass", ExactSpelling = true)] public static extern void AddAggressiveInstCombinerPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM); - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddCoroEarlyPass", ExactSpelling = true)] - public static extern void AddCoroEarlyPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM); - - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddCoroSplitPass", ExactSpelling = true)] - public static extern void AddCoroSplitPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM); - - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddCoroElidePass", ExactSpelling = true)] - public static extern void AddCoroElidePass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM); - - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddCoroCleanupPass", ExactSpelling = true)] - public static extern void AddCoroCleanupPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM); - - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPassManagerBuilderAddCoroutinePassesToExtensionPoints", ExactSpelling = true)] - public static extern void PassManagerBuilderAddCoroutinePassesToExtensionPoints([NativeTypeName("LLVMPassManagerBuilderRef")] LLVMOpaquePassManagerBuilder* PMB); - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddInstructionCombiningPass", ExactSpelling = true)] public static extern void AddInstructionCombiningPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM); - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddArgumentPromotionPass", ExactSpelling = true)] - public static extern void AddArgumentPromotionPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM); - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddConstantMergePass", ExactSpelling = true)] public static extern void AddConstantMergePass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM); @@ -4732,7 +4747,7 @@ public static unsafe partial class LLVM public static extern void AddInternalizePass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* param0, [NativeTypeName("unsigned int")] uint AllButMain); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddInternalizePassWithMustPreservePredicate", ExactSpelling = true)] - public static extern void AddInternalizePassWithMustPreservePredicate([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM, void* Context, [NativeTypeName("LLVMBool (*)(LLVMValueRef, void *)")] IntPtr MustPreserve); + public static extern void AddInternalizePassWithMustPreservePredicate([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM, void* Context, [NativeTypeName("LLVMBool (*)(LLVMValueRef, void *)")] delegate* unmanaged[Cdecl] MustPreserve); [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddStripDeadPrototypesPass", ExactSpelling = true)] public static extern void AddStripDeadPrototypesPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM); @@ -4791,6 +4806,9 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPassManagerBuilderDispose", ExactSpelling = true)] public static extern void PassManagerBuilderDispose([NativeTypeName("LLVMPassManagerBuilderRef")] LLVMOpaquePassManagerBuilder* PMB); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPassManagerBuilderSetOptLevel", ExactSpelling = true)] + public static extern void PassManagerBuilderSetOptLevel([NativeTypeName("LLVMPassManagerBuilderRef")] LLVMOpaquePassManagerBuilder* PMB, [NativeTypeName("unsigned int")] uint OptLevel); + [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPassManagerBuilderSetSizeLevel", ExactSpelling = true)] public static extern void PassManagerBuilderSetSizeLevel([NativeTypeName("LLVMPassManagerBuilderRef")] LLVMOpaquePassManagerBuilder* PMB, [NativeTypeName("unsigned int")] uint SizeLevel); @@ -4812,9 +4830,6 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPassManagerBuilderPopulateModulePassManager", ExactSpelling = true)] public static extern void PassManagerBuilderPopulateModulePassManager([NativeTypeName("LLVMPassManagerBuilderRef")] LLVMOpaquePassManagerBuilder* PMB, [NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM); - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPassManagerBuilderPopulateLTOPassManager", ExactSpelling = true)] - public static extern void PassManagerBuilderPopulateLTOPassManager([NativeTypeName("LLVMPassManagerBuilderRef")] LLVMOpaquePassManagerBuilder* PMB, [NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM, [NativeTypeName("LLVMBool")] int Internalize, [NativeTypeName("LLVMBool")] int RunInliner); - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddAggressiveDCEPass", ExactSpelling = true)] public static extern void AddAggressiveDCEPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM); @@ -4875,9 +4890,6 @@ public static unsafe partial class LLVM [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddLoopUnrollAndJamPass", ExactSpelling = true)] public static extern void AddLoopUnrollAndJamPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM); - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddLoopUnswitchPass", ExactSpelling = true)] - public static extern void AddLoopUnswitchPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM); - [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddLowerAtomicPass", ExactSpelling = true)] public static extern void AddLowerAtomicPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM); diff --git a/sources/LLVMSharp.Interop/LLVMAtomicOrdering.cs b/sources/LLVMSharp.Interop/LLVMAtomicOrdering.cs index 181775b..287c6e1 100644 --- a/sources/LLVMSharp.Interop/LLVMAtomicOrdering.cs +++ b/sources/LLVMSharp.Interop/LLVMAtomicOrdering.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMAtomicRMWBinOp.cs b/sources/LLVMSharp.Interop/LLVMAtomicRMWBinOp.cs index 89802b6..2bcbc16 100644 --- a/sources/LLVMSharp.Interop/LLVMAtomicRMWBinOp.cs +++ b/sources/LLVMSharp.Interop/LLVMAtomicRMWBinOp.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; @@ -20,4 +20,6 @@ public enum LLVMAtomicRMWBinOp LLVMAtomicRMWBinOpUMin, LLVMAtomicRMWBinOpFAdd, LLVMAtomicRMWBinOpFSub, + LLVMAtomicRMWBinOpFMax, + LLVMAtomicRMWBinOpFMin, } diff --git a/sources/LLVMSharp.Interop/LLVMBinaryType.cs b/sources/LLVMSharp.Interop/LLVMBinaryType.cs index 733a2de..35f8aa5 100644 --- a/sources/LLVMSharp.Interop/LLVMBinaryType.cs +++ b/sources/LLVMSharp.Interop/LLVMBinaryType.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; @@ -22,4 +22,5 @@ public enum LLVMBinaryType LLVMBinaryTypeMachO64L, LLVMBinaryTypeMachO64B, LLVMBinaryTypeWasm, + LLVMBinaryTypeOffload, } diff --git a/sources/LLVMSharp.Interop/LLVMByteOrdering.cs b/sources/LLVMSharp.Interop/LLVMByteOrdering.cs index eb6b444..6686d6c 100644 --- a/sources/LLVMSharp.Interop/LLVMByteOrdering.cs +++ b/sources/LLVMSharp.Interop/LLVMByteOrdering.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMCallConv.cs b/sources/LLVMSharp.Interop/LLVMCallConv.cs index c51e9ac..99efcc1 100644 --- a/sources/LLVMSharp.Interop/LLVMCallConv.cs +++ b/sources/LLVMSharp.Interop/LLVMCallConv.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMCodeGenFileType.cs b/sources/LLVMSharp.Interop/LLVMCodeGenFileType.cs index a6aa478..203cd43 100644 --- a/sources/LLVMSharp.Interop/LLVMCodeGenFileType.cs +++ b/sources/LLVMSharp.Interop/LLVMCodeGenFileType.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMCodeGenOptLevel.cs b/sources/LLVMSharp.Interop/LLVMCodeGenOptLevel.cs index 834829f..1808854 100644 --- a/sources/LLVMSharp.Interop/LLVMCodeGenOptLevel.cs +++ b/sources/LLVMSharp.Interop/LLVMCodeGenOptLevel.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMCodeModel.cs b/sources/LLVMSharp.Interop/LLVMCodeModel.cs index c18a529..cb3a46b 100644 --- a/sources/LLVMSharp.Interop/LLVMCodeModel.cs +++ b/sources/LLVMSharp.Interop/LLVMCodeModel.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMComdatSelectionKind.cs b/sources/LLVMSharp.Interop/LLVMComdatSelectionKind.cs index f29f91f..fa1302b 100644 --- a/sources/LLVMSharp.Interop/LLVMComdatSelectionKind.cs +++ b/sources/LLVMSharp.Interop/LLVMComdatSelectionKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMDIFlags.cs b/sources/LLVMSharp.Interop/LLVMDIFlags.cs index 06e588e..4317a78 100644 --- a/sources/LLVMSharp.Interop/LLVMDIFlags.cs +++ b/sources/LLVMSharp.Interop/LLVMDIFlags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System; diff --git a/sources/LLVMSharp.Interop/LLVMDLLStorageClass.cs b/sources/LLVMSharp.Interop/LLVMDLLStorageClass.cs index a65b021..dd99ced 100644 --- a/sources/LLVMSharp.Interop/LLVMDLLStorageClass.cs +++ b/sources/LLVMSharp.Interop/LLVMDLLStorageClass.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMDWARFEmissionKind.cs b/sources/LLVMSharp.Interop/LLVMDWARFEmissionKind.cs index 9f9ea95..21a3268 100644 --- a/sources/LLVMSharp.Interop/LLVMDWARFEmissionKind.cs +++ b/sources/LLVMSharp.Interop/LLVMDWARFEmissionKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMDWARFMacinfoRecordType.cs b/sources/LLVMSharp.Interop/LLVMDWARFMacinfoRecordType.cs index ba00cd0..e1bb46a 100644 --- a/sources/LLVMSharp.Interop/LLVMDWARFMacinfoRecordType.cs +++ b/sources/LLVMSharp.Interop/LLVMDWARFMacinfoRecordType.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMDWARFSourceLanguage.cs b/sources/LLVMSharp.Interop/LLVMDWARFSourceLanguage.cs index d99d2d4..0df3032 100644 --- a/sources/LLVMSharp.Interop/LLVMDWARFSourceLanguage.cs +++ b/sources/LLVMSharp.Interop/LLVMDWARFSourceLanguage.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMDiagnosticSeverity.cs b/sources/LLVMSharp.Interop/LLVMDiagnosticSeverity.cs index 5d8499c..770c6c7 100644 --- a/sources/LLVMSharp.Interop/LLVMDiagnosticSeverity.cs +++ b/sources/LLVMSharp.Interop/LLVMDiagnosticSeverity.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMInlineAsmDialect.cs b/sources/LLVMSharp.Interop/LLVMInlineAsmDialect.cs index 12c119d..39fde4f 100644 --- a/sources/LLVMSharp.Interop/LLVMInlineAsmDialect.cs +++ b/sources/LLVMSharp.Interop/LLVMInlineAsmDialect.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMIntPredicate.cs b/sources/LLVMSharp.Interop/LLVMIntPredicate.cs index 9034bcd..a5586cd 100644 --- a/sources/LLVMSharp.Interop/LLVMIntPredicate.cs +++ b/sources/LLVMSharp.Interop/LLVMIntPredicate.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMJITEvaluatedSymbol.cs b/sources/LLVMSharp.Interop/LLVMJITEvaluatedSymbol.cs index ab8ee03..3ff32d9 100644 --- a/sources/LLVMSharp.Interop/LLVMJITEvaluatedSymbol.cs +++ b/sources/LLVMSharp.Interop/LLVMJITEvaluatedSymbol.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMJITSymbolFlags.cs b/sources/LLVMSharp.Interop/LLVMJITSymbolFlags.cs index e25addc..4900e06 100644 --- a/sources/LLVMSharp.Interop/LLVMJITSymbolFlags.cs +++ b/sources/LLVMSharp.Interop/LLVMJITSymbolFlags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMJITSymbolGenericFlags.cs b/sources/LLVMSharp.Interop/LLVMJITSymbolGenericFlags.cs index 9225dc9..cb9d3bf 100644 --- a/sources/LLVMSharp.Interop/LLVMJITSymbolGenericFlags.cs +++ b/sources/LLVMSharp.Interop/LLVMJITSymbolGenericFlags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System; @@ -11,6 +11,7 @@ namespace LLVMSharp.Interop; [Flags] public enum LLVMJITSymbolGenericFlags : uint { + LLVMJITSymbolGenericFlagsNone = 0, LLVMJITSymbolGenericFlagsExported = 1U << 0, LLVMJITSymbolGenericFlagsWeak = 1U << 1, LLVMJITSymbolGenericFlagsCallable = 1U << 2, diff --git a/sources/LLVMSharp.Interop/LLVMLandingPadClauseTy.cs b/sources/LLVMSharp.Interop/LLVMLandingPadClauseTy.cs index 7210e61..41e5b25 100644 --- a/sources/LLVMSharp.Interop/LLVMLandingPadClauseTy.cs +++ b/sources/LLVMSharp.Interop/LLVMLandingPadClauseTy.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMLinkage.cs b/sources/LLVMSharp.Interop/LLVMLinkage.cs index 70e606d..830432b 100644 --- a/sources/LLVMSharp.Interop/LLVMLinkage.cs +++ b/sources/LLVMSharp.Interop/LLVMLinkage.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMLinkerMode.cs b/sources/LLVMSharp.Interop/LLVMLinkerMode.cs index 2402a8d..31c678b 100644 --- a/sources/LLVMSharp.Interop/LLVMLinkerMode.cs +++ b/sources/LLVMSharp.Interop/LLVMLinkerMode.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMMCJITCompilerOptions.cs b/sources/LLVMSharp.Interop/LLVMMCJITCompilerOptions.cs index b8fabe7..34a2e00 100644 --- a/sources/LLVMSharp.Interop/LLVMMCJITCompilerOptions.cs +++ b/sources/LLVMSharp.Interop/LLVMMCJITCompilerOptions.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMMetadataKind.cs b/sources/LLVMSharp.Interop/LLVMMetadataKind.cs deleted file mode 100644 index 74bc2de..0000000 --- a/sources/LLVMSharp.Interop/LLVMMetadataKind.cs +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -namespace LLVMSharp.Interop; - -public enum LLVMMetadataKind -{ - LLVMMDStringMetadataKind, - LLVMConstantAsMetadataMetadataKind, - LLVMLocalAsMetadataMetadataKind, - LLVMDistinctMDOperandPlaceholderMetadataKind, - LLVMMDTupleMetadataKind, - LLVMDILocationMetadataKind, - LLVMDIExpressionMetadataKind, - LLVMDIGlobalVariableExpressionMetadataKind, - LLVMGenericDINodeMetadataKind, - LLVMDISubrangeMetadataKind, - LLVMDIEnumeratorMetadataKind, - LLVMDIBasicTypeMetadataKind, - LLVMDIDerivedTypeMetadataKind, - LLVMDICompositeTypeMetadataKind, - LLVMDISubroutineTypeMetadataKind, - LLVMDIFileMetadataKind, - LLVMDICompileUnitMetadataKind, - LLVMDISubprogramMetadataKind, - LLVMDILexicalBlockMetadataKind, - LLVMDILexicalBlockFileMetadataKind, - LLVMDINamespaceMetadataKind, - LLVMDIModuleMetadataKind, - LLVMDITemplateTypeParameterMetadataKind, - LLVMDITemplateValueParameterMetadataKind, - LLVMDIGlobalVariableMetadataKind, - LLVMDILocalVariableMetadataKind, - LLVMDILabelMetadataKind, - LLVMDIObjCPropertyMetadataKind, - LLVMDIImportedEntityMetadataKind, - LLVMDIMacroMetadataKind, - LLVMDIMacroFileMetadataKind, - LLVMDICommonBlockMetadataKind, - LLVMDIStringTypeMetadataKind, - LLVMDIGenericSubrangeMetadataKind, - LLVMDIArgListMetadataKind, -} diff --git a/sources/LLVMSharp.Interop/LLVMModuleFlagBehavior.cs b/sources/LLVMSharp.Interop/LLVMModuleFlagBehavior.cs index 50a61fb..5eeb55d 100644 --- a/sources/LLVMSharp.Interop/LLVMModuleFlagBehavior.cs +++ b/sources/LLVMSharp.Interop/LLVMModuleFlagBehavior.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpInfo1.cs b/sources/LLVMSharp.Interop/LLVMOpInfo1.cs index e1b1f57..5f6dcd0 100644 --- a/sources/LLVMSharp.Interop/LLVMOpInfo1.cs +++ b/sources/LLVMSharp.Interop/LLVMOpInfo1.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpInfoSymbol1.cs b/sources/LLVMSharp.Interop/LLVMOpInfoSymbol1.cs index a729cd0..20d43fd 100644 --- a/sources/LLVMSharp.Interop/LLVMOpInfoSymbol1.cs +++ b/sources/LLVMSharp.Interop/LLVMOpInfoSymbol1.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpcode.cs b/sources/LLVMSharp.Interop/LLVMOpcode.cs index 92aaae0..f2ab41a 100644 --- a/sources/LLVMSharp.Interop/LLVMOpcode.cs +++ b/sources/LLVMSharp.Interop/LLVMOpcode.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcCDependenceMapPair.cs b/sources/LLVMSharp.Interop/LLVMOrcCDependenceMapPair.cs index 2a5bcd7..82c3444 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcCDependenceMapPair.cs +++ b/sources/LLVMSharp.Interop/LLVMOrcCDependenceMapPair.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcCJITDylibSearchOrderElement.cs b/sources/LLVMSharp.Interop/LLVMOrcCJITDylibSearchOrderElement.cs new file mode 100644 index 0000000..222be2b --- /dev/null +++ b/sources/LLVMSharp.Interop/LLVMOrcCJITDylibSearchOrderElement.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. + +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. + +namespace LLVMSharp.Interop; + +public unsafe partial struct LLVMOrcCJITDylibSearchOrderElement +{ + [NativeTypeName("LLVMOrcJITDylibRef")] + public LLVMOrcOpaqueJITDylib* JD; + + public LLVMOrcJITDylibLookupFlags JDLookupFlags; +} diff --git a/sources/LLVMSharp.Interop/LLVMOrcCLookupSetElement.cs b/sources/LLVMSharp.Interop/LLVMOrcCLookupSetElement.cs index 0d845c0..9cd7107 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcCLookupSetElement.cs +++ b/sources/LLVMSharp.Interop/LLVMOrcCLookupSetElement.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcCSymbolAliasMapEntry.cs b/sources/LLVMSharp.Interop/LLVMOrcCSymbolAliasMapEntry.cs index e76d179..d74e9ca 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcCSymbolAliasMapEntry.cs +++ b/sources/LLVMSharp.Interop/LLVMOrcCSymbolAliasMapEntry.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcCSymbolAliasMapPair.cs b/sources/LLVMSharp.Interop/LLVMOrcCSymbolAliasMapPair.cs index 095a20b..91d30a5 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcCSymbolAliasMapPair.cs +++ b/sources/LLVMSharp.Interop/LLVMOrcCSymbolAliasMapPair.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcCSymbolFlagsMapPair.cs b/sources/LLVMSharp.Interop/LLVMOrcCSymbolFlagsMapPair.cs index 5872677..ff1ddc0 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcCSymbolFlagsMapPair.cs +++ b/sources/LLVMSharp.Interop/LLVMOrcCSymbolFlagsMapPair.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcCSymbolMapPair.cs b/sources/LLVMSharp.Interop/LLVMOrcCSymbolMapPair.cs new file mode 100644 index 0000000..ab107b9 --- /dev/null +++ b/sources/LLVMSharp.Interop/LLVMOrcCSymbolMapPair.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. + +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. + +namespace LLVMSharp.Interop; + +public unsafe partial struct LLVMOrcCSymbolMapPair +{ + [NativeTypeName("LLVMOrcSymbolStringPoolEntryRef")] + public LLVMOrcOpaqueSymbolStringPoolEntry* Name; + + public LLVMJITEvaluatedSymbol Sym; +} diff --git a/sources/LLVMSharp.Interop/LLVMOrcCSymbolsList.cs b/sources/LLVMSharp.Interop/LLVMOrcCSymbolsList.cs index ba26fdb..7ff7198 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcCSymbolsList.cs +++ b/sources/LLVMSharp.Interop/LLVMOrcCSymbolsList.cs @@ -1,10 +1,8 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. -using System; - namespace LLVMSharp.Interop; public unsafe partial struct LLVMOrcCSymbolsList @@ -13,5 +11,5 @@ public unsafe partial struct LLVMOrcCSymbolsList public LLVMOrcOpaqueSymbolStringPoolEntry** Symbols; [NativeTypeName("size_t")] - public UIntPtr Length; + public nuint Length; } diff --git a/sources/LLVMSharp.Interop/LLVMOrcJITDylibLookupFlags.cs b/sources/LLVMSharp.Interop/LLVMOrcJITDylibLookupFlags.cs index 9035b91..637fee1 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcJITDylibLookupFlags.cs +++ b/sources/LLVMSharp.Interop/LLVMOrcJITDylibLookupFlags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System; diff --git a/sources/LLVMSharp.Interop/LLVMOrcLookupKind.cs b/sources/LLVMSharp.Interop/LLVMOrcLookupKind.cs index 045b771..d291292 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcLookupKind.cs +++ b/sources/LLVMSharp.Interop/LLVMOrcLookupKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcSymbolLookupFlags.cs b/sources/LLVMSharp.Interop/LLVMOrcSymbolLookupFlags.cs index 945baae..61aeb9f 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcSymbolLookupFlags.cs +++ b/sources/LLVMSharp.Interop/LLVMOrcSymbolLookupFlags.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System; diff --git a/sources/LLVMSharp.Interop/LLVMRealPredicate.cs b/sources/LLVMSharp.Interop/LLVMRealPredicate.cs index 30d950d..72f1af8 100644 --- a/sources/LLVMSharp.Interop/LLVMRealPredicate.cs +++ b/sources/LLVMSharp.Interop/LLVMRealPredicate.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMRelocMode.cs b/sources/LLVMSharp.Interop/LLVMRelocMode.cs index ce92fd6..050e149 100644 --- a/sources/LLVMSharp.Interop/LLVMRelocMode.cs +++ b/sources/LLVMSharp.Interop/LLVMRelocMode.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMRemarkType.cs b/sources/LLVMSharp.Interop/LLVMRemarkType.cs index bd7a5ba..a764fe4 100644 --- a/sources/LLVMSharp.Interop/LLVMRemarkType.cs +++ b/sources/LLVMSharp.Interop/LLVMRemarkType.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMSharp.Interop.csproj b/sources/LLVMSharp.Interop/LLVMSharp.Interop.csproj index 087563c..aeead67 100644 --- a/sources/LLVMSharp.Interop/LLVMSharp.Interop.csproj +++ b/sources/LLVMSharp.Interop/LLVMSharp.Interop.csproj @@ -2,7 +2,7 @@ - net6.0;netstandard2.0 + net6.0;net7.0;netstandard2.0 diff --git a/sources/LLVMSharp.Interop/LLVMThreadLocalMode.cs b/sources/LLVMSharp.Interop/LLVMThreadLocalMode.cs index 86cb0c1..f438111 100644 --- a/sources/LLVMSharp.Interop/LLVMThreadLocalMode.cs +++ b/sources/LLVMSharp.Interop/LLVMThreadLocalMode.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMTypeKind.cs b/sources/LLVMSharp.Interop/LLVMTypeKind.cs index 49a0e93..d02541e 100644 --- a/sources/LLVMSharp.Interop/LLVMTypeKind.cs +++ b/sources/LLVMSharp.Interop/LLVMTypeKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMUnnamedAddr.cs b/sources/LLVMSharp.Interop/LLVMUnnamedAddr.cs index 66f93e9..b08fcb6 100644 --- a/sources/LLVMSharp.Interop/LLVMUnnamedAddr.cs +++ b/sources/LLVMSharp.Interop/LLVMUnnamedAddr.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMValueKind.cs b/sources/LLVMSharp.Interop/LLVMValueKind.cs index 7a6e165..9d22fee 100644 --- a/sources/LLVMSharp.Interop/LLVMValueKind.cs +++ b/sources/LLVMSharp.Interop/LLVMValueKind.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMVerifierFailureAction.cs b/sources/LLVMSharp.Interop/LLVMVerifierFailureAction.cs index 855e8bc..6fd81a4 100644 --- a/sources/LLVMSharp.Interop/LLVMVerifierFailureAction.cs +++ b/sources/LLVMSharp.Interop/LLVMVerifierFailureAction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMVisibility.cs b/sources/LLVMSharp.Interop/LLVMVisibility.cs index d62d1f8..7ef7324 100644 --- a/sources/LLVMSharp.Interop/LLVMVisibility.cs +++ b/sources/LLVMSharp.Interop/LLVMVisibility.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LTOObjectBuffer.cs b/sources/LLVMSharp.Interop/LTOObjectBuffer.cs index b14754c..5a5edf2 100644 --- a/sources/LLVMSharp.Interop/LTOObjectBuffer.cs +++ b/sources/LLVMSharp.Interop/LTOObjectBuffer.cs @@ -1,10 +1,8 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. -using System; - namespace LLVMSharp.Interop; public unsafe partial struct LTOObjectBuffer @@ -13,5 +11,5 @@ public unsafe partial struct LTOObjectBuffer public sbyte* Buffer; [NativeTypeName("size_t")] - public UIntPtr Size; + public nuint Size; } diff --git a/sources/LLVMSharp.Interop/LLVMAttributeIndex.cs b/sources/LLVMSharp.Interop/Manual/LLVMAttributeIndex.cs similarity index 95% rename from sources/LLVMSharp.Interop/LLVMAttributeIndex.cs rename to sources/LLVMSharp.Interop/Manual/LLVMAttributeIndex.cs index 4b0c8fa..f15d6ce 100644 --- a/sources/LLVMSharp.Interop/LLVMAttributeIndex.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMAttributeIndex.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMComdat.cs b/sources/LLVMSharp.Interop/Manual/LLVMComdat.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMComdat.cs rename to sources/LLVMSharp.Interop/Manual/LLVMComdat.cs index 64fc846..39459e9 100644 --- a/sources/LLVMSharp.Interop/LLVMComdat.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMComdat.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMDiagnosticHandler.cs b/sources/LLVMSharp.Interop/Manual/LLVMDiagnosticHandler.cs similarity index 96% rename from sources/LLVMSharp.Interop/LLVMDiagnosticHandler.cs rename to sources/LLVMSharp.Interop/Manual/LLVMDiagnosticHandler.cs index 796746a..a2e105d 100644 --- a/sources/LLVMSharp.Interop/LLVMDiagnosticHandler.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMDiagnosticHandler.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/LLVMFatalErrorHandler.cs b/sources/LLVMSharp.Interop/Manual/LLVMFatalErrorHandler.cs similarity index 95% rename from sources/LLVMSharp.Interop/LLVMFatalErrorHandler.cs rename to sources/LLVMSharp.Interop/Manual/LLVMFatalErrorHandler.cs index 94462eb..10bd504 100644 --- a/sources/LLVMSharp.Interop/LLVMFatalErrorHandler.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMFatalErrorHandler.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/LLVMJITCSymbolMapPair.cs b/sources/LLVMSharp.Interop/Manual/LLVMJITCSymbolMapPair.cs similarity index 95% rename from sources/LLVMSharp.Interop/LLVMJITCSymbolMapPair.cs rename to sources/LLVMSharp.Interop/Manual/LLVMJITCSymbolMapPair.cs index a3d5e40..95f24e6 100644 --- a/sources/LLVMSharp.Interop/LLVMJITCSymbolMapPair.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMJITCSymbolMapPair.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMMemoryManagerAllocateCodeSectionCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateCodeSectionCallback.cs similarity index 96% rename from sources/LLVMSharp.Interop/LLVMMemoryManagerAllocateCodeSectionCallback.cs rename to sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateCodeSectionCallback.cs index 309fc88..e507a69 100644 --- a/sources/LLVMSharp.Interop/LLVMMemoryManagerAllocateCodeSectionCallback.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateCodeSectionCallback.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System; diff --git a/sources/LLVMSharp.Interop/LLVMMemoryManagerAllocateDataSectionCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateDataSectionCallback.cs similarity index 97% rename from sources/LLVMSharp.Interop/LLVMMemoryManagerAllocateDataSectionCallback.cs rename to sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateDataSectionCallback.cs index 6eb19a7..c9ea438 100644 --- a/sources/LLVMSharp.Interop/LLVMMemoryManagerAllocateDataSectionCallback.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateDataSectionCallback.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System; diff --git a/sources/LLVMSharp.Interop/LLVMMemoryManagerDestroyCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerDestroyCallback.cs similarity index 95% rename from sources/LLVMSharp.Interop/LLVMMemoryManagerDestroyCallback.cs rename to sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerDestroyCallback.cs index cddce1a..a592c2a 100644 --- a/sources/LLVMSharp.Interop/LLVMMemoryManagerDestroyCallback.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerDestroyCallback.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/LLVMMemoryManagerFinalizeMemoryCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerFinalizeMemoryCallback.cs similarity index 96% rename from sources/LLVMSharp.Interop/LLVMMemoryManagerFinalizeMemoryCallback.cs rename to sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerFinalizeMemoryCallback.cs index c50c4a7..d02aa98 100644 --- a/sources/LLVMSharp.Interop/LLVMMemoryManagerFinalizeMemoryCallback.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerFinalizeMemoryCallback.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/Manual/LLVMMetadataKind.cs b/sources/LLVMSharp.Interop/Manual/LLVMMetadataKind.cs new file mode 100644 index 0000000..228dff6 --- /dev/null +++ b/sources/LLVMSharp.Interop/Manual/LLVMMetadataKind.cs @@ -0,0 +1,45 @@ +// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under 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 +// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. + +namespace LLVMSharp.Interop; + +public enum LLVMMetadataKind +{ + LLVMMDStringMetadataKind = 0, + LLVMConstantAsMetadataMetadataKind = 1, + LLVMLocalAsMetadataMetadataKind = 2, + LLVMDistinctMDOperandPlaceholderMetadataKind = 3, + LLVMMDTupleMetadataKind = 4, + LLVMDILocationMetadataKind = 5, + LLVMDIExpressionMetadataKind = 6, + LLVMDIGlobalVariableExpressionMetadataKind = 7, + LLVMGenericDINodeMetadataKind = 8, + LLVMDISubrangeMetadataKind = 9, + LLVMDIEnumeratorMetadataKind = 10, + LLVMDIBasicTypeMetadataKind = 11, + LLVMDIDerivedTypeMetadataKind = 12, + LLVMDICompositeTypeMetadataKind = 13, + LLVMDISubroutineTypeMetadataKind = 14, + LLVMDIFileMetadataKind = 15, + LLVMDICompileUnitMetadataKind = 16, + LLVMDISubprogramMetadataKind = 17, + LLVMDILexicalBlockMetadataKind = 18, + LLVMDILexicalBlockFileMetadataKind = 19, + LLVMDINamespaceMetadataKind = 20, + LLVMDIModuleMetadataKind = 21, + LLVMDITemplateTypeParameterMetadataKind = 22, + LLVMDITemplateValueParameterMetadataKind = 23, + LLVMDIGlobalVariableMetadataKind = 24, + LLVMDILocalVariableMetadataKind = 25, + LLVMDILabelMetadataKind = 26, + LLVMDIObjCPropertyMetadataKind = 27, + LLVMDIImportedEntityMetadataKind = 28, + LLVMDIMacroMetadataKind = 29, + LLVMDIMacroFileMetadataKind = 30, + LLVMDICommonBlockMetadataKind = 31, + LLVMDIStringTypeMetadataKind = 32, + LLVMDIGenericSubrangeMetadataKind = 33, + LLVMDIArgListMetadataKind = 34, +} diff --git a/sources/LLVMSharp.Interop/LLVMOpInfoCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpInfoCallback.cs similarity index 96% rename from sources/LLVMSharp.Interop/LLVMOpInfoCallback.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpInfoCallback.cs index 31c885c..9aa5a3c 100644 --- a/sources/LLVMSharp.Interop/LLVMOpInfoCallback.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpInfoCallback.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueAttributeRef.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueAttributeRef.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueAttributeRef.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueAttributeRef.cs index 22d9173..38649a5 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueAttributeRef.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueAttributeRef.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueBasicBlock.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBasicBlock.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueBasicBlock.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueBasicBlock.cs index a3c8642..02c55d2 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueBasicBlock.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBasicBlock.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueBinary.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBinary.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueBinary.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueBinary.cs index 4ed8e4f..5af8b6f 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueBinary.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBinary.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueBuilder.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBuilder.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueBuilder.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueBuilder.cs index df471c8..1a75285 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueBuilder.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBuilder.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueContext.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueContext.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueContext.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueContext.cs index 962556e..bd37fd7 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueContext.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueContext.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueDIBuilder.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDIBuilder.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueDIBuilder.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueDIBuilder.cs index 5f3b66a..80891f3 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueDIBuilder.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDIBuilder.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueDiagnosticInfo.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDiagnosticInfo.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueDiagnosticInfo.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueDiagnosticInfo.cs index 8c9f7f3..d3a3dfc 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueDiagnosticInfo.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDiagnosticInfo.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueError.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueError.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueError.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueError.cs index e3c1b91..b78e57f 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueError.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueError.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueExecutionEngine.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueExecutionEngine.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueExecutionEngine.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueExecutionEngine.cs index 507ca99..06e027b 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueExecutionEngine.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueExecutionEngine.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueGenericValue.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueGenericValue.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueGenericValue.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueGenericValue.cs index 2cf6f20..638032b 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueGenericValue.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueGenericValue.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueJITEventListener.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueJITEventListener.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueJITEventListener.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueJITEventListener.cs index d2f4b82..02868e4 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueJITEventListener.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueJITEventListener.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueLTOCodeGenerator.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOCodeGenerator.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueLTOCodeGenerator.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOCodeGenerator.cs index 65b26a3..2921bb5 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueLTOCodeGenerator.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOCodeGenerator.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueLTOInput.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOInput.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueLTOInput.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOInput.cs index e2cd97f..2c4e919 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueLTOInput.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOInput.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueLTOModule.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOModule.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueLTOModule.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOModule.cs index dbe62ea..d9f0de6 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueLTOModule.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOModule.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueMCJITMemoryManager.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMCJITMemoryManager.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueMCJITMemoryManager.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueMCJITMemoryManager.cs index 67b05a5..b0132fe 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueMCJITMemoryManager.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMCJITMemoryManager.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueMemoryBuffer.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMemoryBuffer.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueMemoryBuffer.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueMemoryBuffer.cs index 259b534..8a826a7 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueMemoryBuffer.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMemoryBuffer.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueMetadata.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMetadata.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueMetadata.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueMetadata.cs index c6b510c..0185596 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueMetadata.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMetadata.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueModule.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModule.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueModule.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueModule.cs index ab7c59e..440b34d 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueModule.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModule.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueModuleFlagEntry.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleFlagEntry.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueModuleFlagEntry.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleFlagEntry.cs index 0e88878..408f0bf 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueModuleFlagEntry.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleFlagEntry.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueModuleProvider.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleProvider.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueModuleProvider.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleProvider.cs index 9fdc35a..ccbfec6 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueModuleProvider.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleProvider.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueNamedMDNode.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueNamedMDNode.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueNamedMDNode.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueNamedMDNode.cs index ccc0396..5b9d464 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueNamedMDNode.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueNamedMDNode.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueObjectFile.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueObjectFile.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueObjectFile.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueObjectFile.cs index 03ef702..1941223 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueObjectFile.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueObjectFile.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaquePassBuilderOptions.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassBuilderOptions.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaquePassBuilderOptions.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaquePassBuilderOptions.cs index df5c902..cb9dacd 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaquePassBuilderOptions.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassBuilderOptions.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaquePassManager.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassManager.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaquePassManager.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaquePassManager.cs index df977e2..e650ea0 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaquePassManager.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassManager.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaquePassManagerBuilder.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassManagerBuilder.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaquePassManagerBuilder.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaquePassManagerBuilder.cs index ab5c1d5..836e965 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaquePassManagerBuilder.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassManagerBuilder.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaquePassRegistry.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassRegistry.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaquePassRegistry.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaquePassRegistry.cs index 18c757b..6ddbe84 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaquePassRegistry.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassRegistry.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueRelocationIterator.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueRelocationIterator.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueRelocationIterator.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueRelocationIterator.cs index f5fd22e..0c3dc41 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueRelocationIterator.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueRelocationIterator.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueSectionIterator.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSectionIterator.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueSectionIterator.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueSectionIterator.cs index e6a1af3..4b06c7d 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueSectionIterator.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSectionIterator.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueSymbolIterator.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSymbolIterator.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueSymbolIterator.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueSymbolIterator.cs index 55ed0e8..3f548d3 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueSymbolIterator.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSymbolIterator.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueTargetData.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetData.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueTargetData.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetData.cs index b4dc48e..35c3138 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueTargetData.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetData.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueTargetLibraryInfotData.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetLibraryInfotData.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueTargetLibraryInfotData.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetLibraryInfotData.cs index 17177fc..8dc6bb7 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueTargetLibraryInfotData.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetLibraryInfotData.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueTargetMachine.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetMachine.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueTargetMachine.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetMachine.cs index 4b69569..50959be 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueTargetMachine.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetMachine.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueThinLTOCodeGenerator.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueThinLTOCodeGenerator.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueThinLTOCodeGenerator.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueThinLTOCodeGenerator.cs index 34d3981..2d13229 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueThinLTOCodeGenerator.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueThinLTOCodeGenerator.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueType.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueType.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueType.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueType.cs index 112af4c..f3b07e3 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueType.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueType.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueUse.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueUse.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueUse.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueUse.cs index cb4c89d..f3cf531 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueUse.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueUse.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueValue.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueValue.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueValue.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueValue.cs index 7fe65c0..0a28b4c 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueValue.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueValue.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOpaqueValueMetadataEntry.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueValueMetadataEntry.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOpaqueValueMetadataEntry.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueValueMetadataEntry.cs index 5218902..790e7e2 100644 --- a/sources/LLVMSharp.Interop/LLVMOpaqueValueMetadataEntry.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueValueMetadataEntry.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction.cs similarity index 97% rename from sources/LLVMSharp.Interop/LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction.cs index aa135dd..d3c0235 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System; diff --git a/sources/LLVMSharp.Interop/LLVMOrcErrorReporterFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcErrorReporterFunction.cs similarity index 96% rename from sources/LLVMSharp.Interop/LLVMOrcErrorReporterFunction.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcErrorReporterFunction.cs index f0d6432..6bb3074 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcErrorReporterFunction.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcErrorReporterFunction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/LLVMOrcGenericIRModuleOperationFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcGenericIRModuleOperationFunction.cs similarity index 96% rename from sources/LLVMSharp.Interop/LLVMOrcGenericIRModuleOperationFunction.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcGenericIRModuleOperationFunction.cs index 4637038..1b9e171 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcGenericIRModuleOperationFunction.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcGenericIRModuleOperationFunction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/LLVMOrcIRTransformLayerTransformFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcIRTransformLayerTransformFunction.cs similarity index 96% rename from sources/LLVMSharp.Interop/LLVMOrcIRTransformLayerTransformFunction.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcIRTransformLayerTransformFunction.cs index 9f6c75a..0fd4e04 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcIRTransformLayerTransformFunction.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcIRTransformLayerTransformFunction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction.cs similarity index 96% rename from sources/LLVMSharp.Interop/LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction.cs index 87fdd24..46ce535 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/LLVMOrcMaterializationUnitDestroyFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDestroyFunction.cs similarity index 95% rename from sources/LLVMSharp.Interop/LLVMOrcMaterializationUnitDestroyFunction.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDestroyFunction.cs index bdbe5be..d8fde9d 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcMaterializationUnitDestroyFunction.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDestroyFunction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/LLVMOrcMaterializationUnitDiscardFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDiscardFunction.cs similarity index 96% rename from sources/LLVMSharp.Interop/LLVMOrcMaterializationUnitDiscardFunction.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDiscardFunction.cs index cd82c92..e13170d 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcMaterializationUnitDiscardFunction.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDiscardFunction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/LLVMOrcMaterializationUnitMaterializeFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitMaterializeFunction.cs similarity index 96% rename from sources/LLVMSharp.Interop/LLVMOrcMaterializationUnitMaterializeFunction.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitMaterializeFunction.cs index 96147de..76ee707 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcMaterializationUnitMaterializeFunction.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitMaterializeFunction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/LLVMOrcObjectTransformLayerTransformFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcObjectTransformLayerTransformFunction.cs similarity index 96% rename from sources/LLVMSharp.Interop/LLVMOrcObjectTransformLayerTransformFunction.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcObjectTransformLayerTransformFunction.cs index 21431ac..2e008b2 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcObjectTransformLayerTransformFunction.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcObjectTransformLayerTransformFunction.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueDefinitionGenerator.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDefinitionGenerator.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueDefinitionGenerator.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDefinitionGenerator.cs index 3352ea2..38d2c77 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueDefinitionGenerator.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDefinitionGenerator.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueDumpObjects.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDumpObjects.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueDumpObjects.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDumpObjects.cs index 9ee2d32..65bbed1 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueDumpObjects.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDumpObjects.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueExecutionSession.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueExecutionSession.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueExecutionSession.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueExecutionSession.cs index 17b4ede..029dd43 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueExecutionSession.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueExecutionSession.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueIRTransformLayer.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIRTransformLayer.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueIRTransformLayer.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIRTransformLayer.cs index 599b72d..dc0a474 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueIRTransformLayer.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIRTransformLayer.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueIndirectStubsManager.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIndirectStubsManager.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueIndirectStubsManager.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIndirectStubsManager.cs index d2d4e1d..45c736e 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueIndirectStubsManager.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIndirectStubsManager.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueJITDylib.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITDylib.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueJITDylib.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITDylib.cs index 99fe90e..b7aa94a 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueJITDylib.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITDylib.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueJITTargetMachineBuilder.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITTargetMachineBuilder.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueJITTargetMachineBuilder.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITTargetMachineBuilder.cs index 7e8a1b2..62bfac0 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueJITTargetMachineBuilder.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITTargetMachineBuilder.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueLLJIT.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJIT.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueLLJIT.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJIT.cs index 6177680..e28a8b4 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueLLJIT.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJIT.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueLLJITBuilder.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJITBuilder.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueLLJITBuilder.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJITBuilder.cs index 415a77a..62678f2 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueLLJITBuilder.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJITBuilder.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueLazyCallThroughManager.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLazyCallThroughManager.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueLazyCallThroughManager.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLazyCallThroughManager.cs index 43d2326..ed42bf5 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueLazyCallThroughManager.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLazyCallThroughManager.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueLookupState.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLookupState.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueLookupState.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLookupState.cs index d59e756..7a4c5a9 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueLookupState.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLookupState.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueMaterializationResponsibility.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationResponsibility.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueMaterializationResponsibility.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationResponsibility.cs index 45703a7..bfd1771 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueMaterializationResponsibility.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationResponsibility.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueMaterializationUnit.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationUnit.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueMaterializationUnit.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationUnit.cs index d9a4b90..cf19597 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueMaterializationUnit.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationUnit.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueObjectLayer.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectLayer.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueObjectLayer.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectLayer.cs index 147239f..c066475 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueObjectLayer.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectLayer.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueObjectLinkingLayer.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectLinkingLayer.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueObjectLinkingLayer.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectLinkingLayer.cs index f537ba4..09fd4e2 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueObjectLinkingLayer.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectLinkingLayer.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueObjectTransformLayer.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectTransformLayer.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueObjectTransformLayer.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectTransformLayer.cs index 4e06b4f..5610173 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueObjectTransformLayer.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectTransformLayer.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueResourceTracker.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueResourceTracker.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueResourceTracker.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueResourceTracker.cs index c05d307..7d8b30d 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueResourceTracker.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueResourceTracker.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueSymbolStringPool.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPool.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueSymbolStringPool.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPool.cs index 294c835..139e84a 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueSymbolStringPool.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPool.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueSymbolStringPoolEntry.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPoolEntry.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueSymbolStringPoolEntry.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPoolEntry.cs index c70c02a..5f958d9 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueSymbolStringPoolEntry.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPoolEntry.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueThreadSafeContext.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeContext.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueThreadSafeContext.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeContext.cs index ab991bb..4e24f40 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueThreadSafeContext.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeContext.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcOpaqueThreadSafeModule.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeModule.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMOrcOpaqueThreadSafeModule.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeModule.cs index 21cfa48..ab258cc 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcOpaqueThreadSafeModule.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeModule.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMOrcSymbolPredicate.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcSymbolPredicate.cs similarity index 96% rename from sources/LLVMSharp.Interop/LLVMOrcSymbolPredicate.cs rename to sources/LLVMSharp.Interop/Manual/LLVMOrcSymbolPredicate.cs index 10132d8..f80cc04 100644 --- a/sources/LLVMSharp.Interop/LLVMOrcSymbolPredicate.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcSymbolPredicate.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/LLVMRemarkOpaqueArg.cs b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueArg.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMRemarkOpaqueArg.cs rename to sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueArg.cs index 70f5a73..fc2f87b 100644 --- a/sources/LLVMSharp.Interop/LLVMRemarkOpaqueArg.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueArg.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMRemarkOpaqueDebugLoc.cs b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueDebugLoc.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMRemarkOpaqueDebugLoc.cs rename to sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueDebugLoc.cs index 4a6513a..4bee92e 100644 --- a/sources/LLVMSharp.Interop/LLVMRemarkOpaqueDebugLoc.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueDebugLoc.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMRemarkOpaqueEntry.cs b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueEntry.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMRemarkOpaqueEntry.cs rename to sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueEntry.cs index 00e2e1b..d815db3 100644 --- a/sources/LLVMSharp.Interop/LLVMRemarkOpaqueEntry.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueEntry.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMRemarkOpaqueParser.cs b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueParser.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMRemarkOpaqueParser.cs rename to sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueParser.cs index e61b0d8..926e43b 100644 --- a/sources/LLVMSharp.Interop/LLVMRemarkOpaqueParser.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueParser.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMRemarkOpaqueString.cs b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueString.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMRemarkOpaqueString.cs rename to sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueString.cs index b020350..32291c7 100644 --- a/sources/LLVMSharp.Interop/LLVMRemarkOpaqueString.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueString.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMSymbolLookupCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMSymbolLookupCallback.cs similarity index 96% rename from sources/LLVMSharp.Interop/LLVMSymbolLookupCallback.cs rename to sources/LLVMSharp.Interop/Manual/LLVMSymbolLookupCallback.cs index 23a6a9d..f15268d 100644 --- a/sources/LLVMSharp.Interop/LLVMSymbolLookupCallback.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMSymbolLookupCallback.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/LLVMTarget.cs b/sources/LLVMSharp.Interop/Manual/LLVMTarget.cs similarity index 94% rename from sources/LLVMSharp.Interop/LLVMTarget.cs rename to sources/LLVMSharp.Interop/Manual/LLVMTarget.cs index d58e177..7adb69b 100644 --- a/sources/LLVMSharp.Interop/LLVMTarget.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMTarget.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/LLVMYieldCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMYieldCallback.cs similarity index 96% rename from sources/LLVMSharp.Interop/LLVMYieldCallback.cs rename to sources/LLVMSharp.Interop/Manual/LLVMYieldCallback.cs index 0e37e8c..f619d1a 100644 --- a/sources/LLVMSharp.Interop/LLVMYieldCallback.cs +++ b/sources/LLVMSharp.Interop/Manual/LLVMYieldCallback.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/lto_diagnostic_handler_t.cs b/sources/LLVMSharp.Interop/Manual/lto_diagnostic_handler_t.cs similarity index 96% rename from sources/LLVMSharp.Interop/lto_diagnostic_handler_t.cs rename to sources/LLVMSharp.Interop/Manual/lto_diagnostic_handler_t.cs index 2d8fd49..58cebd8 100644 --- a/sources/LLVMSharp.Interop/lto_diagnostic_handler_t.cs +++ b/sources/LLVMSharp.Interop/Manual/lto_diagnostic_handler_t.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using System.Runtime.InteropServices; diff --git a/sources/LLVMSharp.Interop/llvm_blake3_chunk_state.cs b/sources/LLVMSharp.Interop/llvm_blake3_chunk_state.cs new file mode 100644 index 0000000..2bff357 --- /dev/null +++ b/sources/LLVMSharp.Interop/llvm_blake3_chunk_state.cs @@ -0,0 +1,27 @@ +// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under 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 +// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. + +namespace LLVMSharp.Interop; + +public unsafe partial struct llvm_blake3_chunk_state +{ + [NativeTypeName("uint32_t[8]")] + public fixed uint cv[8]; + + [NativeTypeName("uint64_t")] + public ulong chunk_counter; + + [NativeTypeName("uint8_t[64]")] + public fixed byte buf[64]; + + [NativeTypeName("uint8_t")] + public byte buf_len; + + [NativeTypeName("uint8_t")] + public byte blocks_compressed; + + [NativeTypeName("uint8_t")] + public byte flags; +} diff --git a/sources/LLVMSharp.Interop/llvm_blake3_hasher.cs b/sources/LLVMSharp.Interop/llvm_blake3_hasher.cs new file mode 100644 index 0000000..275c7c5 --- /dev/null +++ b/sources/LLVMSharp.Interop/llvm_blake3_hasher.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. + +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. + +namespace LLVMSharp.Interop; + +public unsafe partial struct llvm_blake3_hasher +{ + [NativeTypeName("uint32_t[8]")] + public fixed uint key[8]; + + public llvm_blake3_chunk_state chunk; + + [NativeTypeName("uint8_t")] + public byte cv_stack_len; + + [NativeTypeName("uint8_t[1760]")] + public fixed byte cv_stack[1760]; +} diff --git a/sources/LLVMSharp.Interop/lto_codegen_diagnostic_severity_t.cs b/sources/LLVMSharp.Interop/lto_codegen_diagnostic_severity_t.cs index fd3ac7b..6d90b5f 100644 --- a/sources/LLVMSharp.Interop/lto_codegen_diagnostic_severity_t.cs +++ b/sources/LLVMSharp.Interop/lto_codegen_diagnostic_severity_t.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/lto_codegen_model.cs b/sources/LLVMSharp.Interop/lto_codegen_model.cs index 0fa6816..2c82465 100644 --- a/sources/LLVMSharp.Interop/lto_codegen_model.cs +++ b/sources/LLVMSharp.Interop/lto_codegen_model.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/lto_debug_model.cs b/sources/LLVMSharp.Interop/lto_debug_model.cs index f2839c5..873b794 100644 --- a/sources/LLVMSharp.Interop/lto_debug_model.cs +++ b/sources/LLVMSharp.Interop/lto_debug_model.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp.Interop/lto_symbol_attributes.cs b/sources/LLVMSharp.Interop/lto_symbol_attributes.cs index 4a5da29..2ff0463 100644 --- a/sources/LLVMSharp.Interop/lto_symbol_attributes.cs +++ b/sources/LLVMSharp.Interop/lto_symbol_attributes.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. namespace LLVMSharp.Interop; diff --git a/sources/LLVMSharp/Attribute.cs b/sources/LLVMSharp/Attribute.cs index 8190f3d..74f029b 100644 --- a/sources/LLVMSharp/Attribute.cs +++ b/sources/LLVMSharp/Attribute.cs @@ -9,13 +9,13 @@ public sealed class Attribute : IEquatable { public LLVMAttributeRef Handle { get; } - public static bool operator ==(Attribute left, Attribute right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); + public static bool operator ==(Attribute? left, Attribute? right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); - public static bool operator !=(Attribute left, Attribute right) => !(left == right); + public static bool operator !=(Attribute? left, Attribute? right) => !(left == right); - public override bool Equals(object obj) => (obj is Attribute other) && Equals(other); + public override bool Equals(object? obj) => (obj is Attribute other) && Equals(other); - public bool Equals(Attribute other) => this == other; + public bool Equals(Attribute? other) => this == other; public override int GetHashCode() => Handle.GetHashCode(); diff --git a/sources/LLVMSharp/DataLayout.cs b/sources/LLVMSharp/DataLayout.cs index 8886d6f..5e42ed7 100644 --- a/sources/LLVMSharp/DataLayout.cs +++ b/sources/LLVMSharp/DataLayout.cs @@ -28,13 +28,13 @@ public sealed class DataLayout : IEquatable public uint GetPreferredAlign(Value value) => Handle.PreferredAlignmentOfGlobal(value.Handle); - public static bool operator ==(DataLayout left, DataLayout right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); + public static bool operator ==(DataLayout? left, DataLayout? right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); - public static bool operator !=(DataLayout left, DataLayout right) => !(left == right); + public static bool operator !=(DataLayout? left, DataLayout? right) => !(left == right); - public override bool Equals(object obj) => (obj is DataLayout other) && Equals(other); + public override bool Equals(object? obj) => (obj is DataLayout other) && Equals(other); - public bool Equals(DataLayout other) => this == other; + public bool Equals(DataLayout? other) => this == other; public override int GetHashCode() => Handle.GetHashCode(); diff --git a/sources/LLVMSharp/Error.cs b/sources/LLVMSharp/Error.cs index 77bc51f..e4084a1 100644 --- a/sources/LLVMSharp/Error.cs +++ b/sources/LLVMSharp/Error.cs @@ -9,13 +9,13 @@ public sealed class Error : IEquatable { public LLVMErrorRef Handle { get; } - public static bool operator ==(Error left, Error right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); + public static bool operator ==(Error? left, Error? right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); - public static bool operator !=(Error left, Error right) => !(left == right); + public static bool operator !=(Error? left, Error? right) => !(left == right); - public override bool Equals(object obj) => (obj is Error other) && Equals(other); + public override bool Equals(object? obj) => (obj is Error other) && Equals(other); - public bool Equals(Error other) => this == other; + public bool Equals(Error? other) => this == other; public override int GetHashCode() => Handle.GetHashCode(); diff --git a/sources/LLVMSharp/IRBuilder.cs b/sources/LLVMSharp/IRBuilder.cs index 7b9ae3d..ba09614 100644 --- a/sources/LLVMSharp/IRBuilder.cs +++ b/sources/LLVMSharp/IRBuilder.cs @@ -32,13 +32,13 @@ public sealed class IRBuilder : IRBuilderBase public ReturnInst CreateAggregateRet(ReadOnlySpan retVals) { using var retValHandles = new MarshaledArray(retVals, (value) => value.Handle); - var handle = Handle.BuildAggregateRet(retValHandles); + var handle = Handle.BuildAggregateRet(retValHandles.AsSpan()); return Context.GetOrCreate(handle); } - public AllocaInst CreateAlloca(Type ty, Value arraySize = null, string name = "") => CreateAlloca(ty, arraySize, name.AsSpan()); + public AllocaInst CreateAlloca(Type ty, Value? arraySize = null, string name = "") => CreateAlloca(ty, arraySize, name.AsSpan()); - public AllocaInst CreateAlloca(Type ty, Value arraySize, ReadOnlySpan name) + public AllocaInst CreateAlloca(Type ty, Value? arraySize, ReadOnlySpan name) { var handle = Handle.BuildArrayAlloca(ty.Handle, arraySize?.Handle ?? default, name); return Context.GetOrCreate(handle); @@ -88,12 +88,12 @@ public sealed class IRBuilder : IRBuilderBase return Context.GetOrCreate(handle); } - public CallInst CreateCall(Value callee, Value[] args = null, string name = "") => CreateCall(callee, args.AsSpan(), name.AsSpan()); + public CallInst CreateCall(FunctionType fTy, Value callee, Value[]? args = null, string name = "") => CreateCall(fTy, callee, args.AsSpan(), name.AsSpan()); - public CallInst CreateCall(Value callee, ReadOnlySpan args, ReadOnlySpan name) + public CallInst CreateCall(FunctionType fTy, Value callee, ReadOnlySpan args, ReadOnlySpan name) { using var argHandles = new MarshaledArray(args, (value) => value.Handle); - var handle = Handle.BuildCall(callee.Handle, argHandles, name); + var handle = Handle.BuildCall2(fTy.Handle, callee.Handle, argHandles.AsSpan(), name); return Context.GetOrCreate(handle); } @@ -247,12 +247,12 @@ public sealed class IRBuilder : IRBuilderBase return Context.GetOrCreate(handle); } - public Value CreateGEP(Value ptr, Value[] idxList, string name = "") => CreateGEP(ptr, idxList.AsSpan(), name.AsSpan()); + public Value CreateGEP(Type ty, Value ptr, Value[] idxList, string name = "") => CreateGEP(ty, ptr, idxList.AsSpan(), name.AsSpan()); - public Value CreateGEP(Value ptr, ReadOnlySpan idxList, ReadOnlySpan name) + public Value CreateGEP(Type ty, Value ptr, ReadOnlySpan idxList, ReadOnlySpan name) { using var idxListHandles = new MarshaledArray(idxList, (value) => value.Handle); - var handle = Handle.BuildGEP(ptr.Handle, idxListHandles, name); + var handle = Handle.BuildGEP2(ty.Handle, ptr.Handle, idxListHandles.AsSpan(), name); return Context.GetOrCreate(handle); } @@ -272,12 +272,12 @@ public sealed class IRBuilder : IRBuilderBase return Context.GetOrCreate(handle); } - public Value CreateInBoundsGEP(Value ptr, Value[] idxList, string name = "") => CreateInBoundsGEP(ptr, idxList.AsSpan(), name.AsSpan()); + public Value CreateInBoundsGEP(Type ty, Value ptr, Value[] idxList, string name = "") => CreateInBoundsGEP(ty, ptr, idxList.AsSpan(), name.AsSpan()); - public Value CreateInBoundsGEP(Value ptr, ReadOnlySpan idxList, ReadOnlySpan name) + public Value CreateInBoundsGEP(Type ty, Value ptr, ReadOnlySpan idxList, ReadOnlySpan name) { using var idxListHandles = new MarshaledArray(idxList, (value) => value.Handle); - var handle = Handle.BuildInBoundsGEP(ptr.Handle, idxListHandles, name); + var handle = Handle.BuildInBoundsGEP2(ty.Handle, ptr.Handle, idxListHandles.AsSpan(), name); return Context.GetOrCreate(handle); } @@ -319,12 +319,12 @@ public sealed class IRBuilder : IRBuilderBase return Context.GetOrCreate(handle); } - public InvokeInst CreateInvoke(Value callee, BasicBlock normalDest, BasicBlock unwindDest, Value[] args, string name = "") => CreateInvoke(callee, normalDest, unwindDest, args.AsSpan(), name.AsSpan()); + public InvokeInst CreateInvoke(FunctionType ty, Value callee, BasicBlock normalDest, BasicBlock unwindDest, Value[] args, string name = "") => CreateInvoke(ty, callee, normalDest, unwindDest, args.AsSpan(), name.AsSpan()); - public InvokeInst CreateInvoke(Value callee, BasicBlock normalDest, BasicBlock unwindDest, ReadOnlySpan args, ReadOnlySpan name) + public InvokeInst CreateInvoke(FunctionType ty, Value callee, BasicBlock normalDest, BasicBlock unwindDest, ReadOnlySpan args, ReadOnlySpan name) { using var argHandles = new MarshaledArray(args, (value) => value.Handle); - var handle = Handle.BuildInvoke(callee.Handle, argHandles, normalDest.Handle, unwindDest.Handle, name); + var handle = Handle.BuildInvoke2(ty.Handle, callee.Handle, argHandles.AsSpan(), normalDest.Handle, unwindDest.Handle, name); return Context.GetOrCreate(handle); } @@ -352,11 +352,11 @@ public sealed class IRBuilder : IRBuilderBase return Context.GetOrCreate(handle); } - public LoadInst CreateLoad(Value ptr, string name = "") => CreateLoad(ptr, name.AsSpan()); + public LoadInst CreateLoad(Type ty, Value ptr, string name = "") => CreateLoad(ty, ptr, name.AsSpan()); - public LoadInst CreateLoad(Value ptr, ReadOnlySpan name) + public LoadInst CreateLoad(Type ty, Value ptr, ReadOnlySpan name) { - var handle = Handle.BuildLoad(ptr.Handle, name); + var handle = Handle.BuildLoad2(ty.Handle, ptr.Handle, name); return Context.GetOrCreate(handle); } @@ -480,11 +480,11 @@ public sealed class IRBuilder : IRBuilderBase return Context.GetOrCreate(handle); } - public Value CreatePtrDiff(Value lhs, Value rhs, string name = "") => CreatePtrDiff(lhs, rhs, name.AsSpan()); + public Value CreatePtrDiff(Type elemTy, Value lhs, Value rhs, string name = "") => CreatePtrDiff(elemTy, lhs, rhs, name.AsSpan()); - public Value CreatePtrDiff(Value lhs, Value rhs, ReadOnlySpan name) + public Value CreatePtrDiff(Type elemTy, Value lhs, Value rhs, ReadOnlySpan name) { - var handle = Handle.BuildPtrDiff(lhs.Handle, rhs.Handle, name); + var handle = Handle.BuildPtrDiff2(elemTy.Handle, lhs.Handle, rhs.Handle, name); return Context.GetOrCreate(handle); } @@ -584,11 +584,11 @@ public sealed class IRBuilder : IRBuilderBase return Context.GetOrCreate(handle); } - public Value CreateStructGEP(Value ptr, uint idx, string name = "") => CreateStructGEP(ptr, idx, name.AsSpan()); + public Value CreateStructGEP(Type ty, Value ptr, uint idx, string name = "") => CreateStructGEP(ty, ptr, idx, name.AsSpan()); - public Value CreateStructGEP(Value ptr, uint idx, ReadOnlySpan name) + public Value CreateStructGEP(Type ty, Value ptr, uint idx, ReadOnlySpan name) { - var handle = Handle.BuildStructGEP(ptr.Handle, idx, name); + var handle = Handle.BuildStructGEP2(ty.Handle, ptr.Handle, idx, name); return Context.GetOrCreate(handle); } diff --git a/sources/LLVMSharp/IRBuilderBase.cs b/sources/LLVMSharp/IRBuilderBase.cs index cda9e7b..c73c9d8 100644 --- a/sources/LLVMSharp/IRBuilderBase.cs +++ b/sources/LLVMSharp/IRBuilderBase.cs @@ -26,9 +26,9 @@ public unsafe class IRBuilderBase : IEquatable } } - public static bool operator ==(IRBuilderBase left, IRBuilderBase right) => ReferenceEquals(left, right) || (left.Handle == right.Handle); + public static bool operator ==(IRBuilderBase? left, IRBuilderBase? right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); - public static bool operator !=(IRBuilderBase left, IRBuilderBase right) => !(left == right); + public static bool operator !=(IRBuilderBase? left, IRBuilderBase? right) => !(left == right); public void ClearInsertionPoint() => Handle.ClearInsertionPosition(); @@ -40,9 +40,9 @@ public unsafe class IRBuilderBase : IEquatable return Context.GetOrCreate(handle); } - public override bool Equals(object obj) => (obj is IRBuilderBase other) && Equals(other); + public override bool Equals(object? obj) => (obj is IRBuilderBase other) && Equals(other); - public bool Equals(IRBuilderBase other) => this == other; + public bool Equals(IRBuilderBase? other) => this == other; public override int GetHashCode() => Handle.GetHashCode(); diff --git a/sources/LLVMSharp/LLVMContext.cs b/sources/LLVMSharp/LLVMContext.cs index d47aee5..6276968 100644 --- a/sources/LLVMSharp/LLVMContext.cs +++ b/sources/LLVMSharp/LLVMContext.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using LLVMSharp.Interop; namespace LLVMSharp; @@ -18,13 +19,13 @@ public sealed class LLVMContext : IEquatable public LLVMContextRef Handle { get; } - public static bool operator ==(LLVMContext left, LLVMContext right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); + public static bool operator ==(LLVMContext? left, LLVMContext? right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); - public static bool operator !=(LLVMContext left, LLVMContext right) => !(left == right); + public static bool operator !=(LLVMContext? left, LLVMContext? right) => !(left == right); - public override bool Equals(object obj) => (obj is LLVMContext other) && Equals(other); + public override bool Equals(object? obj) => (obj is LLVMContext other) && Equals(other); - public bool Equals(LLVMContext other) => this == other; + public bool Equals(LLVMContext? other) => this == other; public override int GetHashCode() => Handle.GetHashCode(); @@ -35,15 +36,16 @@ public sealed class LLVMContext : IEquatable internal TType GetOrCreate(LLVMTypeRef handle) where TType : Type { - WeakReference typeRef; + WeakReference? typeRef; if (handle == null) { - return null; + Debug.Assert(handle != null); + return null!; } else if (!_createdTypes.TryGetValue(handle, out typeRef)) { - typeRef = new WeakReference(null); + typeRef = new WeakReference(null!); _createdTypes.Add(handle, typeRef); } @@ -58,15 +60,16 @@ public sealed class LLVMContext : IEquatable internal TValue GetOrCreate(LLVMValueRef handle) where TValue : Value { - WeakReference valueRef; + WeakReference? valueRef; if (handle == null) { - return null; + Debug.Assert(handle != null); + return null!; } else if (!_createdValues.TryGetValue(handle, out valueRef)) { - valueRef = new WeakReference(null); + valueRef = new WeakReference(null!); _createdValues.Add(handle, valueRef); } diff --git a/sources/LLVMSharp/LLVMSharp.csproj b/sources/LLVMSharp/LLVMSharp.csproj index 99a12d1..2064508 100644 --- a/sources/LLVMSharp/LLVMSharp.csproj +++ b/sources/LLVMSharp/LLVMSharp.csproj @@ -2,7 +2,7 @@ - net6.0;netstandard2.0 + net6.0;net7.0;netstandard2.0 diff --git a/sources/LLVMSharp/Metadata.cs b/sources/LLVMSharp/Metadata.cs index 1fce462..cfc31d4 100644 --- a/sources/LLVMSharp/Metadata.cs +++ b/sources/LLVMSharp/Metadata.cs @@ -9,13 +9,13 @@ public sealed class Metadata : IEquatable { public LLVMMetadataRef Handle { get; } - public static bool operator ==(Metadata left, Metadata right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); + public static bool operator ==(Metadata? left, Metadata? right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); - public static bool operator !=(Metadata left, Metadata right) => !(left == right); + public static bool operator !=(Metadata? left, Metadata? right) => !(left == right); - public override bool Equals(object obj) => (obj is Metadata other) && Equals(other); + public override bool Equals(object? obj) => (obj is Metadata other) && Equals(other); - public bool Equals(Metadata other) => this == other; + public bool Equals(Metadata? other) => this == other; public override int GetHashCode() => Handle.GetHashCode(); diff --git a/sources/LLVMSharp/Module.cs b/sources/LLVMSharp/Module.cs index b754bca..c515d05 100644 --- a/sources/LLVMSharp/Module.cs +++ b/sources/LLVMSharp/Module.cs @@ -9,13 +9,13 @@ public sealed class Module : IEquatable { public LLVMModuleRef Handle { get; } - public static bool operator ==(Module left, Module right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); + public static bool operator ==(Module? left, Module? right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); - public static bool operator !=(Module left, Module right) => !(left == right); + public static bool operator !=(Module? left, Module? right) => !(left == right); - public override bool Equals(object obj) => (obj is Module other) && Equals(other); + public override bool Equals(object? obj) => (obj is Module other) && Equals(other); - public bool Equals(Module other) => this == other; + public bool Equals(Module? other) => this == other; public override int GetHashCode() => Handle.GetHashCode(); diff --git a/sources/LLVMSharp/StructLayout.cs b/sources/LLVMSharp/StructLayout.cs index f81d9b7..0bf1ba3 100644 --- a/sources/LLVMSharp/StructLayout.cs +++ b/sources/LLVMSharp/StructLayout.cs @@ -19,13 +19,13 @@ public sealed class StructLayout : IEquatable public ulong ElementAtOffset(ulong offset) => _dataLayout.Handle.ElementAtOffset(_structType.Handle, offset); - public static bool operator ==(StructLayout left, StructLayout right) => ReferenceEquals(left, right) || ((left?._dataLayout == right._dataLayout) && (left?._structType == right?._structType)); + public static bool operator ==(StructLayout? left, StructLayout? right) => ReferenceEquals(left, right) || ((left?._dataLayout == right?._dataLayout) && (left?._structType == right?._structType)); - public static bool operator !=(StructLayout left, StructLayout right) => !(left == right); + public static bool operator !=(StructLayout? left, StructLayout? right) => !(left == right); - public override bool Equals(object obj) => (obj is StructLayout other) && Equals(other); + public override bool Equals(object? obj) => (obj is StructLayout other) && Equals(other); - public bool Equals(StructLayout other) => this == other; + public bool Equals(StructLayout? other) => this == other; public override int GetHashCode() => HashCode.Combine(_structType, _dataLayout); } diff --git a/sources/LLVMSharp/Target.cs b/sources/LLVMSharp/Target.cs index e707287..5149b95 100644 --- a/sources/LLVMSharp/Target.cs +++ b/sources/LLVMSharp/Target.cs @@ -9,13 +9,13 @@ public sealed class Target : IEquatable { public LLVMTargetRef Handle { get; } - public static bool operator ==(Target left, Target right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); + public static bool operator ==(Target? left, Target? right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); - public static bool operator !=(Target left, Target right) => !(left == right); + public static bool operator !=(Target? left, Target? right) => !(left == right); - public override bool Equals(object obj) => (obj is Target other) && Equals(other); + public override bool Equals(object? obj) => (obj is Target other) && Equals(other); - public bool Equals(Target other) => this == other; + public bool Equals(Target? other) => this == other; public override int GetHashCode() => Handle.GetHashCode(); diff --git a/sources/LLVMSharp/TargetMachine.cs b/sources/LLVMSharp/TargetMachine.cs index dc47aff..90253a1 100644 --- a/sources/LLVMSharp/TargetMachine.cs +++ b/sources/LLVMSharp/TargetMachine.cs @@ -9,13 +9,13 @@ public sealed class TargetMachine : IEquatable { public LLVMTargetMachineRef Handle { get; } - public static bool operator ==(TargetMachine left, TargetMachine right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); + public static bool operator ==(TargetMachine? left, TargetMachine? right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); - public static bool operator !=(TargetMachine left, TargetMachine right) => !(left == right); + public static bool operator !=(TargetMachine? left, TargetMachine? right) => !(left == right); - public override bool Equals(object obj) => (obj is TargetMachine other) && Equals(other); + public override bool Equals(object? obj) => (obj is TargetMachine other) && Equals(other); - public bool Equals(TargetMachine other) => this == other; + public bool Equals(TargetMachine? other) => this == other; public override int GetHashCode() => Handle.GetHashCode(); diff --git a/sources/LLVMSharp/Types/Type.cs b/sources/LLVMSharp/Types/Type.cs index f5b61a2..8ddbed5 100644 --- a/sources/LLVMSharp/Types/Type.cs +++ b/sources/LLVMSharp/Types/Type.cs @@ -18,9 +18,9 @@ public class Type : IEquatable public LLVMTypeRef Handle { get; } - public static bool operator ==(Type left, Type right) => ReferenceEquals(left, right) || (left.Handle == right.Handle); + public static bool operator ==(Type? left, Type? right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); - public static bool operator !=(Type left, Type right) => !(left == right); + public static bool operator !=(Type? left, Type? right) => !(left == right); public static Type GetBFloatTy(LLVMContext c) { @@ -112,9 +112,9 @@ public class Type : IEquatable return c.GetOrCreate(handle); } - public override bool Equals(object obj) => (obj is Type other) && Equals(other); + public override bool Equals(object? obj) => (obj is Type other) && Equals(other); - public bool Equals(Type other) => this == other; + public bool Equals(Type? other) => this == other; public override int GetHashCode() => Handle.GetHashCode(); diff --git a/sources/LLVMSharp/Values/Users/Constants/ConstantAggregates/ConstantStruct.cs b/sources/LLVMSharp/Values/Users/Constants/ConstantAggregates/ConstantStruct.cs index d8dad96..2a73530 100644 --- a/sources/LLVMSharp/Values/Users/Constants/ConstantAggregates/ConstantStruct.cs +++ b/sources/LLVMSharp/Values/Users/Constants/ConstantAggregates/ConstantStruct.cs @@ -16,7 +16,7 @@ public sealed class ConstantStruct : ConstantAggregate public static Constant GetAnon(LLVMContext ctx, ReadOnlySpan v, bool packed) { using var marshaledV = new MarshaledArray(v, (value) => value.Handle); - var handle = ctx.Handle.GetConstStruct(marshaledV, packed); + var handle = ctx.Handle.GetConstStruct(marshaledV.AsSpan(), packed); return ctx.GetOrCreate(handle); } } diff --git a/sources/LLVMSharp/Values/Value.cs b/sources/LLVMSharp/Values/Value.cs index 56eb2e6..a12e896 100644 --- a/sources/LLVMSharp/Values/Value.cs +++ b/sources/LLVMSharp/Values/Value.cs @@ -18,13 +18,13 @@ public class Value : IEquatable public LLVMValueRef Handle { get; } - public static bool operator ==(Value left, Value right) => ReferenceEquals(left, right) || (left.Handle == right.Handle); + public static bool operator ==(Value? left, Value? right) => ReferenceEquals(left, right) || (left?.Handle == right?.Handle); - public static bool operator !=(Value left, Value right) => !(left == right); + public static bool operator !=(Value? left, Value? right) => !(left == right); - public override bool Equals(object obj) => (obj is Value other) && Equals(other); + public override bool Equals(object? obj) => (obj is Value other) && Equals(other); - public bool Equals(Value other) => this == other; + public bool Equals(Value? other) => this == other; public override int GetHashCode() => Handle.GetHashCode(); diff --git a/tests/LLVMSharp.UnitTests/DIBuilder.cs b/tests/LLVMSharp.UnitTests/DIBuilder.cs index b2a7d6e..d545b4b 100644 --- a/tests/LLVMSharp.UnitTests/DIBuilder.cs +++ b/tests/LLVMSharp.UnitTests/DIBuilder.cs @@ -11,7 +11,7 @@ public class DIBuilder public void CreateDebugLocation() { var fileName = Path.GetFileName("DIBuilder.c"); - var directory = Path.GetDirectoryName("."); + var directory = Path.GetDirectoryName(".") ?? ""; var module = LLVMModuleRef.CreateWithName("netscripten"); module.Target = "asmjs-unknown-emscripten"; var dIBuilder = module.CreateDIBuilder(); diff --git a/tests/LLVMSharp.UnitTests/Examples.cs b/tests/LLVMSharp.UnitTests/Examples.cs index 4068c80..97c9219 100644 --- a/tests/LLVMSharp.UnitTests/Examples.cs +++ b/tests/LLVMSharp.UnitTests/Examples.cs @@ -16,7 +16,7 @@ public class Examples { using var module = LLVMModuleRef.CreateWithName("LLVMSharpIntro"); - var def = module.AddFunction( + (_, var def) = module.AddFunction( LLVMTypeRef.Int32, "sum", new[] { LLVMTypeRef.Int32, LLVMTypeRef.Int32 }, (f, b) => { var p1 = f.Params[0]; diff --git a/tests/LLVMSharp.UnitTests/IR.cs b/tests/LLVMSharp.UnitTests/IR.cs index 890eaa6..948029b 100644 --- a/tests/LLVMSharp.UnitTests/IR.cs +++ b/tests/LLVMSharp.UnitTests/IR.cs @@ -3,6 +3,7 @@ using System; using LLVMSharp.Interop; using NUnit.Framework; +using NUnit.Framework.Internal; namespace LLVMSharp.UnitTests; @@ -15,7 +16,7 @@ public class IR var op2 = 0; using var module = LLVMModuleRef.CreateWithName("test_add"); - var def = module.AddFunction( + (_, var def) = module.AddFunction( LLVMTypeRef.Int32, "add", new[] { LLVMTypeRef.Int32, LLVMTypeRef.Int32 }, (f, b) => { var p1 = f.Params[0]; @@ -40,7 +41,7 @@ public class IR { using var module = LLVMModuleRef.CreateWithName("test_lshift"); - var def = module.AddFunction( + (_, var def) = module.AddFunction( LLVMTypeRef.Int32, "lshift", new[] { LLVMTypeRef.Int32, LLVMTypeRef.Int32 }, (f, b) => { var p1 = f.Params[0]; @@ -65,7 +66,7 @@ public class IR { using var module = LLVMModuleRef.CreateWithName("test_greaterthan"); - var def = module.AddFunction( + (_, var def) = module.AddFunction( LLVMTypeRef.Int1, "greaterthan", new[] { LLVMTypeRef.Int32, LLVMTypeRef.Int32 }, (f, b) => { var p1 = f.Params[0]; @@ -90,7 +91,7 @@ public class IR { using var module = LLVMModuleRef.CreateWithName("test_call"); - var defAdd = module.AddFunction( + (var addType, var addDef) = module.AddFunction( LLVMTypeRef.Int32, "add", new[] { LLVMTypeRef.Int32, LLVMTypeRef.Int32 }, (f, b) => { var p1 = f.Params[0]; @@ -98,12 +99,10 @@ public class IR var add = b.BuildAdd(p1, p2); var ret = b.BuildRet(add); }); - var defEntry = module.AddFunction( + (_, var entryDef) = module.AddFunction( LLVMTypeRef.Int32, "entry", new[] { LLVMTypeRef.Int32, LLVMTypeRef.Int32 }, (f, b) => { - var p1 = f.Params[0]; - var p2 = f.Params[1]; - var call = b.BuildCall(defAdd, new[] { p1, p2 }); + var call = b.BuildCall2(addType, addDef, f.Params, ReadOnlySpan.Empty); var ret = b.BuildRet(call); }); module.Verify(LLVMVerifierFailureAction.LLVMPrintMessageAction); @@ -113,7 +112,7 @@ public class IR _ = LLVM.InitializeNativeAsmPrinter(); var engine = module.CreateMCJITCompiler(); - var func = engine.GetPointerToGlobal(defEntry); + var func = engine.GetPointerToGlobal(entryDef); var result = op1 + op2; Assert.AreEqual(result, func(op1, op2)); } @@ -124,7 +123,7 @@ public class IR var uInput = (uint)input; using var module = LLVMModuleRef.CreateWithName("test_constant"); - var def = module.AddFunction( + (_, var def) = module.AddFunction( LLVMTypeRef.Int32, "constant", Array.Empty(), (f, b) => { var value = LLVMValueRef.CreateConstInt(LLVMTypeRef.Int32, uInput); @@ -147,7 +146,7 @@ public class IR using var module = LLVMModuleRef.CreateWithName("test_sizeof"); var str = LLVMTypeRef.CreateStruct(new[] { LLVMTypeRef.Int32, LLVMTypeRef.Int32 }, true); - var def = module.AddFunction( + (_, var def) = module.AddFunction( LLVMTypeRef.Int32, "structure", Array.Empty(), (f, b) => { var sz = str.SizeOf; diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMComdatTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMComdatTests.cs deleted file mode 100644 index 28c36f6..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMComdatTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMComdatTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMComdat))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMComdat).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMComdat), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMJITEvaluatedSymbolTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMJITEvaluatedSymbolTests.cs index 0a93175..a08d728 100644 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMJITEvaluatedSymbolTests.cs +++ b/tests/LLVMSharp.UnitTests/Interop/LLVMJITEvaluatedSymbolTests.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using NUnit.Framework; diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMJITSymbolFlagsTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMJITSymbolFlagsTests.cs index 16604ea..3f8f4af 100644 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMJITSymbolFlagsTests.cs +++ b/tests/LLVMSharp.UnitTests/Interop/LLVMJITSymbolFlagsTests.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using NUnit.Framework; diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMMCJITCompilerOptionsTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMMCJITCompilerOptionsTests.cs index e1c3494..0e05586 100644 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMMCJITCompilerOptionsTests.cs +++ b/tests/LLVMSharp.UnitTests/Interop/LLVMMCJITCompilerOptionsTests.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using NUnit.Framework; diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpInfo1Tests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpInfo1Tests.cs index e84f64f..6ca4d5f 100644 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpInfo1Tests.cs +++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOpInfo1Tests.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using NUnit.Framework; diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpInfoSymbol1Tests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpInfoSymbol1Tests.cs index c3b16c9..919e828 100644 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpInfoSymbol1Tests.cs +++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOpInfoSymbol1Tests.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using NUnit.Framework; diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueAttributeRefTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueAttributeRefTests.cs deleted file mode 100644 index cdbcbfe..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueAttributeRefTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueAttributeRefTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueAttributeRef))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueAttributeRef).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueAttributeRef), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueBasicBlockTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueBasicBlockTests.cs deleted file mode 100644 index 1fc65ce..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueBasicBlockTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueBasicBlockTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueBasicBlock))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueBasicBlock).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueBasicBlock), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueBinaryTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueBinaryTests.cs deleted file mode 100644 index cf17d97..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueBinaryTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueBinaryTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueBinary))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueBinary).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueBinary), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueBuilderTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueBuilderTests.cs deleted file mode 100644 index 840155a..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueBuilderTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueBuilderTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueBuilder))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueBuilder).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueBuilder), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueContextTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueContextTests.cs deleted file mode 100644 index fea8b04..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueContextTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueContextTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueContext))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueContext).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueContext), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueDIBuilderTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueDIBuilderTests.cs deleted file mode 100644 index d8d460e..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueDIBuilderTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueDIBuilderTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueDIBuilder))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueDIBuilder).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueDIBuilder), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueDiagnosticInfoTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueDiagnosticInfoTests.cs deleted file mode 100644 index aa2d5c6..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueDiagnosticInfoTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueDiagnosticInfoTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueDiagnosticInfo))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueDiagnosticInfo).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueDiagnosticInfo), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueErrorTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueErrorTests.cs deleted file mode 100644 index ce36bac..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueErrorTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueErrorTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueError))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueError).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueError), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueExecutionEngineTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueExecutionEngineTests.cs deleted file mode 100644 index af61ecc..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueExecutionEngineTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueExecutionEngineTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueExecutionEngine))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueExecutionEngine).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueExecutionEngine), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueGenericValueTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueGenericValueTests.cs deleted file mode 100644 index 763532b..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueGenericValueTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueGenericValueTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueGenericValue))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueGenericValue).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueGenericValue), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueJITEventListenerTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueJITEventListenerTests.cs deleted file mode 100644 index 8cdf4ab..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueJITEventListenerTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueJITEventListenerTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueJITEventListener))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueJITEventListener).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueJITEventListener), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueLTOCodeGeneratorTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueLTOCodeGeneratorTests.cs deleted file mode 100644 index 2066d19..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueLTOCodeGeneratorTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueLTOCodeGeneratorTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueLTOCodeGenerator))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueLTOCodeGenerator).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueLTOCodeGenerator), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueLTOInputTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueLTOInputTests.cs deleted file mode 100644 index a3deced..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueLTOInputTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueLTOInputTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueLTOInput))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueLTOInput).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueLTOInput), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueLTOModuleTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueLTOModuleTests.cs deleted file mode 100644 index 16a1170..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueLTOModuleTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueLTOModuleTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueLTOModule))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueLTOModule).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueLTOModule), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueMCJITMemoryManagerTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueMCJITMemoryManagerTests.cs deleted file mode 100644 index 420681b..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueMCJITMemoryManagerTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueMCJITMemoryManagerTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueMCJITMemoryManager))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueMCJITMemoryManager).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueMCJITMemoryManager), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueMemoryBufferTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueMemoryBufferTests.cs deleted file mode 100644 index 9a1de02..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueMemoryBufferTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueMemoryBufferTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueMemoryBuffer))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueMemoryBuffer).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueMemoryBuffer), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueMetadataTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueMetadataTests.cs deleted file mode 100644 index 0505200..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueMetadataTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueMetadataTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueMetadata))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueMetadata).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueMetadata), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueModuleFlagEntryTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueModuleFlagEntryTests.cs deleted file mode 100644 index 3e401ba..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueModuleFlagEntryTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueModuleFlagEntryTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueModuleFlagEntry))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueModuleFlagEntry).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueModuleFlagEntry), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueModuleProviderTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueModuleProviderTests.cs deleted file mode 100644 index c0ccada..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueModuleProviderTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueModuleProviderTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueModuleProvider))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueModuleProvider).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueModuleProvider), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueModuleTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueModuleTests.cs deleted file mode 100644 index 3071b0f..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueModuleTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueModuleTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueModule))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueModule).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueModule), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueNamedMDNodeTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueNamedMDNodeTests.cs deleted file mode 100644 index 68f80a3..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueNamedMDNodeTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueNamedMDNodeTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueNamedMDNode))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueNamedMDNode).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueNamedMDNode), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueObjectFileTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueObjectFileTests.cs deleted file mode 100644 index 7e59196..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueObjectFileTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueObjectFileTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueObjectFile))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueObjectFile).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueObjectFile), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaquePassBuilderOptionsTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaquePassBuilderOptionsTests.cs deleted file mode 100644 index 2fffd3d..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaquePassBuilderOptionsTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaquePassBuilderOptionsTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaquePassBuilderOptions))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaquePassBuilderOptions).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaquePassBuilderOptions), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaquePassManagerBuilderTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaquePassManagerBuilderTests.cs deleted file mode 100644 index 6cd5274..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaquePassManagerBuilderTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaquePassManagerBuilderTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaquePassManagerBuilder))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaquePassManagerBuilder).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaquePassManagerBuilder), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaquePassManagerTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaquePassManagerTests.cs deleted file mode 100644 index 67c2834..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaquePassManagerTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaquePassManagerTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaquePassManager))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaquePassManager).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaquePassManager), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaquePassRegistryTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaquePassRegistryTests.cs deleted file mode 100644 index e7da284..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaquePassRegistryTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaquePassRegistryTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaquePassRegistry))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaquePassRegistry).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaquePassRegistry), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueRelocationIteratorTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueRelocationIteratorTests.cs deleted file mode 100644 index eceb722..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueRelocationIteratorTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueRelocationIteratorTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueRelocationIterator))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueRelocationIterator).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueRelocationIterator), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueSectionIteratorTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueSectionIteratorTests.cs deleted file mode 100644 index 22cd66c..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueSectionIteratorTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueSectionIteratorTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueSectionIterator))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueSectionIterator).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueSectionIterator), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueSymbolIteratorTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueSymbolIteratorTests.cs deleted file mode 100644 index b2576e9..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueSymbolIteratorTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueSymbolIteratorTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueSymbolIterator))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueSymbolIterator).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueSymbolIterator), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueTargetDataTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueTargetDataTests.cs deleted file mode 100644 index 1f40a4e..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueTargetDataTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueTargetDataTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueTargetData))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueTargetData).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueTargetData), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueTargetLibraryInfotDataTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueTargetLibraryInfotDataTests.cs deleted file mode 100644 index fbddbf0..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueTargetLibraryInfotDataTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueTargetLibraryInfotDataTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueTargetLibraryInfotData))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueTargetLibraryInfotData).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueTargetLibraryInfotData), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueTargetMachineTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueTargetMachineTests.cs deleted file mode 100644 index 9fbbe43..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueTargetMachineTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueTargetMachineTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueTargetMachine))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueTargetMachine).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueTargetMachine), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueThinLTOCodeGeneratorTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueThinLTOCodeGeneratorTests.cs deleted file mode 100644 index a2679b2..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueThinLTOCodeGeneratorTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueThinLTOCodeGeneratorTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueThinLTOCodeGenerator))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueThinLTOCodeGenerator).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueThinLTOCodeGenerator), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueTypeTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueTypeTests.cs deleted file mode 100644 index f3f0492..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueTypeTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueTypeTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueType))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueType).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueType), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueUseTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueUseTests.cs deleted file mode 100644 index 8c0b4de..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueUseTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueUseTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueUse))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueUse).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueUse), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueValueMetadataEntryTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueValueMetadataEntryTests.cs deleted file mode 100644 index f1bee60..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueValueMetadataEntryTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueValueMetadataEntryTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueValueMetadataEntry))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueValueMetadataEntry).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueValueMetadataEntry), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueValueTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueValueTests.cs deleted file mode 100644 index cb05067..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpaqueValueTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOpaqueValueTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOpaqueValue))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOpaqueValue).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOpaqueValue), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCDependenceMapPairTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCDependenceMapPairTests.cs index 266353d..628940a 100644 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCDependenceMapPairTests.cs +++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCDependenceMapPairTests.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using NUnit.Framework; diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCJITDylibSearchOrderElementTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCJITDylibSearchOrderElementTests.cs new file mode 100644 index 0000000..94071c7 --- /dev/null +++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCJITDylibSearchOrderElementTests.cs @@ -0,0 +1,42 @@ +// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under 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 +// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information. + +using NUnit.Framework; +using System; +using System.Runtime.InteropServices; + +namespace LLVMSharp.Interop.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class LLVMOrcCJITDylibSearchOrderElementTests +{ + /// Validates that the struct is blittable. + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcCJITDylibSearchOrderElement))); + } + + /// Validates that the struct has the right . + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(LLVMOrcCJITDylibSearchOrderElement).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + [Test] + public static void SizeOfTest() + { + if (Environment.Is64BitProcess) + { + Assert.That(sizeof(LLVMOrcCJITDylibSearchOrderElement), Is.EqualTo(16)); + } + else + { + Assert.That(sizeof(LLVMOrcCJITDylibSearchOrderElement), Is.EqualTo(8)); + } + } +} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCLookupSetElementTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCLookupSetElementTests.cs index fce2c5a..beea700 100644 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCLookupSetElementTests.cs +++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCLookupSetElementTests.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using NUnit.Framework; diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolAliasMapEntryTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolAliasMapEntryTests.cs index 1e45350..6dc0cc4 100644 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolAliasMapEntryTests.cs +++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolAliasMapEntryTests.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using NUnit.Framework; diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolAliasMapPairTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolAliasMapPairTests.cs index dfc8068..dfd05e8 100644 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolAliasMapPairTests.cs +++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolAliasMapPairTests.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using NUnit.Framework; diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolFlagsMapPairTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolFlagsMapPairTests.cs index 3392868..e101eeb 100644 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolFlagsMapPairTests.cs +++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolFlagsMapPairTests.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using NUnit.Framework; diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMJITCSymbolMapPairTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolMapPairTests.cs similarity index 61% rename from tests/LLVMSharp.UnitTests/Interop/LLVMJITCSymbolMapPairTests.cs rename to tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolMapPairTests.cs index 0128e7b..24deb79 100644 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMJITCSymbolMapPairTests.cs +++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolMapPairTests.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using NUnit.Framework; @@ -8,27 +8,27 @@ using System.Runtime.InteropServices; namespace LLVMSharp.Interop.UnitTests; -/// Provides validation of the struct. -public static unsafe partial class LLVMJITCSymbolMapPairTests +/// Provides validation of the struct. +public static unsafe partial class LLVMOrcCSymbolMapPairTests { - /// Validates that the struct is blittable. + /// Validates that the struct is blittable. [Test] public static void IsBlittableTest() { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMJITCSymbolMapPair))); + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcCSymbolMapPair))); } - /// Validates that the struct has the right . + /// Validates that the struct has the right . [Test] public static void IsLayoutSequentialTest() { - Assert.That(typeof(LLVMJITCSymbolMapPair).IsLayoutSequential, Is.True); + Assert.That(typeof(LLVMOrcCSymbolMapPair).IsLayoutSequential, Is.True); } - /// Validates that the struct has the correct size. + /// Validates that the struct has the correct size. [Test] public static void SizeOfTest() { - Assert.That(sizeof(LLVMJITCSymbolMapPair), Is.EqualTo(24)); + Assert.That(sizeof(LLVMOrcCSymbolMapPair), Is.EqualTo(24)); } } diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolsListTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolsListTests.cs index 5385948..8e4ebe2 100644 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolsListTests.cs +++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolsListTests.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using NUnit.Framework; diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueDefinitionGeneratorTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueDefinitionGeneratorTests.cs deleted file mode 100644 index 1618986..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueDefinitionGeneratorTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueDefinitionGeneratorTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueDefinitionGenerator))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueDefinitionGenerator).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueDefinitionGenerator), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueDumpObjectsTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueDumpObjectsTests.cs deleted file mode 100644 index 4a7817c..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueDumpObjectsTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueDumpObjectsTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueDumpObjects))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueDumpObjects).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueDumpObjects), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueExecutionSessionTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueExecutionSessionTests.cs deleted file mode 100644 index f236f6c..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueExecutionSessionTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueExecutionSessionTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueExecutionSession))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueExecutionSession).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueExecutionSession), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueIRTransformLayerTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueIRTransformLayerTests.cs deleted file mode 100644 index f768de9..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueIRTransformLayerTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueIRTransformLayerTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueIRTransformLayer))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueIRTransformLayer).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueIRTransformLayer), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueIndirectStubsManagerTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueIndirectStubsManagerTests.cs deleted file mode 100644 index 5245be7..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueIndirectStubsManagerTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueIndirectStubsManagerTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueIndirectStubsManager))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueIndirectStubsManager).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueIndirectStubsManager), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueJITDylibTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueJITDylibTests.cs deleted file mode 100644 index e58833d..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueJITDylibTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueJITDylibTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueJITDylib))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueJITDylib).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueJITDylib), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueJITTargetMachineBuilderTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueJITTargetMachineBuilderTests.cs deleted file mode 100644 index 76a662a..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueJITTargetMachineBuilderTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueJITTargetMachineBuilderTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueJITTargetMachineBuilder))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueJITTargetMachineBuilder).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueJITTargetMachineBuilder), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueLLJITBuilderTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueLLJITBuilderTests.cs deleted file mode 100644 index fd0e441..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueLLJITBuilderTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueLLJITBuilderTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueLLJITBuilder))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueLLJITBuilder).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueLLJITBuilder), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueLLJITTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueLLJITTests.cs deleted file mode 100644 index 10ab625..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueLLJITTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueLLJITTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueLLJIT))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueLLJIT).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueLLJIT), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueLazyCallThroughManagerTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueLazyCallThroughManagerTests.cs deleted file mode 100644 index aae93eb..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueLazyCallThroughManagerTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueLazyCallThroughManagerTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueLazyCallThroughManager))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueLazyCallThroughManager).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueLazyCallThroughManager), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueLookupStateTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueLookupStateTests.cs deleted file mode 100644 index 112cec0..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueLookupStateTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueLookupStateTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueLookupState))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueLookupState).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueLookupState), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueMaterializationResponsibilityTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueMaterializationResponsibilityTests.cs deleted file mode 100644 index 0301898..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueMaterializationResponsibilityTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueMaterializationResponsibilityTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueMaterializationResponsibility))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueMaterializationResponsibility).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueMaterializationResponsibility), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueMaterializationUnitTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueMaterializationUnitTests.cs deleted file mode 100644 index 232fe27..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueMaterializationUnitTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueMaterializationUnitTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueMaterializationUnit))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueMaterializationUnit).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueMaterializationUnit), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueObjectLayerTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueObjectLayerTests.cs deleted file mode 100644 index acbbd4b..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueObjectLayerTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueObjectLayerTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueObjectLayer))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueObjectLayer).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueObjectLayer), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueObjectLinkingLayerTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueObjectLinkingLayerTests.cs deleted file mode 100644 index b88ee2e..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueObjectLinkingLayerTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueObjectLinkingLayerTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueObjectLinkingLayer))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueObjectLinkingLayer).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueObjectLinkingLayer), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueObjectTransformLayerTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueObjectTransformLayerTests.cs deleted file mode 100644 index b98603e..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueObjectTransformLayerTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueObjectTransformLayerTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueObjectTransformLayer))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueObjectTransformLayer).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueObjectTransformLayer), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueResourceTrackerTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueResourceTrackerTests.cs deleted file mode 100644 index 7df42e1..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueResourceTrackerTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueResourceTrackerTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueResourceTracker))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueResourceTracker).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueResourceTracker), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueSymbolStringPoolEntryTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueSymbolStringPoolEntryTests.cs deleted file mode 100644 index 7445a2b..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueSymbolStringPoolEntryTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueSymbolStringPoolEntryTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueSymbolStringPoolEntry))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueSymbolStringPoolEntry).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueSymbolStringPoolEntry), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueSymbolStringPoolTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueSymbolStringPoolTests.cs deleted file mode 100644 index 7e91306..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueSymbolStringPoolTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueSymbolStringPoolTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueSymbolStringPool))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueSymbolStringPool).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueSymbolStringPool), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueThreadSafeContextTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueThreadSafeContextTests.cs deleted file mode 100644 index b5e7e43..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueThreadSafeContextTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueThreadSafeContextTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueThreadSafeContext))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueThreadSafeContext).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueThreadSafeContext), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueThreadSafeModuleTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueThreadSafeModuleTests.cs deleted file mode 100644 index 143e9ad..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcOpaqueThreadSafeModuleTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMOrcOpaqueThreadSafeModuleTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMOrcOpaqueThreadSafeModule))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMOrcOpaqueThreadSafeModule).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMOrcOpaqueThreadSafeModule), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMRemarkOpaqueArgTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMRemarkOpaqueArgTests.cs deleted file mode 100644 index 21d807e..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMRemarkOpaqueArgTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMRemarkOpaqueArgTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMRemarkOpaqueArg))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMRemarkOpaqueArg).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMRemarkOpaqueArg), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMRemarkOpaqueDebugLocTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMRemarkOpaqueDebugLocTests.cs deleted file mode 100644 index 65cf1e5..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMRemarkOpaqueDebugLocTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMRemarkOpaqueDebugLocTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMRemarkOpaqueDebugLoc))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMRemarkOpaqueDebugLoc).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMRemarkOpaqueDebugLoc), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMRemarkOpaqueEntryTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMRemarkOpaqueEntryTests.cs deleted file mode 100644 index 1366fb4..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMRemarkOpaqueEntryTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMRemarkOpaqueEntryTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMRemarkOpaqueEntry))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMRemarkOpaqueEntry).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMRemarkOpaqueEntry), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMRemarkOpaqueParserTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMRemarkOpaqueParserTests.cs deleted file mode 100644 index a7fadf7..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMRemarkOpaqueParserTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMRemarkOpaqueParserTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMRemarkOpaqueParser))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMRemarkOpaqueParser).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMRemarkOpaqueParser), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMRemarkOpaqueStringTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMRemarkOpaqueStringTests.cs deleted file mode 100644 index 3f69ca4..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMRemarkOpaqueStringTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMRemarkOpaqueStringTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMRemarkOpaqueString))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMRemarkOpaqueString).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMRemarkOpaqueString), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMTargetTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMTargetTests.cs deleted file mode 100644 index 44f1891..0000000 --- a/tests/LLVMSharp.UnitTests/Interop/LLVMTargetTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. - -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/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. - -using NUnit.Framework; -using System.Runtime.InteropServices; - -namespace LLVMSharp.Interop.UnitTests; - -/// Provides validation of the struct. -public static unsafe partial class LLVMTargetTests -{ - /// Validates that the struct is blittable. - [Test] - public static void IsBlittableTest() - { - Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(LLVMTarget))); - } - - /// Validates that the struct has the right . - [Test] - public static void IsLayoutSequentialTest() - { - Assert.That(typeof(LLVMTarget).IsLayoutSequential, Is.True); - } - - /// Validates that the struct has the correct size. - [Test] - public static void SizeOfTest() - { - Assert.That(sizeof(LLVMTarget), Is.EqualTo(1)); - } -} diff --git a/tests/LLVMSharp.UnitTests/Interop/LTOObjectBufferTests.cs b/tests/LLVMSharp.UnitTests/Interop/LTOObjectBufferTests.cs index 81dfb8d..7254907 100644 --- a/tests/LLVMSharp.UnitTests/Interop/LTOObjectBufferTests.cs +++ b/tests/LLVMSharp.UnitTests/Interop/LTOObjectBufferTests.cs @@ -1,6 +1,6 @@ // Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information. -// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-14.0.0/llvm/include/llvm-c +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. using NUnit.Framework; diff --git a/tests/LLVMSharp.UnitTests/Interop/llvm_blake3_chunk_stateTests.cs b/tests/LLVMSharp.UnitTests/Interop/llvm_blake3_chunk_stateTests.cs new file mode 100644 index 0000000..1598464 --- /dev/null +++ b/tests/LLVMSharp.UnitTests/Interop/llvm_blake3_chunk_stateTests.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. + +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. + +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace LLVMSharp.Interop.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class llvm_blake3_chunk_stateTests +{ + /// Validates that the struct is blittable. + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(llvm_blake3_chunk_state))); + } + + /// Validates that the struct has the right . + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(llvm_blake3_chunk_state).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(llvm_blake3_chunk_state), Is.EqualTo(112)); + } +} diff --git a/tests/LLVMSharp.UnitTests/Interop/llvm_blake3_hasherTests.cs b/tests/LLVMSharp.UnitTests/Interop/llvm_blake3_hasherTests.cs new file mode 100644 index 0000000..fc701aa --- /dev/null +++ b/tests/LLVMSharp.UnitTests/Interop/llvm_blake3_hasherTests.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. + +// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-15.0.0/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. + +using NUnit.Framework; +using System.Runtime.InteropServices; + +namespace LLVMSharp.Interop.UnitTests; + +/// Provides validation of the struct. +public static unsafe partial class llvm_blake3_hasherTests +{ + /// Validates that the struct is blittable. + [Test] + public static void IsBlittableTest() + { + Assert.That(Marshal.SizeOf(), Is.EqualTo(sizeof(llvm_blake3_hasher))); + } + + /// Validates that the struct has the right . + [Test] + public static void IsLayoutSequentialTest() + { + Assert.That(typeof(llvm_blake3_hasher).IsLayoutSequential, Is.True); + } + + /// Validates that the struct has the correct size. + [Test] + public static void SizeOfTest() + { + Assert.That(sizeof(llvm_blake3_hasher), Is.EqualTo(1912)); + } +} diff --git a/tests/LLVMSharp.UnitTests/LLVMSharp.UnitTests.csproj b/tests/LLVMSharp.UnitTests/LLVMSharp.UnitTests.csproj index 910741f..19f0fc2 100644 --- a/tests/LLVMSharp.UnitTests/LLVMSharp.UnitTests.csproj +++ b/tests/LLVMSharp.UnitTests/LLVMSharp.UnitTests.csproj @@ -2,7 +2,7 @@ - net6.0 + net6.0;net7.0 diff --git a/tests/LLVMSharp.UnitTests/Utilities.cs b/tests/LLVMSharp.UnitTests/Utilities.cs index cbb3a81..7275b0b 100644 --- a/tests/LLVMSharp.UnitTests/Utilities.cs +++ b/tests/LLVMSharp.UnitTests/Utilities.cs @@ -11,14 +11,15 @@ public static class Utilities { public static void EnsurePropertiesWork(this object obj) { - var map = new Dictionary(); + var map = new Dictionary(); + foreach(var p in obj.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public)) { map.Add(p.Name, p.GetValue(obj)); } } - public static LLVMValueRef AddFunction(this LLVMModuleRef module, LLVMTypeRef returnType, string name, LLVMTypeRef[] parameterTypes, Action action) + public static (LLVMTypeRef functionType, LLVMValueRef function) AddFunction(this LLVMModuleRef module, LLVMTypeRef returnType, string name, LLVMTypeRef[] parameterTypes, Action action) { var type = LLVMTypeRef.CreateFunction(returnType, parameterTypes); var func = module.AddFunction(name, type); @@ -26,6 +27,6 @@ public static class Utilities var builder = module.Context.CreateBuilder(); builder.PositionAtEnd(block); action(func, builder); - return func; + return (type, func); } }