Try harder to fix bugpoint with GCC5
authorBenjamin Kramer <benny.kra@googlemail.com>
Wed, 29 Jan 2020 02:30:05 +0000 (03:30 +0100)
committerBenjamin Kramer <benny.kra@googlemail.com>
Wed, 29 Jan 2020 02:30:47 +0000 (03:30 +0100)
llvm/tools/bugpoint/CrashDebugger.cpp
llvm/tools/bugpoint/Miscompilation.cpp

index 2a94e3d..417d246 100644 (file)
@@ -607,7 +607,8 @@ bool ReduceCrashingConditionals::TestBlocks(
   std::vector<std::pair<std::string, std::string>> BlockInfo;
 
   for (const BasicBlock *BB : Blocks)
-    BlockInfo.emplace_back(BB->getParent()->getName(), BB->getName());
+    BlockInfo.emplace_back(std::string(BB->getParent()->getName()),
+                           BB->getName());
 
   SmallVector<BasicBlock *, 16> ToProcess;
   for (auto &F : *M) {
@@ -697,7 +698,8 @@ bool ReduceSimplifyCFG::TestBlocks(std::vector<const BasicBlock *> &BBs) {
   std::vector<std::pair<std::string, std::string>> BlockInfo;
 
   for (const BasicBlock *BB : Blocks)
-    BlockInfo.emplace_back(BB->getParent()->getName(), BB->getName());
+    BlockInfo.emplace_back(std::string(BB->getParent()->getName()),
+                           BB->getName());
 
   // Loop over and delete any hack up any blocks that are not listed...
   for (auto &F : *M)
index 02de5d7..e69fe9f 100644 (file)
@@ -588,7 +588,8 @@ ExtractBlocks(BugDriver &BD,
   for (Module::iterator I = Extracted->begin(), E = Extracted->end(); I != E;
        ++I)
     if (!I->isDeclaration())
-      MisCompFunctions.emplace_back(I->getName(), I->getFunctionType());
+      MisCompFunctions.emplace_back(std::string(I->getName()),
+                                    I->getFunctionType());
 
   if (Linker::linkModules(*ProgClone, std::move(Extracted)))
     exit(1);