Commit Graph

723 Commits

Author SHA1 Message Date
Sean Silva 63c3af69b8 [docs] Introduce ExternalProjectsUsingClang.rst
A couple concrete examples are sure to be a win. If you know of any
other external projects using Clang, please let me know!

Patch by Laszlo Nagy! (with a title tweak by me)

llvm-svn: 175529
2013-02-19 16:58:15 +00:00
Richard Smith d06a87047d Actually fix rendering of the example code block!
llvm-svn: 175113
2013-02-14 00:23:04 +00:00
Richard Smith fabbcd9bcf Some grammar fixes to 'Format String Checking', and reorder the text slightly to try to make the final code block actually get rendered.
llvm-svn: 175112
2013-02-14 00:22:00 +00:00
Richard Smith f6d2d3bb40 Document Clang's support for [[gnu::...]] attributes.
llvm-svn: 175110
2013-02-14 00:13:34 +00:00
Argyrios Kyrtzidis f0ad09f8f6 [docs] The stat cache has been removed from the PCH, update the docs to remove mentions of it.
llvm-svn: 175109
2013-02-14 00:12:44 +00:00
Jordan Rose d9759fdb03 Release notes: mention support for Unicode and UCNs in identifiers.
I'm using the name "Extended Identifiers" for the feature because that's
what GCC calls them. According to the standard, the new feature is
"universal character names are now allowed in identifiers", but the more
interesting "feature" is that identifiers can now contain Unicode characters,
however they are written.

llvm-svn: 174798
2013-02-09 02:12:23 +00:00
Dmitri Gribenko 50e5924e43 Documentation: fix typo: stdard -> stdarg
llvm-svn: 174613
2013-02-07 14:48:33 +00:00
Dmitri Gribenko 90ccd44e94 Documentation: add information about builtin includes to FAQ
llvm-svn: 174612
2013-02-07 14:36:37 +00:00
Manuel Klimek bee085762b Implements equalsNode for Decl and Stmt.
This is a powerful tool when doing iterative refined matches,
where another match is started inside the match callback of the first
one; this allows for example to find out whether the node was in
the condition or body of its parent if-statement.

llvm-svn: 174605
2013-02-07 12:42:10 +00:00
Manuel Klimek 4feac28e0e 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.

llvm-svn: 174540
2013-02-06 20:36:22 +00:00
Jordan Rose 1f25dcb167 [analyzer] Add a doc describing the internals of RegionStore.
This is a text file with Markdown-ish formatting because we haven't decided
where analyzer internal documents should go, but it's probably better to
have this in source control than sitting on my local drive forever.

llvm-svn: 174398
2013-02-05 17:31:34 +00:00
Ted Kremenek 653f523664 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.

llvm-svn: 174344
2013-02-05 06:33:47 +00:00
Ted Kremenek e2af9b5d2c Remove sparse text on diagnostic options. These are not really documented anywhere, and they really aren't for normal users.
llvm-svn: 174338
2013-02-05 05:55:21 +00:00
Manuel Klimek abf4371339 Implements the convenience matcher findAll.
We found that findAll has been implemented incorrectly multiple times
by various people using the matchers. To prevent further wasted
development effort, it makes sense to add it as convenience matcher
implemented as eachOf(m, forEachDescendant(m)).

This patch also updates the docs with the new matchers.

llvm-svn: 174320
2013-02-04 10:59:20 +00:00
Anna Zaks 70aa53180d [analyzer] Remove further references to analyzer-ipa.
Thanks Jordan!

llvm-svn: 173955
2013-01-30 19:12:26 +00:00
Dmitri Gribenko 2625cf06ff Documentation: fix escaping in JSON example
llvm-svn: 173950
2013-01-30 17:58:39 +00:00
Dmitri Gribenko b46dc57feb Documentation: add a link to Bear, a tool to help with JSON DB
Patch by Laszlo Nagy

llvm-svn: 173949
2013-01-30 17:58:14 +00:00
Chad Rosier ae229d599b [ubsan] Implement the -fcatch-undefined-behavior flag using a trapping
implementation; this is much more inline with the original implementation
(i.e., pre-ubsan) and does not require run-time library support.

