[RFC] [PATCH] Announcing new Clang Diagnostic Personalities

Chris Bieneman via cfe-commits cfe-commits at lists.llvm.org
Fri Apr 1 12:32:03 PDT 2016


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-CDP-Adding-basic-support-for-Clang-Diagnostic-Person.patch
Type: application/octet-stream
Size: 4020 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160401/14713b32/attachment-0005.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Personality-Snark-No-more-Mr.-Nice-Compiler.patch
Type: application/octet-stream
Size: 501508 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160401/14713b32/attachment-0006.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-Personality-Chicago-Dat-s-a-nice-piece-of-source-cod.patch
Type: application/octet-stream
Size: 54170 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160401/14713b32/attachment-0007.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-Personality-MrT-Introduce-Mr-T-personality.patch
Type: application/octet-stream
Size: 588310 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160401/14713b32/attachment-0008.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0005-Personality-StarTrek-To-boldly-go-where-no-compiler-.patch
Type: application/octet-stream
Size: 550601 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160401/14713b32/attachment-0009.obj>


More information about the cfe-commits mailing list