diff options
author | Adrian McCarthy <amccarth@google.com> | 2016-02-29 21:13:29 +0000 |
---|---|---|
committer | Adrian McCarthy <amccarth@google.com> | 2016-02-29 21:13:29 +0000 |
commit | 536183275d67c1de31066386070a2fe9b403e241 (patch) | |
tree | 9c5d19fb559b9a2da11a3ddfc19bcad6199106cd /lldb/packages/Python/lldbsuite | |
parent | 936499ae4cdb4f4601e7c0561be4fdd8a05fb04e (diff) | |
download | bcm5719-llvm-536183275d67c1de31066386070a2fe9b403e241.tar.gz bcm5719-llvm-536183275d67c1de31066386070a2fe9b403e241.zip |
Fix TestInlines.py on Windows
The inlining semantics for C and C++ are different, which affects the test's expectation of the number of times the function should appear in the binary. In the case of this test, C semantics means there should be three instances of inner_inline, while C++ semantics means there should be only two.
On Windows, clang uses C++ inline semantics even for C code, and there doesn't seem to be a combination of compiler flags to avoid this.
So, for consistency, I've recast the test to use C++ everywhere. Since the test resided under lang/c, it seemed appropriate to move it to lang/cpp.
This does not address the other XFAIL for this test on Linux/gcc. See https://llvm.org/bugs/show_bug.cgi?id=26710
Differential Revision: http://reviews.llvm.org/D17650
llvm-svn: 262255
Diffstat (limited to 'lldb/packages/Python/lldbsuite')
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/lang/cpp/inlines/Makefile (renamed from lldb/packages/Python/lldbsuite/test/lang/c/inlines/Makefile) | 2 | ||||
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/lang/cpp/inlines/TestInlines.py (renamed from lldb/packages/Python/lldbsuite/test/lang/c/inlines/TestInlines.py) | 14 | ||||
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/lang/cpp/inlines/inlines.cpp (renamed from lldb/packages/Python/lldbsuite/test/lang/c/inlines/inlines.c) | 0 | ||||
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/lang/cpp/inlines/inlines.h (renamed from lldb/packages/Python/lldbsuite/test/lang/c/inlines/inlines.h) | 0 |
4 files changed, 8 insertions, 8 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/lang/c/inlines/Makefile b/lldb/packages/Python/lldbsuite/test/lang/cpp/inlines/Makefile index c5b0d18f995..8f67abdf2b3 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/c/inlines/Makefile +++ b/lldb/packages/Python/lldbsuite/test/lang/cpp/inlines/Makefile @@ -1,5 +1,5 @@ LEVEL = ../../../make -C_SOURCES := inlines.c +CXX_SOURCES := inlines.cpp include $(LEVEL)/Makefile.rules diff --git a/lldb/packages/Python/lldbsuite/test/lang/c/inlines/TestInlines.py b/lldb/packages/Python/lldbsuite/test/lang/cpp/inlines/TestInlines.py index b75f0bedff5..284057de9dc 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/c/inlines/TestInlines.py +++ b/lldb/packages/Python/lldbsuite/test/lang/cpp/inlines/TestInlines.py @@ -16,10 +16,9 @@ class InlinesTestCase(TestBase): # Call super's setUp(). TestBase.setUp(self) # Find the line number to break inside main(). - self.line = line_number('inlines.c', '// Set break point at this line.') + self.line = line_number('inlines.cpp', '// Set break point at this line.') @expectedFailureAll("llvm.org/pr26710", oslist=["linux"], compiler="gcc") - @expectedFailureAll("llvm.org/pr26710", oslist=["windows"], compiler="clang") def test(self): """Test that local variables are visible in expressions.""" self.build() @@ -36,17 +35,18 @@ class InlinesTestCase(TestBase): def runToBreakpoint(self): exe = os.path.join(os.getcwd(), "a.out") self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET) - + # Break inside the main. - lldbutil.run_break_set_by_file_and_line (self, "inlines.c", self.line, num_expected_locations=3, loc_exact=True) - + lldbutil.run_break_set_by_file_and_line(self, "inlines.cpp", self.line, num_expected_locations=2, + loc_exact=True) + self.runCmd("run", RUN_SUCCEEDED) - + # The stop reason of the thread should be breakpoint. self.expect("thread list", STOPPED_DUE_TO_BREAKPOINT, substrs = ['stopped', 'stop reason = breakpoint']) - + # The breakpoint should have a hit count of 1. self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE, substrs = [' resolved, hit count = 1']) diff --git a/lldb/packages/Python/lldbsuite/test/lang/c/inlines/inlines.c b/lldb/packages/Python/lldbsuite/test/lang/cpp/inlines/inlines.cpp index 822d88e22f9..822d88e22f9 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/c/inlines/inlines.c +++ b/lldb/packages/Python/lldbsuite/test/lang/cpp/inlines/inlines.cpp diff --git a/lldb/packages/Python/lldbsuite/test/lang/c/inlines/inlines.h b/lldb/packages/Python/lldbsuite/test/lang/cpp/inlines/inlines.h index 265d7b4966e..265d7b4966e 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/c/inlines/inlines.h +++ b/lldb/packages/Python/lldbsuite/test/lang/cpp/inlines/inlines.h |