Browse Source

Added float128 to the marshalling structures in the C# generator. (#857)

pull/837/merge
Kimon Topouzidis 8 years ago committed by Dimitar Dobrev
parent
commit
e8e03f7aae
  1. 20
      src/CppParser/Bindings/CLI/Target.cpp
  2. 12
      src/CppParser/Bindings/CLI/Target.h
  3. 34
      src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs
  4. 34
      src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs
  5. 4
      src/CppParser/Parser.cpp
  6. 4
      src/CppParser/Target.cpp
  7. 4
      src/CppParser/Target.h

20
src/CppParser/Bindings/CLI/Target.cpp

@ -430,6 +430,26 @@ void CppSharp::Parser::ParserTargetInfo::WCharWidth::set(unsigned int value) @@ -430,6 +430,26 @@ void CppSharp::Parser::ParserTargetInfo::WCharWidth::set(unsigned int value)
((::CppSharp::CppParser::ParserTargetInfo*)NativePtr)->wCharWidth = value;
}
unsigned int CppSharp::Parser::ParserTargetInfo::Float128Align::get()
{
return ((::CppSharp::CppParser::ParserTargetInfo*)NativePtr)->float128Align;
}
void CppSharp::Parser::ParserTargetInfo::Float128Align::set(unsigned int value)
{
((::CppSharp::CppParser::ParserTargetInfo*)NativePtr)->float128Align = value;
}
unsigned int CppSharp::Parser::ParserTargetInfo::Float128Width::get()
{
return ((::CppSharp::CppParser::ParserTargetInfo*)NativePtr)->float128Width;
}
void CppSharp::Parser::ParserTargetInfo::Float128Width::set(unsigned int value)
{
((::CppSharp::CppParser::ParserTargetInfo*)NativePtr)->float128Width = value;
}
System::String^ CppSharp::Parser::ParserTargetInfo::ABI::get()
{
auto __ret = ((::CppSharp::CppParser::ParserTargetInfo*)NativePtr)->getABI();

12
src/CppParser/Bindings/CLI/Target.h

@ -284,6 +284,18 @@ namespace CppSharp @@ -284,6 +284,18 @@ namespace CppSharp
void set(unsigned int);
}
property unsigned int Float128Align
{
unsigned int get();
void set(unsigned int);
}
property unsigned int Float128Width
{
unsigned int get();
void set(unsigned int);
}
property System::String^ ABI
{
System::String^ get();

34
src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs

@ -16805,7 +16805,7 @@ namespace CppSharp @@ -16805,7 +16805,7 @@ namespace CppSharp
public unsafe partial class ParserTargetInfo : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 176)]
[StructLayout(LayoutKind.Explicit, Size = 184)]
public partial struct __Internal
{
[FieldOffset(0)]
@ -16925,6 +16925,12 @@ namespace CppSharp @@ -16925,6 +16925,12 @@ namespace CppSharp
[FieldOffset(172)]
internal uint wCharWidth;
[FieldOffset(176)]
internal uint float128Align;
[FieldOffset(180)]
internal uint float128Width;
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
EntryPoint="??0ParserTargetInfo@CppParser@CppSharp@@QAE@XZ")]
@ -17521,6 +17527,32 @@ namespace CppSharp @@ -17521,6 +17527,32 @@ namespace CppSharp
}
}
public uint Float128Align
{
get
{
return ((global::CppSharp.Parser.ParserTargetInfo.__Internal*) __Instance)->float128Align;
}
set
{
((global::CppSharp.Parser.ParserTargetInfo.__Internal*) __Instance)->float128Align = value;
}
}
public uint Float128Width
{
get
{
return ((global::CppSharp.Parser.ParserTargetInfo.__Internal*) __Instance)->float128Width;
}
set
{
((global::CppSharp.Parser.ParserTargetInfo.__Internal*) __Instance)->float128Width = value;
}
}
public string ABI
{
get

34
src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs

@ -16805,7 +16805,7 @@ namespace CppSharp @@ -16805,7 +16805,7 @@ namespace CppSharp
public unsafe partial class ParserTargetInfo : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 184)]
[StructLayout(LayoutKind.Explicit, Size = 192)]
public partial struct __Internal
{
[FieldOffset(0)]
@ -16925,6 +16925,12 @@ namespace CppSharp @@ -16925,6 +16925,12 @@ namespace CppSharp
[FieldOffset(180)]
internal uint wCharWidth;
[FieldOffset(184)]
internal uint float128Align;
[FieldOffset(188)]
internal uint float128Width;
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="??0ParserTargetInfo@CppParser@CppSharp@@QEAA@XZ")]
@ -17521,6 +17527,32 @@ namespace CppSharp @@ -17521,6 +17527,32 @@ namespace CppSharp
}
}
public uint Float128Align
{
get
{
return ((global::CppSharp.Parser.ParserTargetInfo.__Internal*) __Instance)->float128Align;
}
set
{
((global::CppSharp.Parser.ParserTargetInfo.__Internal*) __Instance)->float128Align = value;
}
}
public uint Float128Width
{
get
{
return ((global::CppSharp.Parser.ParserTargetInfo.__Internal*) __Instance)->float128Width;
}
set
{
((global::CppSharp.Parser.ParserTargetInfo.__Internal*) __Instance)->float128Width = value;
}
}
public string ABI
{
get

4
src/CppParser/Parser.cpp

@ -1919,7 +1919,7 @@ static PrimitiveType WalkBuiltinType(const clang::BuiltinType* Builtin) @@ -1919,7 +1919,7 @@ static PrimitiveType WalkBuiltinType(const clang::BuiltinType* Builtin)
case clang::BuiltinType::Float: return PrimitiveType::Float;
case clang::BuiltinType::Double: return PrimitiveType::Double;
case clang::BuiltinType::LongDouble: return PrimitiveType::LongDouble;
case clang::BuiltinType::Float128: return PrimitiveType::Half;
case clang::BuiltinType::Float128: return PrimitiveType::Float128;
case clang::BuiltinType::NullPtr: return PrimitiveType::Null;
@ -4326,6 +4326,8 @@ ParserTargetInfo* Parser::GetTargetInfo() @@ -4326,6 +4326,8 @@ ParserTargetInfo* Parser::GetTargetInfo()
parserTargetInfo->pointerWidth = TI.getPointerWidth(0);
parserTargetInfo->wCharAlign = TI.getWCharAlign();
parserTargetInfo->wCharWidth = TI.getWCharWidth();
parserTargetInfo->float128Align = TI.getFloat128Align();
parserTargetInfo->float128Width = TI.getFloat128Width();
return parserTargetInfo;
}

4
src/CppParser/Target.cpp

@ -38,7 +38,9 @@ ParserTargetInfo::ParserTargetInfo() : @@ -38,7 +38,9 @@ ParserTargetInfo::ParserTargetInfo() :
pointerAlign(0),
pointerWidth(0),
wCharAlign(0),
wCharWidth(0)
wCharWidth(0),
float128Align(0),
float128Width(0)
{
}

4
src/CppParser/Target.h

@ -72,6 +72,8 @@ struct CS_API ParserTargetInfo @@ -72,6 +72,8 @@ struct CS_API ParserTargetInfo
unsigned int pointerWidth;
unsigned int wCharAlign;
unsigned int wCharWidth;
unsigned int float128Align;
unsigned int float128Width;
};
} }
} }

Loading…
Cancel
Save