Skip to content

Commit

Permalink
Fix TestDataFormatter.test uninitialized variable
Browse files Browse the repository at this point in the history
After D55626 I see a failure in my Fedora buildbot.

There is uninitialized variable as the Foo constructor has not been run and foo
is an autovariable.

(lldb) breakpoint set -f foo.cpp -l 11
Breakpoint 1: where = TestDataFormatter.test.tmp.out`main + 30 at foo.cpp:11:7, address = 0x000000000040112e
(lldb) run
Process 801065 stopped
* thread #1, name = 'TestDataFormatt', stop reason = breakpoint 1.1
    frame #0: 0x000000000040112e TestDataFormatter.test.tmp.out`main(argc=1, argv=0x00007fffffffcc48) at foo.cpp:11:7
   8   	};
   9
   10  	int main(int argc, char **argv) {
-> 11  	  Foo foo(1, 2.22);
   12  	  return 0;
   13  	}

Process 801065 launched: '.../tools/lldb/lit/Reproducer/Functionalities/Output/TestDataFormatter.test.tmp.out' (x86_64)
(lldb) frame var
(int) argc = 1
(char **) argv = 0x00007fffffffcc48
(Foo) foo = (m_i = 4198432, m_d = 0)

While the testcase expects m_i will be 0.

Differential Revision: https://reviews.llvm.org/D59088

llvm-svn: 355611
  • Loading branch information
jankratochvil committed Mar 7, 2019
1 parent 0ccc0b1 commit 8a4efd2
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 4 deletions.
4 changes: 2 additions & 2 deletions lldb/lit/Reproducer/Functionalities/Inputs/DataFormatter.in
@@ -1,7 +1,7 @@
breakpoint set -f foo.cpp -l 11
run
frame var
frame var foo
next
frame var
frame var foo
cont
reproducer generate
2 changes: 1 addition & 1 deletion lldb/lit/Reproducer/Functionalities/Inputs/foo.cpp
Expand Up @@ -8,6 +8,6 @@ class Foo {
};

int main(int argc, char **argv) {
Foo foo(1, 2.22);
static Foo foo(1, 2.22);
return 0;
}
2 changes: 1 addition & 1 deletion lldb/lit/Reproducer/Functionalities/TestDataFormatter.test
Expand Up @@ -3,7 +3,7 @@
# This tests that data formatters continue to work when replaying a reproducer.

# RUN: rm -rf %t.repro
# RUN: %clang %S/Inputs/foo.cpp -g -o %t.out
# RUN: %clangxx %S/Inputs/foo.cpp -g -o %t.out

# RUN: %lldb -x -b -s %S/Inputs/DataFormatter.in --capture %t.repro %t.out | FileCheck %s
# RUN: %lldb --replay %t.repro | FileCheck %s
Expand Down

0 comments on commit 8a4efd2

Please sign in to comment.