summaryrefslogtreecommitdiff
path: root/source/slang/mangle.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2017-11-07 16:55:08 -0500
committerGitHub <noreply@github.com>2017-11-07 16:55:08 -0500
commit417c9f3939e0545125317f49316a6dfb060d6c2c (patch)
treeb7560ff41a43cda235ab7db8a19fd2371e3f7ba8 /source/slang/mangle.cpp
parentd1b45f3059e100d096327eb178c1bac365e564f1 (diff)
parenta54364303241e3cd7c3d075ee1dd4164915d939f (diff)
Merge pull request #256 from tfoleyNV/falcor-integration-work
Falcor integration work
Diffstat (limited to 'source/slang/mangle.cpp')
-rw-r--r--source/slang/mangle.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/source/slang/mangle.cpp b/source/slang/mangle.cpp
index b9fba6380..dca48f671 100644
--- a/source/slang/mangle.cpp
+++ b/source/slang/mangle.cpp
@@ -152,6 +152,18 @@ namespace Slang
// value, so we certainly don't want to include
// it in the mangling.
}
+ else if( auto genericParamIntVal = dynamic_cast<GenericParamIntVal*>(val) )
+ {
+ // TODO: we shouldn't be including the names of generic parameters
+ // anywhere in mangled names, since changing parameter names
+ // shouldn't break binary compatibility.
+ //
+ // The right solution in the long term is for generic parameters
+ // (both types and values) to be mangled in terms of their
+ // "depth" (how many outer generics) and "index" (which
+ // parameter are they at the specified depth).
+ emitName(context, genericParamIntVal->declRef.GetName());
+ }
else
{
SLANG_UNEXPECTED("unimplemented case in mangling");