shafik marked 4 inline comments as done.
shafik added inline comments.

================
Comment at: lldb/source/Plugins/Language/ObjC/Cocoa.cpp:1038
   }
-  uint8_t value = (real_guy_sp->GetValueAsUnsigned(0) & 0xFF);
+  uint8_t value = (real_guy_sp->GetValueAsSigned(0) & 0xFF);
   switch (value) {
----------------
teemperor wrote:
> That still makes the value unsigned and prints `255` instead of `-1`.  
> Something like: `int64_t value = real_guy_sp->GetValueAsSigned(0);` should do 
> the trick.
Good catch!


================
Comment at: 
lldb/test/API/functionalities/data-formatter/boolreference/TestFormattersBoolRefPtr.py:79
+
+        self.expect('p myField',
+                   substrs=['(BoolBitFields)', 'fieldOne = NO', 'fieldTwo = 
255', 'fieldThree = NO', 'fieldFour = NO', 'fieldfive = 255'])
----------------
teemperor wrote:
> You can do this with `expect_expr` which makes this less fragile (the 
> ValueCheck stuff is backported to the last stable branch, so that shouldn't 
> complicate backporting):
> ```
> lang=python
>         # converted YES value after passing through the BOOL : 1 bitfield.
>         converted_yes = "-1"
>         # BOOL is bool instead of signed char on ARM.
>         if isArm:
>             converted_yes = "1"
>         self.expect_expr('myField', result_type="BoolBitFields",
>                          result_children=[
>                              ValueCheck(name="fieldOne", summary="NO"),
>                              ValueCheck(name="fieldTwo", summary= 
> converted_yes,
>                              ValueCheck(name="fieldThree", summary="NO"),
>                              ValueCheck(name="fieldFour", summary="NO"),
>                              ValueCheck(name="fieldfive", summary= 
> converted_yes)
>                          ])
> ```
> 
> Also added the check for when BOOL = bool when this is on ARM (which seems to 
> be how Clang decides if BOOL is bool or signed char). I guess a better check 
> would be to check the underlying type for `BOOL` and see what it actually is, 
> but let's fix this properly when we add type checking to the BOOL summary 
> provider.
`bool` will be signed so it will be the same result, I tested on device to 
confirm.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D93421/new/

https://reviews.llvm.org/D93421

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to