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
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits