Browse Source

Fix the "unused function" warning caused by UuidStrHash (#2848)

Minmin Gong 5 năm trước cách đây
mục cha
commit
002ed9737e
2 tập tin đã thay đổi với 20 bổ sung12 xóa
  1. 2 12
      include/dxc/Support/WinAdapter.h
  2. 18 0
      lib/DxcSupport/WinAdapter.cpp

+ 2 - 12
include/dxc/Support/WinAdapter.h

@@ -561,20 +561,10 @@ enum tagSTATFLAG {
 
 //===--------------------- UUID Related Macros ----------------------------===//
 
-static size_t UuidStrHash(const char *k) {
-  long h = 0;
-  while (*k) {
-    h = (h << 4) + *(k++);
-    long g = h & 0xF0000000L;
-    if (g != 0)
-      h ^= g >> 24;
-    h &= ~g;
-  }
-  return h;
-}
-
 #ifdef __EMULATE_UUID
 
+size_t UuidStrHash(const char* k);
+
 // The following macros are defined to facilitate the lack of 'uuid' on Linux.
 #define DECLARE_CROSS_PLATFORM_UUIDOF(T)                                       \
 public:                                                                        \

+ 18 - 0
lib/DxcSupport/WinAdapter.cpp

@@ -12,6 +12,24 @@
 #include "dxc/Support/WinAdapter.h"
 #include "dxc/Support/WinFunctions.h"
 
+//===--------------------- UUID Related Macros ----------------------------===//
+
+#ifdef __EMULATE_UUID
+
+size_t UuidStrHash(const char* k) {
+    long h = 0;
+    while (*k) {
+        h = (h << 4) + *(k++);
+        long g = h & 0xF0000000L;
+        if (g != 0)
+            h ^= g >> 24;
+        h &= ~g;
+    }
+    return h;
+}
+
+#endif // __EMULATE_UUID
+
 DEFINE_CROSS_PLATFORM_UUIDOF(IUnknown)
 DEFINE_CROSS_PLATFORM_UUIDOF(INoMarshal)
 DEFINE_CROSS_PLATFORM_UUIDOF(IStream)