summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-mangle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-mangle.cpp')
-rw-r--r--source/slang/slang-mangle.cpp80
1 files changed, 60 insertions, 20 deletions
diff --git a/source/slang/slang-mangle.cpp b/source/slang/slang-mangle.cpp
index eb26540b4..4257f5dc2 100644
--- a/source/slang/slang-mangle.cpp
+++ b/source/slang/slang-mangle.cpp
@@ -141,26 +141,56 @@ void emitBaseType(ManglingContext* context, BaseType baseType)
{
switch (baseType)
{
- case BaseType::Void: emitRaw(context, "V"); break;
- case BaseType::Bool: emitRaw(context, "b"); break;
- case BaseType::Int8: emitRaw(context, "c"); break;
- case BaseType::Int16: emitRaw(context, "s"); break;
- case BaseType::Int: emitRaw(context, "i"); break;
- case BaseType::Int64: emitRaw(context, "I"); break;
- case BaseType::UInt8: emitRaw(context, "C"); break;
- case BaseType::UInt16: emitRaw(context, "S"); break;
- case BaseType::UInt: emitRaw(context, "u"); break;
- case BaseType::UInt64: emitRaw(context, "U"); break;
- case BaseType::Half: emitRaw(context, "h"); break;
- case BaseType::Float: emitRaw(context, "f"); break;
- case BaseType::Double: emitRaw(context, "d"); break;
- case BaseType::UIntPtr: emitRaw(context, "up"); break;
+ case BaseType::Void:
+ emitRaw(context, "V");
+ break;
+ case BaseType::Bool:
+ emitRaw(context, "b");
+ break;
+ case BaseType::Int8:
+ emitRaw(context, "c");
+ break;
+ case BaseType::Int16:
+ emitRaw(context, "s");
+ break;
+ case BaseType::Int:
+ emitRaw(context, "i");
+ break;
+ case BaseType::Int64:
+ emitRaw(context, "I");
+ break;
+ case BaseType::UInt8:
+ emitRaw(context, "C");
+ break;
+ case BaseType::UInt16:
+ emitRaw(context, "S");
+ break;
+ case BaseType::UInt:
+ emitRaw(context, "u");
+ break;
+ case BaseType::UInt64:
+ emitRaw(context, "U");
+ break;
+ case BaseType::Half:
+ emitRaw(context, "h");
+ break;
+ case BaseType::Float:
+ emitRaw(context, "f");
+ break;
+ case BaseType::Double:
+ emitRaw(context, "d");
+ break;
+ case BaseType::UIntPtr:
+ emitRaw(context, "up");
+ break;
case BaseType::IntPtr:
emitRaw(context, "ip");
break;
break;
- default: SLANG_UNEXPECTED("unimplemented case in base type mangling"); break;
+ default:
+ SLANG_UNEXPECTED("unimplemented case in base type mangling");
+ break;
}
}
@@ -567,11 +597,21 @@ void emitQualifiedName(ManglingContext* context, DeclRef<Decl> declRef, bool inc
ParameterDirection paramDirection = getParameterDirection(paramDeclRef.getDecl());
switch (paramDirection)
{
- case kParameterDirection_Ref: emitRaw(context, "r_"); break;
- case kParameterDirection_ConstRef: emitRaw(context, "c_"); break;
- case kParameterDirection_Out: emitRaw(context, "o_"); break;
- case kParameterDirection_InOut: emitRaw(context, "io_"); break;
- case kParameterDirection_In: emitRaw(context, "i_"); break;
+ case kParameterDirection_Ref:
+ emitRaw(context, "r_");
+ break;
+ case kParameterDirection_ConstRef:
+ emitRaw(context, "c_");
+ break;
+ case kParameterDirection_Out:
+ emitRaw(context, "o_");
+ break;
+ case kParameterDirection_InOut:
+ emitRaw(context, "io_");
+ break;
+ case kParameterDirection_In:
+ emitRaw(context, "i_");
+ break;
default:
StringBuilder errMsg;
errMsg << "Unknown parameter direction: " << paramDirection;