Skip to content

Commit 4701d9c

Browse files
committed
Explicit layouts.
1 parent 05eb5f3 commit 4701d9c

File tree

10 files changed

+41684
-1521
lines changed

10 files changed

+41684
-1521
lines changed

src/CppParser/Bindings/CSharp/arm64-apple-darwin/CppSharp.CppParser.cs

+8,430-325
Large diffs are not rendered by default.

src/CppParser/Bindings/CSharp/arm64-apple-darwin/Std.cs

+34-11
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ namespace Std
5959
{
6060
namespace CharTraits
6161
{
62-
[StructLayout(LayoutKind.Sequential, Size = 1)]
62+
[StructLayout(LayoutKind.Explicit, Size = 1)]
6363
public unsafe partial struct __Internal
6464
{
6565
}
@@ -166,21 +166,24 @@ namespace Std
166166
{
167167
namespace CompressedPair
168168
{
169-
[StructLayout(LayoutKind.Sequential, Size = 24)]
169+
[StructLayout(LayoutKind.Explicit, Size = 24)]
170170
public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C_S___rep_S2_
171171
{
172+
[FieldOffset(0)]
172173
internal global::Std.BasicString.Rep.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C __value_;
173174
}
174175

175-
[StructLayout(LayoutKind.Sequential, Size = 8)]
176+
[StructLayout(LayoutKind.Explicit, Size = 8)]
176177
public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S1_
177178
{
179+
[FieldOffset(0)]
178180
internal __IntPtr __value_;
179181
}
180182

181-
[StructLayout(LayoutKind.Sequential, Size = 8)]
183+
[StructLayout(LayoutKind.Explicit, Size = 8)]
182184
public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair___i___N_std_N___1_S_allocator__i
183185
{
186+
[FieldOffset(0)]
184187
internal __IntPtr __value_;
185188
}
186189
}
@@ -190,7 +193,7 @@ namespace Std
190193
{
191194
namespace Allocator
192195
{
193-
[StructLayout(LayoutKind.Sequential, Size = 1)]
196+
[StructLayout(LayoutKind.Explicit, Size = 1)]
194197
public unsafe partial struct __Internal
195198
{
196199
[SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__19allocatorIcEC2B8un170006Ev", CallingConvention = __CallingConvention.Cdecl)]
@@ -301,9 +304,10 @@ namespace Std
301304
{
302305
namespace BasicString
303306
{
304-
[StructLayout(LayoutKind.Sequential, Size = 24)]
307+
[StructLayout(LayoutKind.Explicit, Size = 24)]
305308
public unsafe partial struct __Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C
306309
{
310+
[FieldOffset(0)]
307311
internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C_S___rep_S2_ __r_;
308312

309313
[SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170006Ev", CallingConvention = __CallingConvention.Cdecl)]
@@ -352,12 +356,19 @@ public unsafe partial struct __Internal
352356

353357
namespace Long
354358
{
355-
[StructLayout(LayoutKind.Sequential, Size = 24)]
359+
[StructLayout(LayoutKind.Explicit, Size = 24)]
356360
public unsafe partial struct __Internal
357361
{
362+
[FieldOffset(0)]
358363
internal __IntPtr __data_;
364+
365+
[FieldOffset(8)]
359366
internal ulong __size_;
367+
368+
[FieldOffset(16)]
360369
internal ulong __cap_;
370+
371+
[FieldOffset(23)]
361372
internal ulong __is_long_;
362373
}
363374

@@ -385,9 +396,10 @@ public unsafe partial struct __Internalc__N_std_N___1_S_basic_string__C___N_std_
385396

386397
namespace Raw
387398
{
388-
[StructLayout(LayoutKind.Sequential, Size = 24)]
399+
[StructLayout(LayoutKind.Explicit, Size = 24)]
389400
public unsafe partial struct __Internal
390401
{
402+
[FieldOffset(0)]
391403
internal fixed ulong __words[3];
392404
}
393405
}
@@ -526,19 +538,29 @@ namespace Std
526538
{
527539
namespace Vector
528540
{
529-
[StructLayout(LayoutKind.Sequential, Size = 24)]
541+
[StructLayout(LayoutKind.Explicit, Size = 24)]
530542
public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_
531543
{
544+
[FieldOffset(0)]
532545
internal __IntPtr __begin_;
546+
547+
[FieldOffset(8)]
533548
internal __IntPtr __end_;
549+
550+
[FieldOffset(16)]
534551
internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S1_ __end_cap_;
535552
}
536553

537-
[StructLayout(LayoutKind.Sequential, Size = 24)]
554+
[StructLayout(LayoutKind.Explicit, Size = 24)]
538555
public unsafe partial struct __Internalc__N_std_N___1_S_vector__i___N_std_N___1_S_allocator__i
539556
{
557+
[FieldOffset(0)]
540558
internal __IntPtr __begin_;
559+
560+
[FieldOffset(8)]
541561
internal __IntPtr __end_;
562+
563+
[FieldOffset(16)]
542564
internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair___i___N_std_N___1_S_allocator__i __end_cap_;
543565
}
544566
}
@@ -548,9 +570,10 @@ namespace Std
548570
{
549571
namespace TreeEndNode
550572
{
551-
[StructLayout(LayoutKind.Sequential, Size = 8)]
573+
[StructLayout(LayoutKind.Explicit, Size = 8)]
552574
public unsafe partial struct __Internal_Ptr
553575
{
576+
[FieldOffset(0)]
554577
internal __IntPtr __left_;
555578
}
556579
}

0 commit comments

Comments
 (0)