Commit Graph

1516 Commits

Author SHA1 Message Date
Mandeep Singh Grang 1dd627814f [clang docs] Minor fix in ClangCheck.rst
Reviewers: djasper, rengolin

Subscribers: Eugene.Zelenko

Tags: #clang-c

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286846 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-14 17:31:24 +00:00
Sylvestre Ledru 602fa8fe0a As we released 3.9, from the 4.0 release notes, points to version 3.9 instead of 3.8
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286718 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-12 10:38:18 +00:00
Sylvestre Ledru 092c37896b Add the new option -Og in the release notes. See r286602 for more information
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286717 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-12 10:37:17 +00:00
Artem Dergachev e7600adac6 [ASTMatchers] Fix a typo in cStyleCastExpr() HTML docs as well. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286651 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-11 22:34:53 +00:00
Sylvestre Ledru 14bfc9e99e Add a new optimization option -Og
Summary:
Just like gcc, we should have the -Og option as more and more software are using it:
https://llvm.org/bugs/show_bug.cgi?id=20765

Reviewers: echristo, dberlin, dblaikie, keith.walker.arm, rengolin

Subscribers: aprantl, friss, mehdi_amini, RKSimon, probinson, majnemer, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286602 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-11 17:29:56 +00:00
Malcolm Parsons cc21152c21 [ASTMatcher] Add CXXNewExpr support to hasDeclaration
Reviewers: sbenza, lukasza, aaron.ballman, klimek

Subscribers: lukasza, sbenza, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@285644 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-31 22:04:07 +00:00
Elad Cohen 780a9183bb [Modules] Add a command line option for loading the clang builtins modulemap.
-fbuiltin-module-map loads the clang builtins modulemap file. (This is
equivalent to -fmodule-map-file=<resource dir>/include/module.modulemap)

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



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@285548 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-31 08:21:54 +00:00
Anna Zaks 1b4a38b361 [docs] Update the TSan and MSan docs to refer to the new no_sanitize attribute
TSan and MSan were the only remaining sanitizers referring to the deprecated
attribute for issue suppression. Update the docs to recommend
__attribute__((no_sanitize("..."))) instead.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@285349 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-27 21:38:44 +00:00
Richard Smith ad44c9ed7a Add documentation describing the components of a complete toolchain including Clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@285341 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-27 20:55:56 +00:00
Bruno Cardoso Lopes 3d57694adc [Modules] Add 'no_undeclared_includes' module map attribute
The 'no_undeclared_includes' attribute should be used in a module to
tell that only non-modular headers and headers from used modules are
accepted.

The main motivation behind this is to prevent dep cycles between system
libraries (such as darwin) and libc++.

Patch by Richard Smith!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@284797 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-21 01:41:56 +00:00
Davide Italiano 5ff7900343 [ThinLTO] Update doc to include lld (now supported).
Differential Revision:  https://reviews.llvm.org/D25537

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@284137 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-13 17:42:38 +00:00
Kostya Serebryany 30858cad27 Document potential implementation of CFI in hardware.
Summary: Document potential implementation of CFI in hardware.

Reviewers: eugenis, pcc

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@284029 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-12 18:33:54 +00:00
Michal Gorny 4f4e33e183 [Driver] Make -print-libgcc-file-name print compiler-rt lib when used
Make the -print-libgcc-file-name option print an appropriate compiler
runtime library, that is libgcc.a if gcc runtime is used
and an appropriate compiler-rt library if that runtime is used.

The main use for this is to allow linking executables built with
-nodefaultlibs (e.g. to avoid linking to the standard C++ library) to
the compiler runtime library, e.g. using:

  clang++ ... -nodefaultlibs $(clang++ ... -print-libgcc-file-name)

in which case currently a program built like this linked to the gcc
runtime unconditionally. The patch fixes it to use compiler-rt libraries
instead when compiler-rt is the active runtime.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283746 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-10 12:23:40 +00:00
Michal Gorny 5820bd61d0 Revert r283572 - [Driver] Make -print-libgcc-file-name print compiler-rt lib when used
Revert the -print-libgcc-file-name change as the new test fails
on Darwin. It needs to be updated to run the libgcc part only on systems
supporting that rtlib.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283586 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-07 20:04:00 +00:00
Michal Gorny cd26b3f3ea [Driver] Make -print-libgcc-file-name print compiler-rt lib when used
Make the -print-libgcc-file-name option print an appropriate compiler
runtime library, that is libgcc.a if gcc runtime is used
and an appropriate compiler-rt library if that runtime is used.

