friss marked 3 inline comments as done.
friss added a comment.

In D67520#1668494 <https://reviews.llvm.org/D67520#1668494>, @jingham wrote:

> (lldb) expr (enum bitfield) whatever
>
> Be nice to see a test of that to make sure that works through the expression 
> parser as well.


This works now and I added a test for it.



================
Comment at: source/Symbol/ClangASTContext.cpp:9529
+  // in `enum {A, B, ALL = A|B }` we visit ALL first.
+  std::stable_sort(
+      values.begin(), values.end(), [](const auto &a, const auto &b) {
----------------
MaskRay wrote:
> You can simply sort by magnitude and iterating the elements from the largest 
> to the smallest.
After reading your comment, I thought we didn't need any sorting at all given 
the heuristic above guarantees some ordering in the elements we get here.

The error that ensued from replying the stable_sort by a reverse reminded me 
why I used a stable_sort in the first place. In the added test, `ac` would be 
printed `C | A` instead of `A | C`. Granted both of them are correct, but for 
some reason it bothers me a lot that the elements are not printed in 
declaration order, so I left the code as-is. 


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

https://reviews.llvm.org/D67520



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

Reply via email to