JDevlieghere added a comment.
In D65185#1599262 <https://reviews.llvm.org/D65185#1599262>, @labath wrote:
> .def files can omit fields too: `#define BOOL_PROPERTY(name, global, default,
> desc) PROPERTY(name, OptionValue::eTypeBoolean, global, default, nullptr, {},
> desc)`. Some sanity checking sounds like it could be useful, but I'm not
> exactly sure what kind of checks you have in mind. Being able to change the
> representation is nice, but I expect most of those changes would also be
> achievable with the def files. More radical changes (like the variable thing
> I mentioned) would probably require changes regardless of how the properties
> are generated...
I agree with you and I'm not opposed to def-files at all. I think tablegen and
`.def` files have different trade-offs and while the latter could probably work
for properties, I have the feeling that tablegen is a better fit. The things
are mentioned before are just a few things that came to mind.
To give an example of sanity checking: this isn't in the patch (yet) but with
tablegen we can ensure that every option has either a default unsigned or
string value. In the table you can't differentiate between a default `0` and an
explicit default value of `0`.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D65185/new/
https://reviews.llvm.org/D65185
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits