summaryrefslogtreecommitdiffstats
path: root/clang/docs/index.rst
Commit message (Collapse)AuthorAgeFilesLines
* Add the -fsanitize=shadow-call-stack flagVlad Tsyrklevich2018-04-031-0/+1
| | | | | | | | | | | | | | | | | Summary: Add support for the -fsanitize=shadow-call-stack flag which causes clang to add ShadowCallStack attribute to functions compiled with that flag enabled. Reviewers: pcc, kcc Reviewed By: pcc, kcc Subscribers: cryptoad, cfe-commits, kcc Differential Revision: https://reviews.llvm.org/D44801 llvm-svn: 329122
* [OPENMP] Current status of OpenMP support.Alexey Bataev2018-01-081-0/+1
| | | | | | | | | | | | Summary: Some info about supported features of OpenMP 4.5-5.0. Reviewers: hfinkel, rsmith Subscribers: kkwli0, Hahnfeld, cfe-commits Differential Revision: https://reviews.llvm.org/D39457 llvm-svn: 322018
* design document for a hardware-assisted memory safety (HWAMS) tool, similar ↵Kostya Serebryany2017-12-041-0/+1
| | | | | | | | | | | | | | | | | | | | to AddressSanitizer Summary: preliminary design document for a hardware-assisted memory safety (HWAMS) tool, similar to AddressSanitizer The name TaggedAddressSanitizer and the rest of the document, are early draft, suggestions are welcome. The code will follow shortly. Reviewers: eugenis, alekseyshl Reviewed By: eugenis Subscribers: davidxl, cryptoad, fedor.sergeev, cfe-commits, llvm-commits Differential Revision: https://reviews.llvm.org/D40568 llvm-svn: 319684
* [docs][refactor] Add refactoring engine design documentationAlex Lorenz2017-09-291-0/+1
| | | | | | | | | This commit adds a refactoring engine design document that talks about the design and provides several example of how the engine can be used. Differential Revision: https://reviews.llvm.org/D37976 llvm-svn: 314509
* [docs] Add TableGen-based generator for command line argument documentation,Richard Smith2017-01-241-0/+1
| | | | | | | and generate documentation for all (non-hidden) options supported by the 'clang' driver. llvm-svn: 292968
* Add documentation describing the components of a complete toolchain ↵Richard Smith2016-10-271-0/+1
| | | | | | including Clang. llvm-svn: 285341
* [docs] Add ThinLTO user documentationTeresa Johnson2016-09-211-0/+1
| | | | | | | | | | | | Summary: Add some user facing documentation on ThinLTO and how to use it. Reviewers: mehdi_amini Subscribers: mehdi_amini, cfe-commits Differential Revision: https://reviews.llvm.org/D24806 llvm-svn: 282089
* Add a mode to clang-tblgen to generate reference documentation for warning andRichard Smith2016-09-121-0/+1
| | | | | | | | remark flags. For now I'm checking in a copy of the built documentation, but we can replace this with a placeholder (as we do for the attributes reference documentation) once we enable building this server-side. llvm-svn: 281192
* [docs] Document the source-based code coverage featureVedant Kumar2016-06-021-0/+1
| | | | | | Differential Revision: http://reviews.llvm.org/D20715 llvm-svn: 271454
* Re-apply r267784, r267824 and r267830.Peter Collingbourne2016-04-281-0/+1
| | | | | | I have updated the compiler-rt tests. llvm-svn: 267903
* Revert r267784, r267824 and r267830.Benjamin Kramer2016-04-281-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
* Rework interface for bitset-using features to use a notion of LTO visibility.Peter Collingbourne2016-04-271-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
* NFC fix documentation build by rL263015Dmitry Polukhin2016-03-091-0/+1
| | | | | | This time I hope it will fix the build for real. llvm-svn: 263052
* Introduce -fsanitize-stats flag.Peter Collingbourne2016-01-161-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
* Clang documentation for UBSan.Alexey Samsonov2015-12-041-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
* Sphinx-based clang man pagesAndrew Wilkins2015-06-301-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
* Protection against stack-based memory corruption errors using SafeStack: ↵Peter Collingbourne2015-06-151-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
* Add clang/docs/SanitizerCoverage.rstSergey Matveev2015-04-231-0/+1
| | | | | | Moved from https://code.google.com/p/address-sanitizer/wiki/AsanCoverage llvm-svn: 235643
* Implement Control Flow Integrity for virtual calls.Peter Collingbourne2015-02-201-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
* Add Clang docs about MSVC compatibilityReid Kleckner2014-02-281-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
* Until attribute documentation is implemented as a server-side feature, I ↵Aaron Ballman2014-02-191-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
* Updated documentation for Thread Safety Analysis.DeLesley Hutchins2014-02-181-0/+1
| | | | llvm-svn: 201598
* Implements a declarative approach to documenting individual attributes in ↵Aaron Ballman2014-02-171-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
* Rewrite docs/LeakSanitizer.rst. Add it to index.Sergey Matveev2013-12-101-5/+1
| | | | llvm-svn: 196957
* [docs] Fix Sphinx toctree warning.Sean Silva2013-09-091-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
* Adding cross-compilation instructions to ClangRenato Golin2013-09-081-0/+1
| | | | llvm-svn: 190281
* Added documentation for clang-format style options.Alexander Kornienko2013-09-041-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
* Add support for -fsanitize-blacklist and default blacklists for DFSan.Peter Collingbourne2013-08-141-0/+1
| | | | | | | | Also add some documentation. Differential Revision: http://llvm-reviews.chandlerc.com/D1346 llvm-svn: 188403
* Documentation for sanitizer special case list format and ↵Alexey Samsonov2013-08-071-0/+1
| | | | | | -f(no-)?sanitize-blacklist flag llvm-svn: 187871
* More documentation on the module map language.Douglas Gregor2013-03-221-0/+1
| | | | llvm-svn: 177704
* [docs] Rename to permit wider variety of content.Sean Silva2013-02-191-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
* [docs] Introduce ExternalProjectsUsingClang.rstSean Silva2013-02-191-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
* Add documentation for clang-format.Daniel Jasper2013-01-091-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
* Clang docs: add some information about the difference between 'clang' and ↵Dmitri Gribenko2013-01-061-0/+1
| | | | | | | | 'clang -cc1' This is coming up again and again on the mailing list and IRC. llvm-svn: 171656
* docs: Take advantage of extra level of headings.Sean Silva2013-01-021-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
* docs: Reorganize landing page.Sean Silva2013-01-021-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
* docs: Reorganize landing page.Sean Silva2013-01-021-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
* docs: Decrease toctree depth on landing page.Sean Silva2013-01-021-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
* docs: Sphinx conversion is "done"Sean Silva2013-01-021-3/+0
| | | | llvm-svn: 171375
* Documentation: add MemorySanitizer to the toctreeDmitri Gribenko2012-12-231-1/+2
| | | | llvm-svn: 171003
* docs: Convert ReleaseNotes to reST.Sean Silva2012-12-231-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
* docs: Convert ObjectiveCLiterals to reST.Sean Silva2012-12-211-0/+1
| | | | | | | Sphinx's syntax highlighter doesn't recognize the new literals, so the syntax highlighting is pretty pathetic. llvm-svn: 170814
* docs: fix Sphinx toctree warning.Sean Silva2012-12-211-0/+1
| | | | llvm-svn: 170813
* docs: Convert DriverInternals to reST.Sean Silva2012-12-211-0/+1
| | | | llvm-svn: 170812
* Documentation: convert InternalsManual.html to reSTDmitri Gribenko2012-12-151-1/+1
| | | | | | Patch by Anastasi Voitova with with small fixes by me. llvm-svn: 170275
* Remove old description of analyzer internals from public docs.Jordan Rose2012-12-151-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
* Documentation: add AutomaticReferenceCounting.rst to the toctreeDmitri Gribenko2012-12-131-0/+1
| | | | llvm-svn: 170133
* docs: More reST conversion.Sean Silva2012-12-131-0/+11
| | | | | | Sorry for the large commit, but it is much faster to convert in batches. llvm-svn: 170067
* docs: Convert some docs to reST.Sean Silva2012-12-121-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
* docs: Another test commit (sphinx autoupdating).Daniel Dunbar2012-12-121-1/+1
| | | | llvm-svn: 170047
OpenPOWER on IntegriCloud