summaryrefslogtreecommitdiff
path: root/source/core
diff options
context:
space:
mode:
authorEllie Hermaszewska <ellieh@nvidia.com>2024-10-16 00:38:39 +0800
committerGitHub <noreply@github.com>2024-10-15 09:38:39 -0700
commit66b103180e168c597f3c246c68a9886b69707493 (patch)
tree1cf67b897d9e9fe897108a92fa8bb312a5de9f4e /source/core
parent9e3b0367cfd63f21a0519b61b6fd13e94dac1c51 (diff)
Move C interface from slang.h to slang-deprecated.h (#5301)
* Squash redundant move warnings * Move C interface from slang.h to slang-deprecated.h spGetBuildTagString remains, because it's useful to have before the global session exists. This C API is used quite pervasively in the C++ helpers (for example slang::UserAttribute. It's not trivial to move these to slang-deprecated.h as they're entangled with some enums which are themselves used elsewhere in the compiler. The fact that these helpers use the C API can be viewed as an implementation detail for now, and this usage moved to slang-deprecated in due course. Closes https://github.com/shader-slang/slang/issues/4758 * Squash warnings for our usage of our deprecated API --------- Co-authored-by: Yong He <yonghe@outlook.com>
Diffstat (limited to 'source/core')
-rw-r--r--source/core/slang-common.h22
-rw-r--r--source/core/slang-persistent-cache.cpp2
-rw-r--r--source/core/slang-string-util.cpp4
3 files changed, 25 insertions, 3 deletions
diff --git a/source/core/slang-common.h b/source/core/slang-common.h
index 855ea08db..8c84894ca 100644
--- a/source/core/slang-common.h
+++ b/source/core/slang-common.h
@@ -181,6 +181,28 @@ public:
# define SLANG_EXHAUSTIVE_SWITCH_END
#endif
+#if SLANG_GCC
+# define SLANG_ALLOW_DEPRECATED_BEGIN \
+ _Pragma("GCC diagnostic push"); \
+ _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
+# define SLANG_ALLOW_DEPRECATED_END \
+ _Pragma("GCC diagnostic pop");
+#elif SLANG_CLANG
+# define SLANG_ALLOW_DEPRECATED_BEGIN \
+ _Pragma("clang diagnostic push"); \
+ _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"");
+# define SLANG_ALLOW_DEPRECATED_END \
+ _Pragma("clang diagnostic pop");
+#elif SLANG_VC
+# define SLANG_ALLOW_DEPRECATED_BEGIN \
+ _Pragma("warning(push)"); \
+ _Pragma("warning(disable : 4996)");
+# define SLANG_ALLOW_DEPRECATED_END \
+ _Pragma("warning(pop)");
+#else
+# define SLANG_ALLOW_DEPRECATED_BEGIN
+# define SLANG_ALLOW_DEPRECATED_END
+#endif
//
// Use `SLANG_ASSUME(myBoolExpression);` to inform the compiler that the condition is true.
diff --git a/source/core/slang-persistent-cache.cpp b/source/core/slang-persistent-cache.cpp
index d934d1b26..2b4113e16 100644
--- a/source/core/slang-persistent-cache.cpp
+++ b/source/core/slang-persistent-cache.cpp
@@ -226,7 +226,7 @@ String PersistentCache::getEntryFileName(const Key& key)
{
StringBuilder str;
str << m_cacheDirectory << "/" << key.toString();
- return std::move(str);
+ return str;
}
struct CacheIndexHeader
diff --git a/source/core/slang-string-util.cpp b/source/core/slang-string-util.cpp
index c7625e1e0..79f7307dc 100644
--- a/source/core/slang-string-util.cpp
+++ b/source/core/slang-string-util.cpp
@@ -332,7 +332,7 @@ UnownedStringSlice StringUtil::getAtInSplit(const UnownedStringSlice& in, char s
append(format, args, builder);
va_end(args);
- return std::move(builder);
+ return builder;
}
/* static */UnownedStringSlice StringUtil::getSlice(ISlangBlob* blob)
@@ -384,7 +384,7 @@ ComPtr<ISlangBlob> StringUtil::createStringBlob(const String& string)
}
builder.appendInPlace(dstChars, numChars);
- return std::move(builder);
+ return builder;
}
/* static */String StringUtil::calcCharReplaced(const String& string, char fromChar, char toChar)