فهرست منبع

Check hasName before getName for StructType. (#2678)

Xiang Li 5 سال پیش
والد
کامیت
9e88903d42
1فایلهای تغییر یافته به همراه4 افزوده شده و 0 حذف شده
  1. 4 0
      lib/DXIL/DxilUtil.cpp

+ 4 - 0
lib/DXIL/DxilUtil.cpp

@@ -497,6 +497,8 @@ static bool ConsumePrefix(StringRef &Str, StringRef Prefix) {
 
 bool IsHLSLResourceType(llvm::Type *Ty) {
   if (llvm::StructType *ST = dyn_cast<llvm::StructType>(Ty)) {
+    if (!ST->hasName())
+      return false;
     StringRef name = ST->getName();
     ConsumePrefix(name, "class.");
     ConsumePrefix(name, "struct.");
@@ -589,6 +591,8 @@ bool IsHLSLObjectType(llvm::Type *Ty) {
 
 bool IsHLSLRayQueryType(llvm::Type *Ty) {
   if (llvm::StructType *ST = dyn_cast<llvm::StructType>(Ty)) {
+    if (!ST->hasName())
+      return false;
     StringRef name = ST->getName();
     // TODO: don't check names.
     ConsumePrefix(name, "class.");