The trapping implementation can be invoked using either '-fcatch-undefined-behavior'
or '-fsanitize=undefined-trap -fsanitize-undefined-trap-on-error', with the latter
being preferred.  Eventually, the -fcatch-undefined-behavior' flag will be removed.

llvm-svn: 173848
2013-01-29 23:31:22 +00:00
Sean Silva cc8fbbf129 docs: clear up ambiguity
Anybody using clang is a "developer".

llvm-svn: 173282
2013-01-23 18:28:48 +00:00
Dmitri Gribenko 18d8a461e5 Documentation: add a note that -cc1 options are not guaranteed to be stable
llvm-svn: 173280
2013-01-23 18:02:28 +00:00
Dmitri Gribenko c6f1e56745 Update docs: nullptr conversion tool landed
llvm-svn: 173183
2013-01-22 19:22:22 +00:00
Dmitri Gribenko 764ea24cfd Documentation: formatting
llvm-svn: 172729
2013-01-17 17:04:54 +00:00
Aaron Ballman 1f0fa91bed Adding verbiage to the Language Extensions document about __has_include and __has_include_next only being allowed within preprocessor directives.
llvm-svn: 172643
2013-01-16 19:51:19 +00:00
Dmitri Gribenko fb5b2245c1 Documentation: fix typo
llvm-svn: 172588
2013-01-16 01:17:05 +00:00
Douglas Gregor 250ee63515 Document the redeclaration and overriding restrictions on the
availability attribute.

llvm-svn: 172587
2013-01-16 01:12:31 +00:00
Dmitri Gribenko fdfc739277 Document that we should recognize attributes supported by gcc with C++11
[[gnu::...]] syntax

Pointed out by Richard Smith on the mailing list.

llvm-svn: 172487
2013-01-14 22:44:07 +00:00
Dmitri Gribenko dc81f51d37 Document behavior of -Wformat-nonliteral, it is different from GCC
llvm-svn: 172362
2013-01-13 16:37:18 +00:00
Michael Gottesman c5cc9f154d Updated documentation to reflect new multiprecision builtin functions.
llvm-svn: 172345
2013-01-13 04:35:31 +00:00
Nikola Smiljanic 9d22fb11ba Fix spelling error and remove the part about CMake having experimental Ninja support since 2.8.9 has been released some time ago.
llvm-svn: 172182
2013-01-11 07:23:53 +00:00
Nikola Smiljanic 7835e3d1fe Revert the line ending mess I made.
llvm-svn: 172179
2013-01-11 07:14:58 +00:00
Nikola Smiljanic f1bb07f1d8 Fix spelling error and remove the part about CMake having experimental Ninja support since 2.8.9 has been released some time ago.
llvm-svn: 172177
2013-01-11 07:09:00 +00:00
Dmitri Gribenko dd7d8a0f35 ClangTools.rst: spelling and formatting
llvm-svn: 172008
2013-01-09 22:22:51 +00:00
Dmitri Gribenko cb9ede9437 ClangFormat.rst: improve formatting
llvm-svn: 172007
2013-01-09 22:18:55 +00:00
Daniel Jasper 85a77c1609 Add documentation for clang-format.
This adds documentation for both LibFormat as well as the standalone
tools and integrations built on top of it. It slightly restructures
the ClangTools documentation.

llvm-svn: 172004
2013-01-09 21:49:28 +00:00
Manuel Klimek cdd5c2397a Fixes dump_ast_matchers to parse all matcher macros and updates the
docs.

llvm-svn: 171962
2013-01-09 09:38:21 +00:00
Nico Weber 69dce49c76 Don't mention -fno-diagnostics-print-source-range-info in manual.
Clang doesn't understand it.

If someone wants to teach clang about that flag instead, please also add
support for -fno-diagnostics-parseable-fixits for consistency.

Until then, let the documentation match the current behavior.

