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
|
/// files, this adjusts our current region stack and creates the file regions
|
||||||
/// for the exited file.
|
/// for the exited file.
|
||||||
void handleFileExit(SourceLocation NewLoc) {
|
void handleFileExit(SourceLocation NewLoc) {
|
||||||
if (SM.isWrittenInSameFile(MostRecentLocation, NewLoc))
|
if (NewLoc.isInvalid() ||
|
||||||
|
SM.isWrittenInSameFile(MostRecentLocation, NewLoc))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// If NewLoc is not in a file that contains MostRecentLocation, walk up to
|
// 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