diff options
author | David Blaikie <dblaikie@gmail.com> | 2014-12-10 01:03:48 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2014-12-10 01:03:48 +0000 |
commit | f0aceb2f69cae1b84e1b96f1ae9932480e801b32 (patch) | |
tree | 2c443e544bece9e150438348cd2b30d5732193d2 /clang/test/CodeGenCXX/debug-info-line.cpp | |
parent | c67e1b6a2a33ea6b2f49c4cca99170af8107405e (diff) | |
download | bcm5719-llvm-f0aceb2f69cae1b84e1b96f1ae9932480e801b32.tar.gz bcm5719-llvm-f0aceb2f69cae1b84e1b96f1ae9932480e801b32.zip |
DebugInfo: Correct the location of array accesses
Especially relevant to ASan when dealing with complex expressions
containing multiple array accesses. See PR21737.
llvm-svn: 223872
Diffstat (limited to 'clang/test/CodeGenCXX/debug-info-line.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/debug-info-line.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/debug-info-line.cpp b/clang/test/CodeGenCXX/debug-info-line.cpp index 878c3ac33f0..396a3f77501 100644 --- a/clang/test/CodeGenCXX/debug-info-line.cpp +++ b/clang/test/CodeGenCXX/debug-info-line.cpp @@ -72,6 +72,15 @@ void f6() { = agg_src(); } +// CHECK-LABEL: define +void f7() { + int *src1(); + int src2(); +#line 800 + int x = ( // CHECK: load {{.*}} !dbg [[DBG_F7:!.*]] + src1())[src2()]; +} + // CHECK: [[DBG_F1]] = metadata !{i32 100, // CHECK: [[DBG_FOO_VALUE]] = metadata !{i32 200, // CHECK: [[DBG_FOO_REF]] = metadata !{i32 202, @@ -81,3 +90,4 @@ void f6() { // CHECK: [[DBG_F4]] = metadata !{i32 500, // CHECK: [[DBG_F5]] = metadata !{i32 600, // CHECK: [[DBG_F6]] = metadata !{i32 700, +// CHECK: [[DBG_F7]] = metadata !{i32 800, |