[cfe-dev] [RFC] [PATCH] Announcing new Clang Diagnostic Personalities

Richard Smith via cfe-dev cfe-dev at lists.llvm.org
Fri Apr 1 14:59:14 PDT 2016

Wonderful work, I look forward to it landing in SVN.

Only one concern: the choice to select the personality during compilation
seems to create problems:

 * We won't have an easy way to check that changes that add / change
diagnostics correctly update all the personalities
 * Distributions would presumably pick one personality for their users,
restricting user choice
 * The unit tests hard-code expected diagnostic output for a particular
personality, so would fail on other personalities.

I think the solution should be completely clear: please also update the
build system to always build the compiler five times, one for each
personality, and likewise make four additional copies of the test suite,
one for each new personality. This will increase build time and developer
overhead, but it's obviously worthwhile.

On Fri, Apr 1, 2016 at 12:32 PM, Chris Bieneman via cfe-commits <
cfe-commits at lists.llvm.org> wrote:

> Hello Clang Community!
> I’m writing as a representative of the self-termed "Clang Diagnostic
> Innovation” (CDI) working group to share with you all our newest feature.
> Clang has long been known for its excellent diagnostic messages, and for
> providing meaningful and actionable errors and warnings even in the most
> extreme cases. We set for ourselves the difficult challenge of trying to
> figure out how to get Clang’s diagnostic messages to have a stronger impact
> on our users and to help them grow as engineers.
> We spent months researching and laboring over how to truly influence our
> users and found there really isn’t a silver bullet. Each individual
> engineer is motivated and inspired by something different. In short, there
> is no one-size-fits-all solution here. To maximize our reach, we have come
> up with a new and imaginative solution that we call Clang Diagnostic
> Personalities.
> Clang Diagnostic Personalities are special modes enabled at configuration
> time that translate Clang diagnostic strings into more engaging messages
> that will reverberate with our users, we hope, inspiring them to write
> better code. Because each person is inspired by different influences we’ve
> provided a variety of personalities as part of our initial implementation,
> and we want to encourage members of the Clang community to contribute their
> own unique personalities.
> These diagnostic personalities allow us to reach our users on a much more
> personal and visceral level.
> With our new Snark personality we ensure that our users feel each failure
> with a very personal twinge. It seeks to prod our engineers by not sparing
> the stick or holding back at all.
> Our new Mr. T personality ensures that “The jibba jabba stops here!” and
> uses subtle intimidation to motivate engineers to learn from their mistakes
> and become better people as well as better engineers.
> The new Star Trek personality inspires us all to imagine a Gene
> Roddenberry future utopia, and it helps us get there by making us feel like
> we already are.
> Lastly da Chicago personality keeps da wiseguys in line and speaks da
> language of da people. Da Bulls!
> I’ve attached patches for the basic clang support as well as for the
> various personalities for review and consideration by the wider community.
> Thank you,
> -Chris
> CDI Working Group Members:
> Chris Bieneman
> Justin Bogner
> Pete Cooper
> Dallas De Atley
> Kevin Enderby
> Louis Gerbarg
> Jim Grosbach
> Lang Hames
> Michael Ilseman
> Nick Kledzik
> Alex Rosenberg
> Marc Schifer
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160401/5cfe4261/attachment.html>

More information about the cfe-dev mailing list