Commit Graph

84 Commits

Author SHA1 Message Date
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
Manuel Klimek 41df16e2a8 Fixes dump_ast_matchers to parse all matcher macros and updates the
docs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171962 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09 09:38:21 +00:00
Ted Kremenek 7b7e2c4596 Fix copy-paste error in manpage. Should be -stdlib=library.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163914 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-14 17:20:56 +00:00
Ted Kremenek 8a198a078e Revert "Remove clang man page reference to -Oz. It's not an option we want people to use, and is around for historical reasons."
This should be discussed more first.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163560 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-10 22:50:05 +00:00
Ted Kremenek db133151fc Remove clang man page reference to -Oz. It's not an option we want people to use, and is around for historical reasons.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163538 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-10 20:10:37 +00:00
Manuel Klimek 67619ff51b Introduces anchors into LibASTMatchersReference.html.
This allows linking to LibASTMatchersRefernce.html#<matcher><N>Anchor to
link to the N'the declaration of a matcher and automatically expand
its documentation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163386 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-07 13:10:32 +00:00
Manuel Klimek 95a58d2f6e This is a temporary solution until we have a better way to
parse doxygen comments for macros with libclang.

I'm not entirely happy about this script, but as it saves
a lot of work in keeping the docs up to date with the
actual code I think checking it in makes sense.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162690 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-27 18:49:12 +00:00
Hans Wennborg de981f3ff1 Add -ftls-model command-line flag.
This allows for setting the default TLS model. (PR9788)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159336 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-28 08:01:44 +00:00
Benjamin Kramer b919815a0c Fix a typo (builting -> builtin).
Patch by Afriza N. Arief!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149822 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-05 11:24:56 +00:00
Daniel Dunbar 92d6d40483 Driver: Add support for a new -nostdlibinc option.
- This disables the system include directories, but not the compiler builtin
   directories. Useful for projects that want to use things like the intrinsic
   headers, but are otherwise freestanding.

 - I'm willing to reconsider the option naming, I also considered providing an
   explicit -builtinc (which would match -nobuiltininc), but this is more
   consistent with existing options.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141692 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-11 18:20:16 +00:00
Daniel Dunbar 26e0b30455 Revert my --working-directory option, which wasn't well thought through.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140889 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-30 21:33:09 +00:00
Daniel Dunbar 63bc59bf22 Driver: Add a --working-directory option which can be used to cause the compiler
to operate "as if" in a certain working directory.
 - For now, we just implement this by changing the actual working directory, but
   eventually we would want to handle this transparently. This is useful to
   avoid an extra exec() pair in some situations, and will be something we would
   want to support for more flexibility in using the Clang libraries.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140409 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23 20:33:41 +00:00
Chad Rosier e2bb7b9307 Documentation for -Oz; Updated synopsis and item.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130570 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-30 02:04:10 +00:00