OSDN Git Service

[LTO] Return proper error object rather than null LTOModule
authorAdam Nemet <anemet@apple.com>
Tue, 13 Mar 2018 04:37:01 +0000 (04:37 +0000)
committerAdam Nemet <anemet@apple.com>
Tue, 13 Mar 2018 04:37:01 +0000 (04:37 +0000)
This caused a crash in LTOModule::createInLocalContext.

rdar://37926841

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327359 91177308-0d34-0410-b5e6-96231b3b80d8

lib/LTO/LTOModule.cpp

index f7fe85e..b26c371 100644 (file)
@@ -208,7 +208,7 @@ LTOModule::makeLTOModule(MemoryBufferRef Buffer, const TargetOptions &options,
   std::string errMsg;
   const Target *march = TargetRegistry::lookupTarget(TripleStr, errMsg);
   if (!march)
-    return std::unique_ptr<LTOModule>(nullptr);
+    return make_error_code(object::object_error::arch_not_found);
 
   // construct LTOModule, hand over ownership of module and target
   SubtargetFeatures Features;