aleksandr.urakov created this revision. aleksandr.urakov added reviewers: zturner, rnk, stella.stamenova. aleksandr.urakov added a project: LLDB. Herald added subscribers: lldb-commits, abidh, JDevlieghere, aprantl.
This patch fixes the flaky test `variables-locations.test`. The test began flaking after the fix of the PR38857 issue. It have happened because in `PDBLocationToDWARFExpression` we treat a `VFRAME` register as a `LLDB_REGNUM_GENERIC_FP`, which leads to `EBP` on Windows x86, but in this case we can't read locals relative to `EBP`. Moreover, it seems that we have no alternative base, so I just have changed `double` with `float` to avoid alignment. By the way, what do you think, how can we make LLDB support aligned stacks? As far as I know, similar alignment problems are reproducible on non-Windows too. Repository: rLLDB LLDB https://reviews.llvm.org/D53086 Files: lit/SymbolFile/PDB/Inputs/VariablesLocationsTest.cpp Index: lit/SymbolFile/PDB/Inputs/VariablesLocationsTest.cpp =================================================================== --- lit/SymbolFile/PDB/Inputs/VariablesLocationsTest.cpp +++ lit/SymbolFile/PDB/Inputs/VariablesLocationsTest.cpp @@ -2,7 +2,7 @@ void __fastcall foo(short arg_0, float arg_1) { char loc_0 = 'x'; - double loc_1 = 0.5678; + float loc_1 = 0.5678; } int main(int argc, char *argv[]) {
Index: lit/SymbolFile/PDB/Inputs/VariablesLocationsTest.cpp =================================================================== --- lit/SymbolFile/PDB/Inputs/VariablesLocationsTest.cpp +++ lit/SymbolFile/PDB/Inputs/VariablesLocationsTest.cpp @@ -2,7 +2,7 @@ void __fastcall foo(short arg_0, float arg_1) { char loc_0 = 'x'; - double loc_1 = 0.5678; + float loc_1 = 0.5678; } int main(int argc, char *argv[]) {
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits