aboutsummaryrefslogtreecommitdiff
path: root/clang/docs/index.rst
AgeCommit message (Collapse)AuthorFilesLines
2016-06-02[docs] Document the source-based code coverage featureVedant Kumar1-0/+1
Differential Revision: http://reviews.llvm.org/D20715 llvm-svn: 271454
2016-04-28Re-apply r267784, r267824 and r267830.Peter Collingbourne1-0/+1
I have updated the compiler-rt tests. llvm-svn: 267903
2016-04-28Revert r267784, r267824 and r267830.Benjamin Kramer1-1/+0
It makes compiler-rt tests fail if the gold plugin is enabled. Revert "Rework interface for bitset-using features to use a notion of LTO visibility." Revert "Driver: only produce CFI -fvisibility= error when compiling." Revert "clang/test/CodeGenCXX/cfi-blacklist.cpp: Exclude ms targets. They would be non-cfi." llvm-svn: 267871
2016-04-27Rework interface for bitset-using features to use a notion of LTO visibility.Peter Collingbourne1-0/+1
Bitsets, and the compiler features they rely on (vtable opt, CFI), only have visibility within the LTO'd part of the linkage unit. Therefore, only enable these features for classes with hidden LTO visibility. This notion is based on object file visibility or (on Windows) dllimport/dllexport attributes. We provide the [[clang::lto_visibility_public]] attribute to override the compiler's LTO visibility inference in cases where the class is defined in the non-LTO'd part of the linkage unit, or where the ABI supports calling classes derived from abstract base classes with hidden visibility in other linkage units (e.g. COM on Windows). If the cross-DSO CFI mode is enabled, bitset checks are emitted even for classes with public LTO visibility, as that mode uses a separate mechanism to cause bitsets to be exported. This mechanism replaces the whole-program-vtables blacklist, so remove the -fwhole-program-vtables-blacklist flag. Because __declspec(uuid()) now implies [[clang::lto_visibility_public]], the support for the special attr:uuid blacklist entry is removed. Differential Revision: http://reviews.llvm.org/D18635 llvm-svn: 267784
2016-03-09NFC fix documentation build by rL263015Dmitry Polukhin1-0/+1
This time I hope it will fix the build for real. llvm-svn: 263052
2016-01-16Introduce -fsanitize-stats flag.Peter Collingbourne1-0/+1
This is part of a new statistics gathering feature for the sanitizers. See clang/docs/SanitizerStats.rst for further info and docs. Differential Revision: http://reviews.llvm.org/D16175 llvm-svn: 257971
2015-12-04Clang documentation for UBSan.Alexey Samsonov1-0/+1
Summary: Create a separate page describing UBSan tool, move the description of fine-grained checks there, provide extra information about supported platforms, symbolization etc. This text is compiled from four parts: * Existing documentation copied from User's Manual * Layout used in documentation for another sanitizers (ASan, MSan etc.) * Text written from scratch * Small parts taken from Michael Morrison's attempt at creating UBSan page: http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20141215/249503.html Reviewers: kcc, rsmith, silvas Subscribers: tberghammer, danalbert, srhines, kcc Differential Revision: http://reviews.llvm.org/D15217 llvm-svn: 254733
2015-06-30Sphinx-based clang man pagesAndrew Wilkins1-0/+1
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 llvm-svn: 241037
2015-06-15Protection against stack-based memory corruption errors using SafeStack: ↵Peter Collingbourne1-0/+1
Clang command line option and function attribute This patch adds the -fsanitize=safe-stack command line argument for clang, which enables the Safe Stack protection (see http://reviews.llvm.org/D6094 for the detailed description of the Safe Stack). This patch is our implementation of the safe stack on top of Clang. The patches make the following changes: - Add -fsanitize=safe-stack and -fno-sanitize=safe-stack options to clang to control safe stack usage (the safe stack is disabled by default). - Add __attribute__((no_sanitize("safe-stack"))) attribute to clang that can be used to disable the safe stack for individual functions even when enabled globally. Original patch by Volodymyr Kuznetsov and others at the Dependable Systems Lab at EPFL; updates and upstreaming by myself. Differential Revision: http://reviews.llvm.org/D6095 llvm-svn: 239762
2015-04-23Add clang/docs/SanitizerCoverage.rstSergey Matveev1-0/+1
Moved from https://code.google.com/p/address-sanitizer/wiki/AsanCoverage llvm-svn: 235643
2015-02-20Implement Control Flow Integrity for virtual calls.Peter Collingbourne1-0/+1
This patch introduces the -fsanitize=cfi-vptr flag, which enables a control flow integrity scheme that checks that virtual calls take place using a vptr of the correct dynamic type. More details in the new docs/ControlFlowIntegrity.rst file. It also introduces the -fsanitize=cfi flag, which is currently a synonym for -fsanitize=cfi-vptr, but will eventually cover all CFI checks implemented in Clang. Differential Revision: http://reviews.llvm.org/D7424 llvm-svn: 230055
2014-02-28Add Clang docs about MSVC compatibilityReid Kleckner1-0/+1
This documents some of the status of supported functionality in MSVC quirks mode. Some of this should be in http://clang.llvm.org/compatibility.html instead when things have stabilized. llvm-svn: 202559
2014-02-19Until attribute documentation is implemented as a server-side feature, I ↵Aaron Ballman1-1/+1
will be manually committing AttributeReference.rst so that attribute documentation can be on the live server instead of simply disappearing from the language extensions page without obvious replacement. This is a temporary stop-gap solution until server-side generation is implemented, at which point the AttributeReference.rst will go back to holding placeholder text. llvm-svn: 201733
2014-02-18Updated documentation for Thread Safety Analysis.DeLesley Hutchins1-0/+1
llvm-svn: 201598
2014-02-17Implements a declarative approach to documenting individual attributes in ↵Aaron Ballman1-0/+1
Clang via a Documentation tablegen class. Also updates the internals manual with information about how to use this new, required, documentation feature. This patch adds some very, very sparse initial documentation for some attributes. Additional effort from attribute authors is greatly appreciated. llvm-svn: 201515
2013-12-10Rewrite docs/LeakSanitizer.rst. Add it to index.Sergey Matveev1-5/+1
llvm-svn: 196957
2013-09-09[docs] Fix Sphinx toctree warning.Sean Silva1-0/+5
Last I heard LSan is getting close to prime-time, but for now keep LeakSanitizer.rst hidden (especially since it contains so little content). llvm-svn: 190337
2013-09-08Adding cross-compilation instructions to ClangRenato Golin1-0/+1
llvm-svn: 190281
2013-09-04Added documentation for clang-format style options.Alexander Kornienko1-0/+1
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 llvm-svn: 189946
2013-08-14Add support for -fsanitize-blacklist and default blacklists for DFSan.Peter Collingbourne1-0/+1
Also add some documentation. Differential Revision: http://llvm-reviews.chandlerc.com/D1346 llvm-svn: 188403
2013-08-07Documentation for sanitizer special case list format and ↵Alexey Samsonov1-0/+1
-f(no-)?sanitize-blacklist flag llvm-svn: 187871
2013-03-22More documentation on the module map language.Douglas Gregor1-0/+1
llvm-svn: 177704
2013-02-19[docs] Rename to permit wider variety of content.Sean Silva1-1/+1
I don't want to rule out the possibility of linking to e.g. interesting blog posts about uses of Clang, so avoid restricting the content to "projects". This breaks URL compatibility, but this document was committed less than an hour ago so hopefully nobody has linked to it yet. llvm-svn: 175535
2013-02-19[docs] Introduce ExternalProjectsUsingClang.rstSean Silva1-0/+1
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-01-09Add documentation for clang-format.Daniel Jasper1-1/+11
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-06Clang docs: add some information about the difference between 'clang' and ↵Dmitri Gribenko1-0/+1
'clang -cc1' This is coming up again and again on the mailing list and IRC. llvm-svn: 171656
2013-01-02docs: Take advantage of extra level of headings.Sean Silva1-5/+4
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-02docs: Reorganize landing page.Sean Silva1-12/+1
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-02docs: Reorganize landing page.Sean Silva1-13/+43
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-02docs: Decrease toctree depth on landing page.Sean Silva1-1/+1
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-02docs: Sphinx conversion is "done"Sean Silva1-3/+0
llvm-svn: 171375
2012-12-23Documentation: add MemorySanitizer to the toctreeDmitri Gribenko1-1/+2
llvm-svn: 171003
2012-12-23docs: Convert ReleaseNotes to reST.Sean Silva1-0/+1
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-21docs: Convert ObjectiveCLiterals to reST.Sean Silva1-0/+1
Sphinx's syntax highlighter doesn't recognize the new literals, so the syntax highlighting is pretty pathetic. llvm-svn: 170814
2012-12-21docs: fix Sphinx toctree warning.Sean Silva1-0/+1
llvm-svn: 170813
2012-12-21docs: Convert DriverInternals to reST.Sean Silva1-0/+1
llvm-svn: 170812
2012-12-15Documentation: convert InternalsManual.html to reSTDmitri Gribenko1-1/+1
Patch by Anastasi Voitova with with small fixes by me. llvm-svn: 170275
2012-12-15Remove old description of analyzer internals from public docs.Jordan Rose1-1/+0
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-13Documentation: add AutomaticReferenceCounting.rst to the toctreeDmitri Gribenko1-0/+1
llvm-svn: 170133
2012-12-13docs: More reST conversion.Sean Silva1-0/+11
Sorry for the large commit, but it is much faster to convert in batches. llvm-svn: 170067
2012-12-12docs: Convert some docs to reST.Sean Silva1-0/+6
Converts: LanguageExtensions LibASTMatchers LibTooling PCHInternals ThreadSanitizer Tooling Patch by Mykhailo Pustovit! (with minor edits by Dmitri Gribenko and Sean Silva) llvm-svn: 170048
2012-12-12docs: Another test commit (sphinx autoupdating).Daniel Dunbar1-1/+1
llvm-svn: 170047
2012-12-12docs: Test commit (sphinx autoupdating).Daniel Dunbar1-1/+1
llvm-svn: 170046
2012-12-12docs: Initial Sphinx setup for Clang.Sean Silva1-0/+23
I don't think this will be visible just yet on <clang.llvm.org/docs/> since I don't think that the necessary server-side setup has taken place. Don't shoot me over the theme. I don't want to duplicate LLVM's theme into the clang repo at the moment, so I just used one of Sphinx's default themes. llvm-svn: 170042