summaryrefslogtreecommitdiffstats
path: root/source/core/slang-string.cpp
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2021-04-01 13:39:11 -0400
committerGitHub <noreply@github.com>2021-04-01 10:39:11 -0700
commitfa31d21ba92669a521a7768467246918e3947e02 (patch)
treeaf98a593e24bc6309ac4d11a59562be4b22c93d7 /source/core/slang-string.cpp
parent3f1632a1450a5879f337b4bd178e48880cd583f8 (diff)
Added compiler-core project (#1775)
* #include an absolute path didn't work - because paths were taken to always be relative. * Split out compiler-core initially with just slang-source-loc.cpp * More lexer, name, token to compiler-core. * Split Lexer and Core diagnostics. * Move slang-file-system to core. * Add slang-file-system to core. * More DownstreamCompiler into compiler-core * Fix typo. * Add compiler-core to bootstrap proj. * Small fixes to premake * For linux try with compiler-core * Remove compiler-core from examples. * Added NameConventionUtil to compiler-core * Add global function to CharUtil to *hopefully* avoid linking issue. * Hack to make linkage of CharUtil work on linux.
Diffstat (limited to 'source/core/slang-string.cpp')
-rw-r--r--source/core/slang-string.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/core/slang-string.cpp b/source/core/slang-string.cpp
index 62bc19754..0a5b7d260 100644
--- a/source/core/slang-string.cpp
+++ b/source/core/slang-string.cpp
@@ -5,6 +5,12 @@
namespace Slang
{
+ // HACK!
+ // JS: Many of the inlined functions of CharUtil just access a global map. That referencing this global is *NOT* enough to
+ // link correctly with CharUtil on linux for a shared library. The following call exists to try and force linkage of CharUtil
+ // for anything that uses core
+ static const auto s_charUtilLink = CharUtil::_ensureLink();
+
// TODO: this belongs in a different file:
SLANG_RETURN_NEVER void signalUnexpectedError(char const* message)