This is an archive of the discontinued LLVM Phabricator instance.

[analyzer][docs][NFC] Document the ento namespace in the llvm/Lexicon
ClosedPublic

Authored by steakhal on Aug 24 2020, 5:07 AM.

Details

Summary

Document the ento namespace in the Lexicon according to @nicolas17 on the mailing list.


The analyzer lived at different namespaces at different times.
Originally lived at the GR aka. (Graph Reachability) namespace [7], later it moved under the ento namespace [9].

The Static Analyzer's code lived at many other places as well:
Analysis -[2]-> Checker -[5]-> GR -[10]> entoSA -[11]-> StaticAnalyzer

The relevant code motion, refactor commits, cfe-dev mailing in chronological order:

  1. 2008-03-15 Make a major restructuring of the clang tree: introduce a top-level
  2. 2010-01-25 Split libAnalysis into two libraries: libAnalysis and libChecker
  3. 2010-12-21 Reorganization of Checker files
  4. 2010-12-22 Refactoring: include/clang/Checker -> include/clang/GR
  5. 2010-12-22 Refactoring: lib/Checker -> lib/GR
  6. 2010-12-22 Refactoring: Move checkers into lib/GR/Checkers and their own library, libclangGRCheckers
  7. 2010-12-22 Refactoring: Move stuff into namespace 'GR'
  8. 2010-12-22 Refactoring: Drop the 'GR' prefix.
  9. 2010-12-23 Rename static analyzer namespace 'GR' to 'ento'
  10. 2010-12-23 Rename headers: 'clang/GR' 'clang/EntoSA' and update Makefile
  11. 2010-12-23 Chris Lattner has strong opinions about directory
  12. 2010-12-24 Remove the EntoSA directories.

Diff Detail

Event Timeline

steakhal created this revision.Aug 24 2020, 5:07 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 24 2020, 5:07 AM
steakhal requested review of this revision.Aug 24 2020, 5:07 AM
This revision is now accepted and ready to land.Aug 24 2020, 5:13 AM
Szelethus accepted this revision.Aug 24 2020, 5:49 AM

What a legacy.

xazax.hun accepted this revision.Aug 24 2020, 7:37 AM

LGTM with a nit.

llvm/docs/Lexicon.rst
99

I'd link the homepage of the static analyzer.

steakhal updated this revision to Diff 287399.Aug 24 2020, 8:04 AM
steakhal marked an inline comment as done.

Add link to the static analyzer llvm page.

llvm/docs/Lexicon.rst
99

Good idea.
However, I would link to the https://clang.llvm.org/docs/ClangStaticAnalyzer.html instead.
There is already a link to the Official Tool Page.

rnkovacs added inline comments.Aug 24 2020, 9:33 AM
llvm/docs/Lexicon.rst
101

I think it is the other way around, i.e. 'entomology' is abbreviated to 'ento'. You could write that 'it is an abbreviation of entomology'.

whisperity added inline comments.Aug 24 2020, 10:21 AM
llvm/docs/Lexicon.rst
99
100

This lexicon is for the entirety of LLVM, not just Clang, so maybe we should write "Clang Static Analyser" proper.

101

Why is the mobile version (m.wikipedia) linked? Also, you can Wikipedia shortlink in the following format. The shortlink will automatically properly redirect the user to the proper site based on their device configuration, but if a desktop user opens m.wikipedia there isn't any "reverse redirect" for the proper desktop site...

I've also incorporated @rnkovacs's suggestion.

steakhal updated this revision to Diff 287447.Aug 24 2020, 10:52 AM
steakhal marked 4 inline comments as done.
  • Rephrase paragraph
  • Use desktop site wikipedia link

Thank you all for the valuable comments. Awesome.

LGTM!

llvm/docs/Lexicon.rst
103

It's good idea to spell out this abbreviation. One thing I'd add is why exactly Entomology.
Use this http://clang-developers.42468.n3.nabble.com/analyzer-Spell-out-ENTO-in-clang-ento-td4068268.html

steakhal added inline comments.Aug 26 2020, 2:51 AM
llvm/docs/Lexicon.rst
103

In fact, that mailing thread inspired this patch.
What do you think I should elaborate on?

whisperity added inline comments.Aug 26 2020, 3:00 AM
llvm/docs/Lexicon.rst
103

Use this http://clang-developers.42468.n3.nabble.com/analyzer-Spell-out-ENTO-in-clang-ento-td4068268.html

That site is so damn horrendous especially with the bug they seem to have of not showing the author of the mails proper, but repeating the same name... I'd rather then link the official mailing list page: https://lists.llvm.org/pipermail/cfe-dev/2020-May/065569.html

But also not link anything, maybe mention the joke on this page.

whisperity added inline comments.Aug 26 2020, 4:07 AM
llvm/docs/Lexicon.rst
103

Because it finds bugs. 😂 (Or at least wants to.) I think that's the joke and that's the reason.

ASDenysPetrov accepted this revision.Sep 1 2020, 7:48 AM
steakhal updated this revision to Diff 290257.Sep 7 2020, 5:38 AM
steakhal edited the summary of this revision. (Show Details)
  • Mentioned the previous namespaces as well (GR, entoGR)
  • Slightly rephrased previous sentences
  • Updated the summary, to give a deeper dive into the history of the Clang Static Analyzer - for git blame

One minor "typo", otherwise I think we are saying everything that could be and needs to be said. Also, @steakhal, that must have been one massive blame.

llvm/docs/Lexicon.rst
100

Eh, it seems people are too fond of AmE, and the name is written in BrE, but the URL is in AmE. I think the official name of the tool is also the AmE spelling.

steakhal updated this revision to Diff 290285.Sep 7 2020, 7:37 AM
steakhal marked an inline comment as done.
  • Fixed typo in the link Clang Static Analyser -> Clang Static Analyzer

One minor "typo", otherwise I think we are saying everything that could be and needs to be said. Also, @steakhal, that must have been one massive blame.

Thank you for the note.
It took me some time to decipher the AmE and BrE xD. Nice catch though.