The main use for this is to allow linking executables built with
-nodefaultlibs (e.g. to avoid linking to the standard C++ library) to
the compiler runtime library, e.g. using:

  clang++ ... -nodefaultlibs $(clang++ ... -print-libgcc-file-name)

in which case currently a program built like this linked to the gcc
runtime unconditionally. The patch fixes it to use compiler-rt libraries
instead when compiler-rt is the active runtime.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283572 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-07 17:08:06 +00:00
Mike Aizatsky e82fea9688 [sancov] documentation update after r283241
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283242 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-04 19:19:16 +00:00
Davide Italiano 113693d12e [ThinLTO] Spell `llvm-ar` correctly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283217 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-04 13:16:00 +00:00
Gor Nishanov f7aae8377f [coroutines] Adding builtins for coroutine intrinsics and backendutil support.
Summary:
With this commit simple coroutines can be created in plain C using coroutine builtins.

Reviewers: rnk, EricWF, rsmith

Subscribers: modocache, mgorny, mehdi_amini, beanz, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283155 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-03 22:44:48 +00:00
Kostya Serebryany 274897b781 [sanitizer-coverage] fix docs
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282962 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-30 21:57:10 +00:00
Mike Aizatsky 805c57d14e [sancov] -symbolize documentation update
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282948 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-30 21:02:56 +00:00
Kostya Serebryany 2d68345fd4 [sanitizer-coverage] a bit more docs
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282752 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-29 19:06:09 +00:00
Kostya Serebryany 1591d40ef9 [sanitizer-coverage] more docs
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282751 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-29 18:58:17 +00:00
Kostya Serebryany 7e226eb64d [sanitize-coverage] doc typo
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282749 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-29 18:34:40 +00:00
Kostya Serebryany e0c58c0443 [sanitizer-coverage/libFuzzer] make the guards for trace-pc 32-bit; create one array of guards per function, instead of one guard per BB. reorganize the code so that trace-pc-guard does not create unneeded globals
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282735 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-29 17:43:24 +00:00
Aaron Ballman 8d513e9285 Silencing a Sphinx diagnostic with options, again.
Warning, treated as error:
/opt/llvm/build.attributes.src/tools/clang/docs/CommandGuide/clang.rst:413: WARNING: unknown option: -save-stats=cwd


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282484 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-27 12:17:05 +00:00
Haojian Wu 12b3804145 [ASTMatcher] Clarify isStaticStorageClass and hasStaticStorageDuration documents.
Reviewers: aaron.ballman

Subscribers: klimek, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282474 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-27 07:53:20 +00:00
Matthias Braun 96f1dbf79c CC1: Add -save-stats option
This option behaves in a similar spirit as -save-temps and writes
internal llvm statistics in json format to a file.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282426 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-26 18:53:34 +00:00
Haojian Wu b2c1023a57 [ASTMatcher] Add isStaticStorageClass matcher for varDecl and functionDecl.
Reviewers: klimek

Subscribers: cfe-commits, klimek

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282415 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-26 16:01:52 +00:00
Vedant Kumar 2f1019880e [docs] Touch up the coverage docs some more
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282169 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-22 15:34:33 +00:00
Teresa Johnson 0777fb4fcf Third attempt to fix Sphinx bot
Bot now complaining about -flto=thin reference, used similar workaround
for that failure.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282154 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-22 13:58:33 +00:00
Teresa Johnson 0f4885ced4 Second attempt to fix Sphinx bot
The fix in r282148 was not enough to fix the following error:
/home/llvmbb/llvm-build-dir/clang-sphinx-docs/llvm/src/tools/clang/docs/CommandGuide/clang.rst:338:
WARNING: unknown option: -flto=full

on the sphinx bot:
  http://lab.llvm.org:8011/builders/clang-sphinx-docs/builds/16313

(not reproducible locally).

