Add explicit keywords.
[oota-llvm.git] / lib / Bitcode / Reader / BitcodeReader.cpp
index 727855799678b744806659d9f6b41974de7a78b4..aa78e7c4dc0e8d57171247e872a679e70eaaa4d1 100644 (file)
@@ -123,7 +123,7 @@ namespace {
     void operator=(const ConstantPlaceHolder &); // DO NOT IMPLEMENT
   public:
     Use Op;
-    ConstantPlaceHolder(const Type *Ty)
+    explicit ConstantPlaceHolder(const Type *Ty)
       : ConstantExpr(Ty, Instruction::UserOp1, &Op, 1),
         Op(UndefValue::get(Type::Int32Ty), this) {
     }
@@ -1506,7 +1506,10 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
       SmallVector<Value*, 16> Args;
       // Read the fixed params.
       for (unsigned i = 0, e = FTy->getNumParams(); i != e; ++i, ++OpNum) {
-        Args.push_back(getFnValueByID(Record[OpNum], FTy->getParamType(i)));
+        if (FTy->getParamType(i)->getTypeID()==Type::LabelTyID)
+          Args.push_back(getBasicBlock(Record[OpNum]));
+        else
+          Args.push_back(getFnValueByID(Record[OpNum], FTy->getParamType(i)));
         if (Args.back() == 0) return Error("Invalid CALL record");
       }