Преглед изворни кода

Fix empty struct check (#2134)

Fixes llvm assert and debug-only test failure (CodeGenHLSL\batch\misc\emptyStruct.hlsl).
Helena Kotas пре 6 година
родитељ
комит
850c8d3676
1 измењених фајлова са 1 додато и 1 уклоњено
  1. 1 1
      tools/clang/lib/CodeGen/CGExpr.cpp

+ 1 - 1
tools/clang/lib/CodeGen/CGExpr.cpp

@@ -3509,7 +3509,7 @@ LValue CodeGenFunction::EmitCastLValue(const CastExpr *E) {
     llvm::Type *ToTy = ResultType->getPointerElementType();
     llvm::Type *FromTy = This->getType()->getPointerElementType();
     // For empty struct, just bitcast.
-    if (!isa<llvm::StructType>(FromTy->getStructElementType(0))) {
+    if (FromTy->getStructNumElements()== 0) {
       llvm::Value *bitcast = Builder.CreateBitCast(This, ResultType);
       return MakeAddrLValue(bitcast, ToType);
     }