llvm-svn: 171952
2013-01-09 05:06:41 +00:00
Michael Gottesman 675444d5de Removed extra "`" from ARC documentation.
llvm-svn: 171920
2013-01-08 23:55:10 +00:00
Sean Silva 3703823b89 docs: "clang tools" are not a different interface.
I spotted someone confused about this, so remove the heading to make it
clear that they really are a part of Tooling.

llvm-svn: 171841
2013-01-08 04:42:09 +00:00
Michael Gottesman 6fd5846b57 Converted Block-ABI-Apple.txt => Block-ABI-Apple.rst.
llvm-svn: 171799
2013-01-07 22:24:45 +00:00
Sean Silva 449e4926a6 docs: Fix inconsistent titles.
Sphinx was whining about this.

llvm-svn: 171796
2013-01-07 21:46:47 +00:00
Sean Silva dc92fc3426 docs: Copy Block-ABI-Apple.txt to output.
This fixes the URL permanence of that URL. This is a bit of a hack. See
the FIXME in the patch for what the "real" solution should be.

llvm-svn: 171795
2013-01-07 21:46:35 +00:00
Daniel Dunbar 5cfa4aeee5 [docs/analyzer] Test commit (for auto-update).
llvm-svn: 171788
2013-01-07 20:44:37 +00:00
Daniel Dunbar 98a93b3845 [docs] Fix an inconsistent title level, and a sphinx warning.
- We don't need any static files currently, so drop that dir.

llvm-svn: 171787
2013-01-07 20:43:06 +00:00
Daniel Dunbar 48f8bc895b [docs/analyzer] Convert existing debug-checks document to Sphinx and link into doctree.
llvm-svn: 171786
2013-01-07 20:38:55 +00:00
Dmitri Gribenko 5f3c9200e5 ClangTools doc: add ideas for new tools in clang-tools-extra to ensure that
these ideas don't get lost

llvm-svn: 171667
2013-01-06 20:19:09 +00:00
Dmitri Gribenko 4077efc146 Clang docs: add some information about the difference between 'clang' and 'clang -cc1'
This is coming up again and again on the mailing list and IRC.

llvm-svn: 171656
2013-01-06 13:38:34 +00:00
Sean Silva ab3314f4d7 Add docs/README.txt to point to llvm/docs/README.txt.
llvm-svn: 171426
2013-01-02 23:25:41 +00:00
Sean Silva cd61d28c4a analyzer: add initial Sphinx configuration
This is just the output of sphinx-quickstart. Now all that is needed
to begin converting the analyzer docs to reST is the server-side setup.

The analyzer folks have asked me to keep this segregated from the other
clang docs since the analyzer is a logically separate project (and has
its own separate web page) even though it resides in the clang tree.

llvm-svn: 171425
2013-01-02 23:07:22 +00:00
Sean Silva 437db15978 Exclude docs/analyzer/ from the default Sphinx build.
This paves the way for converting the analyzer docs to Sphinx (by
setting up a nested Sphinx tree in this directory).

llvm-svn: 171424
2013-01-02 22:48:50 +00:00
Sean Silva b045514abf docs: Mark ReleaseNotes as "In-Progress"
Even though we do have a `.. warning::` directive on the page, hopefully
having "In-Progress" in the title will help to condition people's
expectations a bit for when they run into the extremely bare-bones
release notes.

Also, when release season comes around again, maybe this will get
people's attention and avoid confusion about what is going into the
upcoming release, and what is for changes to trunk for the next version.

llvm-svn: 171419
2013-01-02 22:05:33 +00:00
Sean Silva aaa78eefe7 docs: Take advantage of extra level of headings.
The way Sphinx treats the "top-level" adornments is weird. It usually
uses the first top-level adornment as the page title, even if the
top-level adornment is just one "section" out of many (i.e. if the first
section is "Introduction", then it will make the page title be
"Introduction"). This behavior can be overriden by using an explicit
`..  title::` directive to set the title.

