[PATCH] D52857: Deprecate 'set output foo' API of clang-query

Stephen Kelly via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 9 14:58:14 PDT 2018


steveire added a comment.

> What's more, given that clang-output has no real documentation to speak of, how will users even *know* to update their scripts?

The release notes will tell them.

But your comment also raises a different point: If there is so little clang-query documentation, what justification is there for relying on current behavior?

Also, what scripts are you referring to that rely on clang-query? Do we know of any that are expected to work long-term without maintenance (unlikely, as the AST itself is not stable), or is this concern imagined?

> can you expound on your concerns?

After this patch, the user writes

  set dump-output true

or `false`.

and after the follow-up (https://reviews.llvm.org/D52859) they write

  set matcher-output true

After more features I have in the pipeline they will write other similar commands.

With my command-design, if a user wants to enable dump output in addition to what they have, they just

  set dump-output true

In your design, they have to recall/find out what options are currently enabled, and add them in a comma separated list. That is not user-friendly.

> wonder whether set blah-output options are mutually exclusive or not.

These options are obviously and clearly toggles. There is definitely no reason to think that they are mutually exclusive any more than there is reason to think `set output dump` is mutually exclusive with `set bind-root false`.

And even if someone did wonder that, they would just try it and learn that they are toggles.


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D52857





More information about the cfe-commits mailing list