This time, simply remove the option reference.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282151 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-22 13:41:10 +00:00
Aaron Ballman f0ed39dcc2 Fixing sphinx build due to diagnostic:
/opt/llvm/build.attributes.src/tools/clang/docs/CommandGuide/clang.rst:338: WARNING: unknown option: -flto=full

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282148 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-22 12:15:18 +00:00
Teresa Johnson 7ca59a723e [docs] Add ThinLTO user documentation
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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282089 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-21 16:57:03 +00:00
Nick Lewycky 6ec8bc1e8b Fix typo in documentation.
Since this is a header it will break links to this section.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281996 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-20 18:37:25 +00:00
Vedant Kumar 95aa5d9d7a [docs] Extend the code coverage docs some more
Flesh out the section on interpreting coverage reports, mention the
coverage export feature, and add notes on how to build llvm with
coverage turned on.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281988 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-20 17:11:18 +00:00
Vedant Kumar c338f66d39 [docs] Touch up the code coverage doc
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281881 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-19 01:42:38 +00:00
Kostya Serebryany baa899667e [libFuzzer] use 'if guard' instead of 'if guard >= 0' with trace-pc; change the guard type to intptr_t; use separate array for 8-bit counters
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281845 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-18 04:52:23 +00:00
Kostya Serebryany 028c96e26e [sanitizer-coverage] change trace-pc to use 8-byte guards
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281809 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-17 05:03:05 +00:00
Kostya Serebryany e57451ad5c [sanitizer-coverage] make trace-pc-guard and indirect-call work together
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281665 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-15 22:11:08 +00:00
Jonas Hahnfeld 3e4a6ab9b2 Document option '-rtlib' in clang's man page and help info
This patch adds an entry for "-rtlib" in the output of `man clang` and `clang -help`.

Patch by Lei Zhang!

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281440 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-14 05:52:21 +00:00
Richard Smith d140564a73 [docs] Fix formatting of &nbsp; characters so that tables line up properly. Add
padding around table cells so the borders of adjacent tables don't run into
each other (now that they're perfectly aligned).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281436 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-14 02:24:50 +00:00
Richard Smith 8108d3c563 [docs] Order diagnostic cross-references alphabetically rather than based on
order in the .td file.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281434 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-14 01:55:42 +00:00
Richard Smith b7ad5ad5f8 Update DiagnosticsReference and fix emitter to emit -Wpedantic diagnostics and groups in a deterministic order.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281433 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-14 01:51:10 +00:00
Kostya Serebryany 6c177e5153 [sanitizer-coverage] add yet another flavour of coverage instrumentation: trace-pc-guard. The intent is to eventually replace all of {bool coverage, 8bit-counters, trace-pc} with just this one. Clang part
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281432 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-14 01:39:49 +00:00
Richard Smith 0df4478ded Color warnings purple rather than orange, to match actual Clang output.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281427 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-14 00:35:56 +00:00
Adam Nemet 8a7af2f320 Reapply r281276 with passing -emit-llvm in one of the tests
Original commit message:

Add -fdiagnostics-show-hotness

Summary:
I've recently added the ability for optimization remarks to include the
hotness of the corresponding code region.  This uses PGO and allows
filtering of the optimization remarks by relevance.  The idea was first
discussed here:
http://thread.gmane.org/gmane.comp.compilers.llvm.devel/98334

The general goal is to produce a YAML file with the remarks.  Then, an
external tool could dynamically filter these by hotness and perhaps by
other things.

That said it makes sense to also expose this at the more basic level
where we just include the hotness info with each optimization remark.
For example, in D22694, the clang flag was pretty useful to measure the
overhead of the additional analyses required to include hotness.
(Without the flag we don't even run the analyses.)

For the record, Hal has already expressed support for the idea of this
patch on IRC.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281293 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-13 04:32:40 +00:00
Adam Nemet 8503d6943b Revert "Add -fdiagnostics-show-hotness"
This reverts commit r281276.

Many bots are failing.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281279 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-13 00:16:49 +00:00
Adam Nemet fd2a481cd9 Add -fdiagnostics-show-hotness
Summary:
I've recently added the ability for optimization remarks to include the
hotness of the corresponding code region.  This uses PGO and allows
filtering of the optimization remarks by relevance.  The idea was first
discussed here:
http://thread.gmane.org/gmane.comp.compilers.llvm.devel/98334

The general goal is to produce a YAML file with the remarks.  Then, an
external tool could dynamically filter these by hotness and perhaps by
other things.

That said it makes sense to also expose this at the more basic level
where we just include the hotness info with each optimization remark.
For example, in D22694, the clang flag was pretty useful to measure the
overhead of the additional analyses required to include hotness.
(Without the flag we don't even run the analyses.)

For the record, Hal has already expressed support for the idea of this
patch on IRC.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281276 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-12 23:48:16 +00:00
Richard Smith 7cfda227a3 Diagnostics reference: "error:" should be red, not orange.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281241 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-12 17:55:49 +00:00
Jonathan Roelofs 3578a2a948 Trivial documentation fix regarding Obj-C ARC objc_arc_weak_reference_unavailable
Fixed incorrect docs that referred to:
  objc_arc_weak_unavailable
when it should be:
  objc_arc_weak_reference_unavailable

Patch by: Sean McBride!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281227 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-12 16:14:52 +00:00