Browse Source

[spirv] Fix bug in returning unique bool constants.

Ehsan Nasiri 6 năm trước cách đây
mục cha
commit
41a298c3a4
1 tập tin đã thay đổi với 8 bổ sung4 xóa
  1. 8 4
      tools/clang/lib/SPIRV/SpirvBuilder.cpp

+ 8 - 4
tools/clang/lib/SPIRV/SpirvBuilder.cpp

@@ -975,15 +975,19 @@ SpirvConstant *SpirvBuilder::getConstantFloat64(double value, bool specConst) {
 SpirvConstant *SpirvBuilder::getConstantBool(bool value, bool specConst) {
   if (value) {
     if (specConst) {
-      return boolTrueSpecConstant;
+      if (boolTrueSpecConstant)
+        return boolTrueSpecConstant;
     } else {
-      return boolTrueConstant;
+      if (boolTrueConstant)
+        return boolTrueConstant;
     }
   } else {
     if (specConst) {
-      return boolFalseSpecConstant;
+      if (boolFalseSpecConstant)
+        return boolFalseSpecConstant;
     } else {
-      return boolFalseConstant;
+      if (boolFalseConstant)
+        return boolFalseConstant;
     }
   }