Author: Jan Kratochvil Date: 2020-04-18T08:32:12+02:00 New Revision: eef9cb1628898adb5652a32eb95b53c544de0d6f
URL: https://github.com/llvm/llvm-project/commit/eef9cb1628898adb5652a32eb95b53c544de0d6f DIFF: https://github.com/llvm/llvm-project/commit/eef9cb1628898adb5652a32eb95b53c544de0d6f.diff LOG: [lldb] [testsuite] Fix TestFixIts.py on Linux Since D77214 there is a testsuite regression for TestFixIts.py on Fedora 31 x86_64. File "/home/jkratoch/redhat/llvm-monorepo/lldb/test/API/commands/expression/fixits/TestFixIts.py", line 148, in test_with_target self.assertEquals(value.GetError().GetCString(), "error: No value") AssertionError: 'error: error: Multiple internal symbols found for \'d\'\nid = {0x00000d2a}, ran [truncated]... != 'error: No value' That is because Fedora glibc incl. libm.so contains also ELF debug symbols and there exists a 'd' symbol: (gdb) p d $1 = {i = {0, 1076887552}, d = 16} (gdb) p &d $2 = (const number *) 0x7ffff78e8bc0 <d> (gdb) info sym 0x7ffff78e8bc0 d in section .rodata of /lib64/libm.so.6 $ nm /lib64/libm.so.6 |grep ' d$' 00000000000bfbc0 r d 00000000000caa20 r d 00000000000caa20 r d 00000000000caa20 r d glibc-build$ for i in `find -name "*.o"`;do nm 2>/dev/null $i|grep ' d$' && echo $i;done 0000000000000080 r d ./math/s_atan-fma4.o 0000000000000080 r d ./math/s_atan-avx.o 0000000000000080 r d ./math/s_atan.o Added: Modified: lldb/test/API/commands/expression/fixits/TestFixIts.py Removed: ################################################################################ diff --git a/lldb/test/API/commands/expression/fixits/TestFixIts.py b/lldb/test/API/commands/expression/fixits/TestFixIts.py index 9ce5415b732e..9907c2557788 100644 --- a/lldb/test/API/commands/expression/fixits/TestFixIts.py +++ b/lldb/test/API/commands/expression/fixits/TestFixIts.py @@ -107,11 +107,11 @@ def test_with_multiple_retries(self): struct S1 : public T { using T::TypeDef; int f() { - Data d; - d.m = 123; + Data data; + data.m = 123; // The first error as the using above requires a 'typename '. // Will trigger a Fix-It that puts 'typename' in the right place. - typename S1<T>::TypeDef i = &d; + typename S1<T>::TypeDef i = &data; // i has the type "Data *", so this should be i.m. // The second run will change the . to -> via the Fix-It. return i.m; _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits