Commit Graph

96 Commits

Author SHA1 Message Date
Krasimir Georgiev df5b22a11e [clang-format ]Extend IncludeCategories regex documentation
Summary:
Extend the Clang-Format IncludeCategories documentation by adding a link to the supported regular expression standard (POSIX).
And extenting the example with a system header regex.
[[ https://bugs.llvm.org/show_bug.cgi?id=35041 | bug 35041]]

Contributed by WimLeflere!

Reviewers: krasimir, Typz

Reviewed By: krasimir

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D48827

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@337899 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-25 10:21:47 +00:00
Benjamin Kramer 33b0668845 [ASTMatchers] Support generating docs for single-line matchers
clang-format likes this format. PR35989.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@322783 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-17 23:14:49 +00:00
Benjamin Kramer 584c883bb0 Update dump_ast_matchers for many recent changes.
The html file hasn't been updated in a long time so there are quite a
few changes in there. No matchers were removed though.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@322687 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-17 16:50:14 +00:00
Krasimir Georgiev 77d44926f5 [clang-format] Sort using declarations by splitting on '::'
Summary: This patch improves using declarations sorting.

Reviewers: bkramer

Reviewed By: bkramer

Subscribers: cfe-commits, klimek

Differential Revision: https://reviews.llvm.org/D39786

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@317794 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-09 15:41:23 +00:00
Krasimir Georgiev 4c8bc8646c [clang-format] Update dump_format_style.py to indent nested fields
Summary:
This updates the format options documentation script to indent the
documentation of nested fields. The previous format caused some problems,
as when a bulleted list ends with a multiline comment. See the buildbot failure
http://lab.llvm.org:8011/builders/clang-sphinx-docs/builds/10020/steps/docs-clang-html/logs/stdio

Reviewers: djasper

Reviewed By: djasper

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D34552

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@306093 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-23 11:29:40 +00:00
Sylvestre Ledru de06f0b75e [clang-format] Add more examples and fix a bug in the py generation script
Reviewers: djasper

Reviewed By: djasper

Subscribers: cfe-commits, klimek

Differential Revision: https://reviews.llvm.org/D30860

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297623 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-13 14:42:47 +00:00
Sylvestre Ledru 64a83a038e Remove a useless subsitution in doxygen2rst which was incorrectly replacing * by \*
Summary: For example, "int\* a;" is displayed instead of "int* a;"

Reviewers: djasper

Reviewed By: djasper

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D30740

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297363 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-09 06:41:08 +00:00
Cong Liu 85b4750b8d IgnoringImplicit matcher.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@273659 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-24 09:38:03 +00:00
Samuel Benzaquen dfe2be47d8 Fix the doc extraction script to work with hasAnyName and with equalsNode.
The change from llvm::VariadicFunction to internal::VariadicFunction
broke the extraction of hasAnyName().
equalsNode was broken because the argument type is 'const XXXX*' and
the internal space caused a failure on the regex.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268548 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-04 20:45:00 +00:00
Alexander Kornienko 20e4e00af2 Support language selection for \code blocks.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@261644 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-23 16:11:55 +00:00
Alexander Kornienko df679caa1c Allow running dump_format_style.py from any directory.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@261642 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-23 16:11:43 +00:00
Samuel Benzaquen dfad990d88 [ASTMatchers] Add matcher hasAnyName.
Summary: Add matcher hasAnyName as an optimization over anyOf(hasName(),...)

Reviewers: alexfh

Subscribers: klimek, cfe-commits

Differential Revision: http://reviews.llvm.org/D17163

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@261574 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-22 21:13:02 +00:00
Yury Gribov 98c4d57826 [analyzer] dump_ast_matchers.py: fix replacement regexps
Patch by Alex Sidorin!

Differential Revision: http://reviews.llvm.org/D17376


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@261219 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-18 15:43:56 +00:00
Aaron Ballman 4eb7bf8669 Properly encode the < entity; it was missing the semicolon. Regenerating the AST matcher reference after fixing the issue. Thanks to Richard for noticing the issue and bringing it to my attention!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@258579 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-22 23:15:00 +00:00
Aaron Ballman 49a5928400 When dumping documentation for AST matchers, do something more useful with \see doxygen commands. Ideally this would link to the target of \see, but for now it translates \see into "See also: "
Regenerate the AST documentation for this new functionality.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@258401 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-21 15:18:25 +00:00
Benjamin Kramer 8180a1c712 Fix ASTMatcher reference newlines and make the generator script windows-proof.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@253653 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-20 07:46:19 +00:00
Daniel Jasper 895dbe3435 clang-format: Hopefully fix code blocks in docs.
Otherwise I will have to install sphinx ;)..

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@249542 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-07 13:02:45 +00:00
Daniel Jasper c8ebad79a5 clang-format: Add empty line before code-blocks in Docs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@249394 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-06 12:11:51 +00:00
Daniel Jasper fa119ac183 clang-format: Make IncludeCategories configurable in .clang-format file.
This was made much easier by introducing an IncludeCategory struct to
replace the previously used std::pair.

Also, cleaned up documentation and added examples.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@249392 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-06 11:54:18 +00:00
Daniel Jasper 6cc91d4e13 clang-format: Add a new brace style "custom" as well as flags to
control the individual braces. The existing choices for brace wrapping
are now merely presets for the different flags that get expanded upon
calling the reformat function.

All presets have been chose to keep the existing formatting, so there
shouldn't be any difference in formatting behavior.

Also change the dump_format_style.py to properly document the nested
structs that are used to keep these flags discoverable among all the
configuration flags.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248802 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-29 14:57:55 +00:00
Manuel Klimek ee3c24fa92 Fix AST matcher documentation.
Fix a bug in the matcher docs where callExpr(on(...)) was in the examples,
but didn't work (on() only works for memberCallExpr).

Fix a bug in the doc dump script that was introduced in r231575 when
removing a regexp capture without adapting the code that uses the
captures.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@245040 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-14 11:47:51 +00:00
Andrew Wilkins 8eb384a97c Sphinx-based clang man pages
Summary:
This diff introduces .rst files, Sphinx config, and a CMake target
for building clang man pages. This will deprecate the existing .pod-
based man page, and will integrate nicely with CMake. This diff does
not remove the existing man page; that will be done in a follow-up
once packagers have had a chance to react to the change.

For now, only clang(1) has been done; others can be added over time
by dropping additional files into the docs/CommandGuide directory.
The index page for CommandGuide has been copied from LLVM's
docs/CommandGuide.

The man page itself is mostly the same, with a few minor cosmetic
changes. The only major change is the SYNOPSIS section. I was unable
to get .rst/Sphinx produce the same style as in the existing man page.
Instead, I changed it to match the LLVM tools' relatively simple style.

To build the man pages, use the "docs-clang-man" target if building
with CMake. Otherwise, use "make -f Makefile.sphinx man".

Reviewers: cmatthews, silvas

Subscribers: dim, gaeke, beanz, cfe-commits

Differential Revision: http://reviews.llvm.org/D10562

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@241037 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-30 02:52:38 +00:00
Saleem Abdulrasool 6b6214eff5 docs: grammar adjustments in clang manpage
Fix a few typos and run-on sentences in the clang POD documentation.

Patch by Brian R. Gaeke!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@239652 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-13 01:21:58 +00:00
Benjamin Kramer d93c4f42bb ASTMatchers: Make AST_POLYMORPHIC_SUPPORTED_TYPES a variadic macro
C++11 finally allows us to use this C99 feature.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@231575 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-07 20:38:15 +00:00
Daniel Jasper 6c5946160b clang-format: Escape '*' in generated flag documentation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@223118 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-02 14:21:16 +00:00
Adrian Prantl 31c3b80b5f Document Darwin-specific defaults.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210958 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-13 23:35:54 +00:00
Daniel Jasper 91bb4467c5 clang-format: Update flag documentation, and generation script.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205853 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-09 14:05:49 +00:00
Samuel Benzaquen 9989dfb640 Add loc() to the dynamic registry.
Summary:
Add loc() to the dynamic registry.
Other fixes:
 - Fix the polymorphic variant value to accept an exact match, even if
   there are other possible conversions.
 - Fix specifiesTypeLoc() to not crash on an empty
   NestedNameSpecifierLoc.

Reviewers: klimek

CC: cfe-commits, klimek

Differential Revision: http://llvm-reviews.chandlerc.com/D2928

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203467 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-10 15:40:23 +00:00
Nico Weber 087429b199 "Mac OS/X" -> "Mac OS X" spelling fixes for clang.
Patch from Sean McBride <sean@rogue-research.com>!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203259 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-07 18:09:57 +00:00
Manuel Klimek 52143b197d Fix AST matcher documentation for overloaded matchers.
Before this patch we would only use the fist occurance of a matcher
function in the documentation, for example leaving out
hasType(Matcher<QualType>).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202019 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-24 10:40:22 +00:00
Manuel Klimek 7cdc75b982 Fix docs generation for the AST matchers:
1. Move internal functions into ASTMatchersInternal.
2. Adapt dump_ast_matchers.py to the new VariadicOperatorMatcherFunc
   signature.
3. Update the actual docs with the updated tool / code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202017 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-24 10:28:36 +00:00
Daniel Jasper 00dff34195 clang-format: Improve documentation of DerivePointerBinding.
For reference: llvm.org/PR18690.

Also updated generated help page and page creation script.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201323 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-13 12:51:50 +00:00
Tim Northover 560d124da6 Driver: clarify help string for "-###"
Someone recently wasted some time not realising that "-###" didn't
actually execute the commands it printed, and suggested a
documentation tweak.

Having made the same mistake myself on at least one occasion, I
sympathise. So here it is. Any kibitzing on an even better text
welcome.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199256 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-14 20:49:19 +00:00
Adrian Prantl c447571050 Implement a new -fstandalone-debug option. rdar://problem/15685848
It controls everything that -flimit-debug-info used to, plus the
vtable type optimization. The old -fno-limit-debug-info option is now an
alias to -fstandalone-debug and vice versa.

Standalone is the default on Darwin until dtrace is updated to work with
non-standalone debug info (rdar://problem/15758808).

Note: I kept the LimitedDebugInfo name in CodeGenOptions::DebugInfoKind
because NoStandaloneDebugInfo sounded even more confusing.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@198655 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-07 01:19:08 +00:00
Adrian Prantl b50a091f25 Remove an outdated statement about debugging optimized code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197820 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-20 17:39:42 +00:00
Adrian Prantl 1fbd511a3a Document the -fno-limit-debug-info switch in the man page.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197819 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-20 17:39:35 +00:00
Ted Kremenek 3ce1d5796f Remove clang man page reference to --analyze, and point people to the analyzer website.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195027 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-18 18:53:37 +00:00
Samuel Benzaquen 6c1dc7870f Add partial support for the hasDeclaration() matcher in the dynamic layer.
Summary:
Add partial support for the hasDeclaration() matcher in the dynamic layer.
This matcher has some special logic to allow any type that has a getDecl() method.  We do not support this right now.

Reviewers: klimek

CC: cfe-commits, revane

Differential Revision: http://llvm-reviews.chandlerc.com/D1889

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195013 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-18 14:53:42 +00:00
Sylvestre Ledru 3a786dd41a Improve the documentation (bis) with Arthur and Chandler's comments
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194412 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-11 19:39:37 +00:00
Sylvestre Ledru 3990d7f77c Improve the documentation of the optimization flags
Reviewers: rafael.espindola, rengolin, hfinkel

Reviewed By: rengolin

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D2138

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194405 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-11 19:04:47 +00:00
Alexander Kornienko 62d06b7b53 Added documentation for clang-format style options.
Summary:
The main contents is in the ClangFormatStyleOptions.rst, which can be
updated from the Format.h by the dump_format_style.py script.

Reviewers: djasper, klimek

Reviewed By: klimek

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D1597

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189946 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-04 15:09:13 +00:00
Samuel Benzaquen d36e46350b Rewrite eachOf/allOf/anyOf to use a variadic operator.
Summary:
Rewrite eachOf/allOf/anyOf to use a variadic operator, instead of hand-written calls to Polymorphic matchers.
This simplifies their definition and future changes to add them to the dynamic registry.

Reviewers: klimek

CC: cfe-commits, revane

Differential Revision: http://llvm-reviews.chandlerc.com/D1427

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189357 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-27 15:11:16 +00:00
Samuel Benzaquen ee0da9520f Refactor ArgumentAdaptativeMatcher matchers to remove the template from their declaration.
Summary:
Refactor ArgumentAdaptativeMatcher matchers to remove the template from their declaration.
This facilitates dynamic registration. Change the registry code to use the regular overload resolution mechanism for adaptative matchers.

Reviewers: klimek

CC: cfe-commits, revane

Differential Revision: http://llvm-reviews.chandlerc.com/D1402

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188560 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-16 16:19:42 +00:00
Manuel Klimek 2c4b2e42c5 Fix incorrect documentation generation for type matchers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187104 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-25 06:05:50 +00:00
Samuel Benzaquen 3f84bb341b Add support for type traversal matchers.
Summary:
Fixup the type traversal macros/matchers to specify the supported types.
Make the marshallers a little more generic to support any variadic function.
Update the doc script.

Reviewers: klimek

CC: cfe-commits, revane

Differential Revision: http://llvm-reviews.chandlerc.com/D1023

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186340 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-15 19:25:06 +00:00
Samuel Benzaquen ef7eb02439 Add support for polymorphic matchers. Use runtime type checking to determine the right polymorphic overload to use.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184558 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-21 15:51:31 +00:00
Bob Wilson cf8a9cb33e Add description of -Ofast optimization option to the man page. <rdar://13660458>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179733 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-17 22:32:43 +00:00
Manuel Klimek 415514d5fb Cleanup of ASTMatcher macros and adding support for overloaded matchers.
This is in preparation for adding other overloaded matchers. This change
alone is a net win in LOC.
I went through all matchers and looked whether we could now encode them
as macro, or simplify them with the matcher atoms that were not
available before.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174540 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-06 20:36:22 +00:00
Ted Kremenek cc972ed158 Revert "Remove sparse text on diagnostic options. These are not really documented anywhere, and they really aren't for normal users."
I changed my mind.  We should just document these in the man page.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174344 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-05 06:33:47 +00:00
Ted Kremenek 7305e8c48d Remove sparse text on diagnostic options. These are not really documented anywhere, and they really aren't for normal users.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174338 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-05 05:55:21 +00:00