class CloneInstruction : public ::testing::Test {
protected:
virtual void SetUp() {
- V = NULL;
+ V = nullptr;
}
template <typename T>
// Function DI
DIFile File = DBuilder.createFile("filename.c", "/file/dir/");
- DIArray ParamTypes = DBuilder.getOrCreateArray(ArrayRef<Value*>());
+ DITypeArray ParamTypes = DBuilder.getOrCreateTypeArray(None);
DICompositeType FuncType = DBuilder.createSubroutineType(File, ParamTypes);
DICompileUnit CU = DBuilder.createCompileUnit(dwarf::DW_LANG_C99,
"filename.c", "/file/dir", "CloneFunc", false, "", 0);
// Create a local variable around the alloca
DIType IntType = DBuilder.createBasicType("int", 32, 0,
dwarf::DW_ATE_signed);
+ DIExpression E = DBuilder.createExpression();
DIVariable Variable = DBuilder.createLocalVariable(
dwarf::DW_TAG_auto_variable, Subprogram, "x", File, 5, IntType, true);
- DBuilder.insertDeclare(Alloca, Variable, Store);
- DBuilder.insertDbgValueIntrinsic(AllocaContent, 0, Variable, Terminator);
+ DBuilder.insertDeclare(Alloca, Variable, E, Store);
+ DBuilder.insertDbgValueIntrinsic(AllocaContent, 0, Variable, E, Terminator);
// Finalize the debug info
DBuilder.finalize();
void CreateNewFunc() {
ValueToValueMapTy VMap;
- NewFunc = CloneFunction(OldFunc, VMap, true, NULL);
+ NewFunc = CloneFunction(OldFunc, VMap, true, nullptr);
M->getFunctionList().push_back(NewFunc);
}