r234141 - Don't crash when passing a non-existent file to -fprofile-instr-use=.
Nico Weber
nicolasweber at gmx.de
Sun Apr 5 21:16:48 PDT 2015
Author: nico
Date: Sun Apr 5 23:16:48 2015
New Revision: 234141
URL: http://llvm.org/viewvc/llvm-project?rev=234141&view=rev
Log:
Don't crash when passing a non-existent file to -fprofile-instr-use=.
Fixes a regression from r229434.
Added:
cfe/trunk/test/Profile/profile-does-not-exist.c
Modified:
cfe/trunk/lib/CodeGen/CodeGenModule.cpp
Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp?rev=234141&r1=234140&r2=234141&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CodeGenModule.cpp (original)
+++ cfe/trunk/lib/CodeGen/CodeGenModule.cpp Sun Apr 5 23:16:48 2015
@@ -147,8 +147,8 @@ CodeGenModule::CodeGenModule(ASTContext
unsigned DiagID = Diags.getCustomDiagID(DiagnosticsEngine::Error,
"Could not read profile: %0");
getDiags().Report(DiagID) << EC.message();
- }
- PGOReader = std::move(ReaderOrErr.get());
+ } else
+ PGOReader = std::move(ReaderOrErr.get());
}
// If coverage mapping generation is enabled, create the
Added: cfe/trunk/test/Profile/profile-does-not-exist.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Profile/profile-does-not-exist.c?rev=234141&view=auto
==============================================================================
--- cfe/trunk/test/Profile/profile-does-not-exist.c (added)
+++ cfe/trunk/test/Profile/profile-does-not-exist.c Sun Apr 5 23:16:48 2015
@@ -0,0 +1,4 @@
+// RUN: not %clang_cc1 -emit-llvm %s -fprofile-instr-use=%t.nonexistent.profdata 2>&1 | FileCheck %s
+
+// CHECK: error: Could not read profile: No such file or directory
+// CHECK-NOT: Assertion failed
More information about the cfe-commits
mailing list