forked from OSchip/llvm-project
InstrProf: Fix a crash when an implicit def appears in a macro
llvm-svn: 240452
This commit is contained in:
parent
c917a381f8
commit
e44dd6dbd0
|
@ -475,7 +475,8 @@ struct CounterCoverageMappingBuilder
|
|||
/// files, this adjusts our current region stack and creates the file regions
|
||||
/// for the exited file.
|
||||
void handleFileExit(SourceLocation NewLoc) {
|
||||
if (SM.isWrittenInSameFile(MostRecentLocation, NewLoc))
|
||||
if (NewLoc.isInvalid() ||
|
||||
SM.isWrittenInSameFile(MostRecentLocation, NewLoc))
|
||||
return;
|
||||
|
||||
// If NewLoc is not in a file that contains MostRecentLocation, walk up to
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
// RUN: %clang_cc1 -fprofile-instr-generate -fcoverage-mapping -dump-coverage-mapping -emit-llvm-only -triple x86_64-apple-darwin -fobjc-runtime=macosx-10.10.0 -fblocks -fobjc-arc %s | FileCheck %s
|
||||
|
||||
@interface Foo
|
||||
@end
|
||||
#define Bar Foo
|
||||
|
||||
@implementation Blah
|
||||
// CHECK-LABEL: +[Blah load]:
|
||||
+ load { // CHECK: File 0, [[@LINE]]:8 -> [[END:[0-9:]+]] = #0
|
||||
return 0;
|
||||
// CHECK: Expansion,File 0, [[@LINE+1]]:3 -> [[@LINE+1]]:6 = 0
|
||||
Bar *attribute; // CHECK: File 0, [[@LINE]]:6 -> [[END]] = 0
|
||||
}
|
||||
@end
|
||||
|
||||
int main() {}
|
Loading…
Reference in New Issue