Since the Sphinx stylesheet that Clang is currently using ('haiku')
nicely puts the document title at the top of the page in the header,
this weird default behavior was resulting in a redundant "title" in the
body content. Getting rid of this redundant level of headings
effectively "exposes" one more level of heading from the stylesheet to
which now makes the real "sections" more distinct.

llvm-svn: 171417
2013-01-02 21:50:48 +00:00
Sean Silva 13d43feb11 docs: Curb excessive table-of-contents depth.
llvm-svn: 171410
2013-01-02 21:09:58 +00:00
Sean Silva f380e0e24b docs: Reorganize landing page.
Language extensions are highly relevant to using clang as a compiler, so
move LanguageExtensions up into `Using Clang as a Compiler` on the
landing page.

The other documents from the now-gone `Language Extensions and Specs`
section on the landing page nicely fit hierarchically under
LanguageExtensions.rst, so put them under LanguageExtensions.rst's
toctree instead of on the landing page.

Impetus from Jordan Rose.

llvm-svn: 171409
2013-01-02 21:03:11 +00:00
Sean Silva 29b7a60b12 docs: Fix spelling error.
Spotted by Nikola Smiljanic.

llvm-svn: 171407
2013-01-02 20:22:14 +00:00
Sean Silva 6d2be4a24d docs: `3.2` -> `3.3`
llvm-svn: 171384
2013-01-02 13:25:05 +00:00
Sean Silva ebf3a0e465 docs: Remove useless discussion.
The linked Makefile is always up to date, so there's no point in having
a rotting list of libraries.

