diff options
| author | Yong He <yonghe@outlook.com> | 2024-03-23 10:54:01 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-23 10:54:01 -0700 |
| commit | a23adc221b1ea26db3f3313226b629eb9e308b0f (patch) | |
| tree | 6f758d64201f2c606dc3e61394899bff4fa72f51 /source/slang/slang-check-decl.cpp | |
| parent | 9b0df14cdf9d9ea8857b5b9d59505b18020f8414 (diff) | |
Make `-no-mangle` option work, add `-no-hlsl-binding`. (#3817)
Diffstat (limited to 'source/slang/slang-check-decl.cpp')
| -rw-r--r-- | source/slang/slang-check-decl.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source/slang/slang-check-decl.cpp b/source/slang/slang-check-decl.cpp index 093e2599f..c117dbc14 100644 --- a/source/slang/slang-check-decl.cpp +++ b/source/slang/slang-check-decl.cpp @@ -1772,7 +1772,13 @@ namespace Slang parentAggTypeDecl->unionTagsWith(getTypeTags(varDeclRefType)); } } - + if (getOptionSet().getBoolOption(CompilerOptionName::NoMangle) && + isGlobalDecl(varDecl)) + { + // If -no-mangle option is set, we will add `ExternCpp` modifier to all + // global variables and struct fields to prevent mangling. + addModifier(varDecl, m_astBuilder->create<ExternCppModifier>()); + } checkVisibility(varDecl); } |
