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

Reply via email to