llvm-svn: 171383
2013-01-02 13:23:37 +00:00
Sean Silva 173d252601 docs: Fix up HTML links to proper reST links.
llvm-svn: 171382
2013-01-02 13:07:47 +00:00
Sean Silva 8966c60cae docs: clang-format is coming down the pike, mention it
llvm-svn: 171380
2013-01-02 12:49:25 +00:00
Sean Silva dd9f40641c docs: Reorganize landing page.
I clustered the docs by some intuitive/fuzzy notion of "similarity", and
some reasonable categories seemed to materialize. I tried to give the
clusters useful names, but you may want to take a look at the landing
page (<http://clang.llvm.org/docs/> for the lazy) and share your
thoughts.

I have to say, this small change really gives the docs a whole new life!
It makes our documentation quite a bit easier to navigate and scope out.

llvm-svn: 171379
2013-01-02 12:41:24 +00:00
Sean Silva bb220f08e2 remove random spaces
llvm-svn: 171378
2013-01-02 12:40:31 +00:00
Sean Silva 2c58e5ed63 docs: Change title.
The core of this page is a set of pros/cons for the different ways to
use clang as a library. The title should reflect that the page helps you
choose between alternatives.

llvm-svn: 171377
2013-01-02 12:40:15 +00:00
Sean Silva d2a98e6dbb docs: Decrease toctree depth on landing page.
Having the table of contents there was making it hard to easily see at a
glance all the docs we have.

llvm-svn: 171376
2013-01-02 12:39:50 +00:00
Sean Silva ff15b34dda docs: Sphinx conversion is "done"
llvm-svn: 171375
2013-01-02 12:39:02 +00:00
NAKAMURA Takumi 43632a26a5 Update the copyright coredits -- Happy new year 2013!
llvm-svn: 171342
2013-01-01 10:00:19 +00:00
Dmitri Gribenko 114d895e26 Documentation: PTHInternals: use correct adornments and fix typos
Fixes PR14014

llvm-svn: 171005
2012-12-23 18:39:54 +00:00
Dmitri Gribenko 46735cb9ce Documentation: fix a syntax error: empty line required after code-block::
llvm-svn: 171004
2012-12-23 18:36:44 +00:00
Dmitri Gribenko dd20f2c3eb Documentation: add MemorySanitizer to the toctree
llvm-svn: 171003
2012-12-23 18:35:58 +00:00
Sean Silva fe25144e68 docs: Convert ReleaseNotes to reST.
This is the last of the "regular" documents to convert to reST, and so
I'm declaring the initial clang reST conversion "done".

However,

- There are some documents in clang/www/ which probably should
  be migrated into clang/docs/, such as www/OpenProjects.html

  The primary thing blocking me from doing this right now is not knowing
  how to set up a redirect so that the old URL's continue to work.

- LibASTMatchersReference.html is not reST. This page is auto-generated
  by clang/docs/tools/dump_ast_matchers.py from the source and has some
  collapse/expand logic that isn't expressible directly with Sphinx, so
  just converting it to reST is not really a good strategy.

  Manuel Klimek and I discussed this and the general agreed-upon
  direction is making that page data-driven so that it, say, pulls in an
  auto-generated blob of JSON which describes the matchers and builds up
  the "matcher reference" part of the page with a small amount of JS.

- There are some rogue .txt files hanging around.

Also, I dropped the little dragon logo at the top because Sphinx was
warning about an external image reference (not sure why, but meh, I
didn't want to fight it). If anything, we would want such a logo
integrated into the site's overall theme, rather than hardcoded here.

llvm-svn: 170994
2012-12-23 01:19:35 +00:00
Benjamin Kramer a296431357 Clean out release notes for clang 3.3
llvm-svn: 170987
2012-12-22 16:12:31 +00:00
Evgeniy Stepanov acef0e66a6 Slight rewording of -fsanitize=memory docs.
llvm-svn: 170880
2012-12-21 10:53:20 +00:00
Evgeniy Stepanov 17d5590003 User manual chapter on MemorySanitizer.
llvm-svn: 170879
2012-12-21 10:50:00 +00:00
Dmitry Vyukov 42de108861 Remove the working that ThreadSanitizer is *experimental*.
llvm-svn: 170868
2012-12-21 08:21:25 +00:00
Sean Silva 426914a549 docs: Convert ObjectiveCLiterals to reST.
Sphinx's syntax highlighter doesn't recognize the new literals, so the
syntax highlighting is pretty pathetic.

llvm-svn: 170814
2012-12-21 00:17:02 +00:00
Sean Silva 2ff89eb835 docs: fix Sphinx toctree warning.
llvm-svn: 170813
2012-12-21 00:16:58 +00:00
Sean Silva 5f25c50e91 docs: Convert DriverInternals to reST.
llvm-svn: 170812
2012-12-21 00:16:53 +00:00
Dmitri Gribenko b420ef75fb Documentation: use monospaced font in BlockLanguageSpec, and fix a link to this
document

llvm-svn: 170762
2012-12-20 20:51:59 +00:00
Michael Gottesman 2799ad4cce Updated link in LanguageExtensions.rst to point to BlockLanguageSpec.rst instead of BlockLanguageSpec.txt.
Thanks to Jean-Daniel Dupas for comments!

llvm-svn: 170644
2012-12-20 03:23:52 +00:00
Michael Gottesman 5cf1f65dc9 Changed UTF-8 emdashes to --- ala Dmitri Gribenko's comments.
llvm-svn: 170643
2012-12-20 03:23:49 +00:00
Dmitri Gribenko 1436ff2ef8 Documentation: UsersManual.rst: some cleanups after semi-automatic conversion
llvm-svn: 170590
2012-12-19 22:06:59 +00:00
Michael Gottesman 42845efb2d Forgot to remove trailing whitespace when I converted the BlockLanguageSpec.txt => BlockLanguageSpec.rst. It has been eliminated.
llvm-svn: 170572
2012-12-19 18:42:42 +00:00
Michael Gottesman b166b92908 Converted BlockLanguageSpec.txt => BlockLanguageSpec.rst.
llvm-svn: 170571
2012-12-19 18:41:09 +00:00
Sean Silva 62737b65b1 docs: Nuke AnalyzerRegions.rst.
As per Ted's advice. It can be brought back from version control if
needed.

This also fixes a Sphinx warning.

llvm-svn: 170401
2012-12-18 02:15:05 +00:00
Dmitry Vyukov ca2d2e11ac tsan: correct llvm libc++ name
llvm-svn: 170326
2012-12-17 13:07:35 +00:00
Dmitry Vyukov a53767ea22 tsan: add __has_feature(thread_sanitizer)
llvm-svn: 170314
2012-12-17 08:52:05 +00:00
Dmitry Vyukov be66bf152e tsan: update docs
llvm-svn: 170311
2012-12-17 07:16:54 +00:00
Chandler Carruth 1aa9f173fc Clean up a small (messy) section of Clang's release notes for 3.2.
llvm-svn: 170309
2012-12-17 06:24:36 +00:00
Dmitri Gribenko 544bd61989 Documentation: add a missing word
llvm-svn: 170296
2012-12-16 19:55:39 +00:00
Dmitri Gribenko 2d1fa58fa9 Clang ReleaseNotes: add information about documentation comments support
llvm-svn: 170294
2012-12-16 17:38:09 +00:00
Dmitri Gribenko 7730cf0b62 Documentation: AutomaticReferenceCounting.rst: use CSS section numbering.
This enables us to use the same document structure as in other files.

llvm-svn: 170283
2012-12-16 11:25:45 +00:00
Sean Silva 55b7cbe8ed docs: Fix completely broken adornment structure.
The adornment:

===
Foo
===

is for titles, not sections.

llvm-svn: 170278
2012-12-16 00:23:40 +00:00
Dmitri Gribenko 7ac0cc3698 Documentation: random cleanups. Use monospaced font where appropriate,
highlight console output with "code-block:: console", etc.

llvm-svn: 170276
2012-12-15 21:10:51 +00:00
Dmitri Gribenko d9d26072d6 Documentation: convert InternalsManual.html to reST
Patch by Anastasi Voitova with with small fixes by me.

llvm-svn: 170275
2012-12-15 20:41:17 +00:00
Dmitri Gribenko ace09a2466 Documentation: LanguageExtensions.rst: convert link to :doc: style and fix up
heading underline.

llvm-svn: 170272
2012-12-15 14:25:25 +00:00
Jordan Rose 32e9489058 Docs: redirect "static analysis extensions" section to the analyzer site.
The notes on the objc_method_family and ns_returns_retained-type attributes
have been moved to the Objective-C section, since both are used by ARC.
The notes on analyzer_noreturn are now only on the analyzer site.

The inadequacy of these docs was noticed months ago by Jonathan Sauer;
I'm only just now getting around to cleaning them up.

llvm-svn: 170261
2012-12-15 00:37:01 +00:00
Jordan Rose ba8307d2e5 Remove old description of analyzer internals from public docs.
The file still exists in docs/analyzer/, but it won't be linked to from
clang.llvm.org or processed as part of the default Sphinx doc-build.
RegionStore has changed a lot from what Ted and Zhongxing describe here!

llvm-svn: 170260
2012-12-15 00:36:53 +00:00
Edwin Vane 524741fbbd Style and Doc fix for CommonOptionsParser
- Renaming GetCompilations() and GetSourcePathList() to follow LLVM
  style.
- Updating docs to reflect name change.
- Also updating help text to not mention clang-check since this class
  can be used by any tool.

Reviewed By: Alexander Kornienko

llvm-svn: 170229
2012-12-14 18:58:25 +00:00
Dmitri Gribenko 795774018e Documentation: add AutomaticReferenceCounting.rst to the toctree
llvm-svn: 170133
2012-12-13 16:06:00 +00:00
Dmitri Gribenko 6c48a8c4ee Documentation: convert AutomaticReferenceCounting.html to reST
Patch by Anastasi Voitova with with small fixes by me.

llvm-svn: 170132
2012-12-13 16:04:37 +00:00
Richard Smith bb741f4552 Point a hyperlink back to where it was before it got reStructured.
llvm-svn: 170110
2012-12-13 07:29:23 +00:00
Richard Smith 1629da95fe ubsan: Add -fsanitize=bool and -fsanitize=enum, which check for loads of
bit-patterns which are not valid values for enumerated or boolean types.
These checks are the ubsan analogue of !range metadata.

llvm-svn: 170108
2012-12-13 07:11:50 +00:00