Add support for WebAssembly C++ ABI to parser and AST converter.

This commit is contained in:
Joao Matos 2023-02-03 17:52:59 +00:00
Родитель e76514bbdb
Коммит 813cf1fb74
11 изменённых файлов: 850 добавлений и 828 удалений

Просмотреть файл

@ -11,7 +11,8 @@ namespace CppSharp.AST
Microsoft,
ARM,
iOS,
iOS64
iOS64,
WebAssembly
}
/// <summary>

Просмотреть файл

@ -256,7 +256,8 @@ namespace CppSharp
Microsoft = 1,
ARM = 2,
iOS = 3,
iOS64 = 4
iOS64 = 4,
WebAssembly = 5
};
public enum class RecordArgABI

Просмотреть файл

@ -6301,7 +6301,8 @@ namespace CppSharp
Microsoft = 1,
ARM = 2,
iOS = 3,
iOS64 = 4
iOS64 = 4,
WebAssembly = 5
}
public enum RecordArgABI

Просмотреть файл

@ -6301,7 +6301,8 @@ namespace CppSharp
Microsoft = 1,
ARM = 2,
iOS = 3,
iOS64 = 4
iOS64 = 4,
WebAssembly = 5
}
public enum RecordArgABI

Просмотреть файл

@ -6301,7 +6301,8 @@ namespace CppSharp
Microsoft = 1,
ARM = 2,
iOS = 3,
iOS64 = 4
iOS64 = 4,
WebAssembly = 5
}
public enum RecordArgABI

Просмотреть файл

@ -6301,7 +6301,8 @@ namespace CppSharp
Microsoft = 1,
ARM = 2,
iOS = 3,
iOS64 = 4
iOS64 = 4,
WebAssembly = 5
}
public enum RecordArgABI

Просмотреть файл

@ -6301,7 +6301,8 @@ namespace CppSharp
Microsoft = 1,
ARM = 2,
iOS = 3,
iOS64 = 4
iOS64 = 4,
WebAssembly = 5
}
public enum RecordArgABI

Просмотреть файл

@ -6301,7 +6301,8 @@ namespace CppSharp
Microsoft = 1,
ARM = 2,
iOS = 3,
iOS64 = 4
iOS64 = 4,
WebAssembly = 5
}
public enum RecordArgABI

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -104,6 +104,8 @@ static CppAbi GetClassLayoutAbi(clang::TargetCXXABI::Kind abi)
return CppAbi::iOS;
case clang::TargetCXXABI::AppleARM64:
return CppAbi::iOS64;
case clang::TargetCXXABI::WebAssembly:
return CppAbi::WebAssembly;
default:
llvm_unreachable("Unsupported C++ ABI kind");
}

Просмотреть файл

@ -1719,6 +1719,8 @@ namespace CppSharp
return AST.CppAbi.iOS;
case CppAbi.iOS64:
return AST.CppAbi.iOS64;
case CppAbi.WebAssembly:
return AST.CppAbi.WebAssembly;
default:
throw new ArgumentOutOfRangeException("abi");
}