labath added a comment.

This looks like a really useful feature. The code seems fine, but I am 
wondering if we should really bail out when encountering a zero enumerator. It 
is not uncommon to use a special enumerator to mean "none of the above". Lldb 
does that occasionally (eEmulateInstructionOptionNone), and other APIs do that 
too (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC in mmap(2) for instance). I am 
guessing this practice is even more common for "class" enums, as those can't be 
implicitly constructed from integer constants.

I think it would be useful to add one or two tests with enum types where this 
heuristic does not kick in. Like a type which has a two-bit enumerator which is 
not covered by previous enumerators, or (if you decide to keep the current 
behavior) a type with a zero enumerator.


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