Partial fix for TestConflictingSymbol.py on Windows

Without this fix, the test ERRORs because the link of the inferior fails. This
patch adds the LLDB_TEST_API macro where needed and uses the new -2 magic
value for num_expected_locations to account for lazy-loading of module symbols
on Windows.

With this fix, the test itself still fails:  conflicting_symbol isn't in the
debug info nor the export table, and Windows binaries don't have an equivalent
of the ELF .symtab.  We need to understand why the test works to keep the
symbol out of the debug info.  In the mean time, having the test fail at this
point is a better indication of the remaining problem than a build error.

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

llvm-svn: 326130
This commit is contained in:
Adrian McCarthy 2018-02-26 21:22:39 +00:00
parent a04793eb93
commit 00cc735a6f
3 changed files with 4 additions and 4 deletions

View File

@ -1,4 +1,4 @@
#ifndef ONE_H
#define ONE_H
void one();
LLDB_TEST_API void one();
#endif

View File

@ -33,9 +33,9 @@ class TestConflictingSymbols(TestBase):
target, ['One', 'Two'])
lldbutil.run_break_set_by_source_regexp(self, '// break here',
extra_options='-f One.c')
extra_options='-f One.c', num_expected_locations=-2)
lldbutil.run_break_set_by_source_regexp(self, '// break here',
extra_options='-f Two.c')
extra_options='-f Two.c', num_expected_locations=-2)
lldbutil.run_break_set_by_source_regexp(self, '// break here',
extra_options='-f main.c', num_expected_locations=1)

View File

@ -1,4 +1,4 @@
#ifndef TWO_H
#define TWO_H
void two();
LLDB_TEST_API void two();
#endif