forked from OSchip/llvm-project
Revert "Revert rL346454: Fix a use-after-free introduced by r344915."
This un-reverts commit 346454 with a relaxed CHECK for Windows. llvm-svn: 346556
This commit is contained in:
parent
ef67ce0f6f
commit
42ab39f1e8
|
@ -3538,7 +3538,7 @@ void CGDebugInfo::EmitLocation(CGBuilderTy &Builder, SourceLocation Loc) {
|
|||
// Update our current location
|
||||
setLocation(Loc);
|
||||
|
||||
if (CurLoc.isInvalid() || CurLoc.isMacroID())
|
||||
if (CurLoc.isInvalid() || CurLoc.isMacroID() || LexicalBlockStack.empty())
|
||||
return;
|
||||
|
||||
llvm::MDNode *Scope = LexicalBlockStack.back();
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
// RUN: %clang_cc1 -x c -debug-info-kind=line-tables-only -emit-llvm -fsanitize=returns-nonnull-attribute -o - %s | FileCheck %s
|
||||
// The UBSAN function call in the epilogue needs to have a debug location.
|
||||
|
||||
__attribute__((returns_nonnull)) void *allocate() {}
|
||||
|
||||
// CHECK: define {{.*}}nonnull i8* @allocate(){{.*}} !dbg
|
||||
// CHECK: call void @__ubsan_handle_nonnull_return_v1_abort
|
||||
// CHECK-SAME: !dbg ![[LOC:[0-9]+]]
|
||||
// CHECK: ret i8*
|
||||
// CHECK-SAME: !dbg ![[LOC]]
|
Loading…
Reference in New Issue