You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Cleanup to resolves some bugs and codegen issues (#215)
* Adding an option for generating a VtblIndex attribute
* Adding tests validating the VtblIndexAttribute, NativeInheritanceAttribute, and explicit vtbl generation
* Move fnptr and nint codegen to be part of latest by default
* Ensure multi-dimensional fixed-sized buffers use the correct name for the first field
* Ensure multi-dimensional buffers are correctly handled for variable declarations
* Ensure we use main and beta3 in our CI and versions
Copy file name to clipboardExpand all lines: README.md
+13-12Lines changed: 13 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,10 +4,10 @@ ClangSharp provides Clang bindings written in C#. It is self-hosted and auto-gen
4
4
5
5
| Job | Debug Status | Release Status |
6
6
| --- | ------------ | -------------- |
7
-
| Windows x86 |[](https://dev.azure.com/ms/ClangSharp/_build/latest?definitionId=155&branchName=master)|[](https://dev.azure.com/ms/ClangSharp/_build/latest?definitionId=155&branchName=master)|
8
-
| Windows x64 |[](https://dev.azure.com/ms/ClangSharp/_build/latest?definitionId=155&branchName=master)|[](https://dev.azure.com/ms/ClangSharp/_build/latest?definitionId=155&branchName=master)|
| Windows x86 |[](https://dev.azure.com/ms/ClangSharp/_build/latest?definitionId=155&branchName=main)|[](https://dev.azure.com/ms/ClangSharp/_build/latest?definitionId=155&branchName=main)|
8
+
| Windows x64 |[](https://dev.azure.com/ms/ClangSharp/_build/latest?definitionId=155&branchName=main)|[](https://dev.azure.com/ms/ClangSharp/_build/latest?definitionId=155&branchName=main)|
A response file allows you to specify and checkin the command line arguments in a text file, with one argument per line. For example: https://github.com/microsoft/ClangSharp/blob/master/sources/ClangSharpPInvokeGenerator/Properties/GenerateClang.rsp
96
+
A response file allows you to specify and checkin the command line arguments in a text file, with one argument per line. For example: https://github.com/microsoft/ClangSharp/blob/main/sources/ClangSharpPInvokeGenerator/Properties/GenerateClang.rsp
97
97
At a minimum, the command line expects one or more input files (`-f`), an output namespace (`-n`), and an output location (`-o`). A typical response file may also specify explicit files to traverse, configuration options, name remappings, and other fixups.
98
98
99
99
The full set of available switches:
@@ -194,7 +194,11 @@ Options:
194
194
are commonly encountered for opaque handle like types such as HWND.
195
195
exclude-enum-operators Bindings for operators over enum types should not be generated. These are
196
196
largely unnecessary in C# as the operators are available by default.
197
+
exclude-fnptr-codegen Generated bindings for latest or preview codegen should not use function
198
+
pointers.
197
199
exclude-funcs-with-body Bindings for functions with bodies should not be generated.
200
+
preview-codegen-nint Generated bindings for latest or preview codegen should not use nint or
201
+
nuint.
198
202
exclude-using-statics-for-enums Enum usages should be fully qualified and should not include a
199
203
corresponding 'using static EnumName;'
200
204
@@ -209,24 +213,21 @@ Options:
209
213
210
214
generate-aggressive-inlining [MethodImpl(MethodImplOptions.AggressiveInlining)] should be added to
211
215
generated helper functions.
212
-
generate-cpp-attributes A[CppAttributeList("")] should be generated to document the encountered C++
216
+
generate-cpp-attributes [CppAttributeList("")] should be generated to document the encountered C++
213
217
attributes.
214
218
generate-macro-bindings Bindings for macro-definitions should be generated. This currently only
215
219
works with value like macros and not function-like ones.
216
-
generate-native-inheritance-attribute A[NativeInheritance("")] attribute should be generated to document the
220
+
generate-native-inheritance-attribute [NativeInheritance("")] attribute should be generated to document the
217
221
encountered C++ base type.
222
+
generate-vtbl-index-attribute [VtblIndex(#)] attribute should be generated to document the underlying
223
+
VTBL index for a helper method.
218
224
219
225
log-exclusions Alist of excluded declaration types should be generated. This will also log
220
226
if the exclusion was due to an exact or partial match.
221
227
log-potential-typedef-remappings Alist of potential typedef remappings should be generated. This can help
222
228
identify missing remappings.
223
229
log-visited-files Alist of the visited files should be generated. This can help identify
224
230
traversal issues.
225
-
226
-
preview-codegen-fnptr Generated bindings should use function pointers instead of IntPtr where
227
-
possible.
228
-
preview-codegen-nint Generated bindings should use nint and nuint instead of IntPtr and UIntPtr
Copy file name to clipboardExpand all lines: packages/libClangSharp/libClangSharp.runtime.ubuntu.18.04-x64/libClangSharp.runtime.ubuntu.18.04-x64.nuspec
Copy file name to clipboardExpand all lines: packages/libClangSharp/libClangSharp.runtime.ubuntu.20.04-x64/libClangSharp.runtime.ubuntu.20.04-x64.nuspec
0 commit comments