Commit Graph

1012 Commits

Author SHA1 Message Date
Aaron Ballman 00a9f1b30e Escaping a literal character to fix an RST warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211690 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-25 12:41:28 +00:00
Diego Novillo e8e398049c Add new debug kind LocTrackingOnly.
Summary:
This new debug emission kind supports emitting line location
information in all instructions, but stops code generation
from emitting debug info to the final output.

This mode is useful when the backend wants to track source
locations during code generation, but it does not want to
produce debug info. This is currently used by optimization
remarks (-Rpass, -Rpass-missed and -Rpass-analysis).

When one of the -Rpass flags is used, the front end will enable
location tracking, only if no other debug option is enabled.

To prevent debug information from being generated, a new debug
info kind LocTrackingOnly causes DIBuilder::createCompileUnit() to
not emit the llvm.dbg.cu annotation. This blocks final code generation
from generating debug info in the back end.

Depends on D4234.

Reviewers: echristo, dblaikie

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D4235

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211610 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-24 17:02:17 +00:00
Eli Bendersky 47d52751cf Document unroll and unroll_count directives.
Extend the documentation for "#pragma clang loop" hints to include the unroll
and unroll_count directives.

Patch by Mark Heffernan [http://reviews.llvm.org/D4198]



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211286 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-19 18:12:44 +00:00
Tyler Nowicki a5bb497257 Documentation for #pragma clang loop directive and options vectorize and interleave.
Reviewed by: Aaron Ballman and Dmitri Gribenko


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211135 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-18 00:51:32 +00:00
Daniel Jasper b511fe9818 clang-format: Introduce style with spaces on both sides of */&.
Patch by Janusz Sobczak (slightly extended).
This fixes llvm.org/19929.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211098 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-17 12:40:34 +00:00
Bob Wilson a6264641ed Add documentation for PGO with instrumentation to clang's User's Manual.
<rdar://problem/16771671>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211085 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-17 00:45:30 +00:00
Sylvestre Ledru 27557e70d3 One of our buildbot for FreeBSD does not support std::to_string.
Use stringstream instead to convert int to string



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210972 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-14 09:28:27 +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
Adrian Prantl 748531c892 Make these two words equally bold.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210938 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-13 21:31:55 +00:00
Adrian Prantl 7ccdd18151 Copy the documentation of -fstandalone-debug from the man page to the user
manual.

rdar://problem/17307006

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210936 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-13 21:12:31 +00:00
Alexey Samsonov ee5a39f2cf Remove top-level Clang -fsanitize= flags for optional ASan features.
Init-order and use-after-return modes can currently be enabled
by runtime flags. use-after-scope mode is not really working at the
moment.

The only problem I see is that users won't be able to disable extra
instrumentation for init-order and use-after-scope by a top-level Clang flag.
But this instrumentation was implicitly enabled for quite a while and
we didn't hear from users hurt by it.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210924 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-13 17:53:44 +00:00
Aaron Ballman 93e0cc45e5 The automated server-side process isn't quite right yet, so this is a newly-generated attribute reference. Tanya is looking into the server process when she gets the chance.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210691 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-11 19:11:24 +00:00
Samuel Benzaquen f83e80c885 Add hasLocalStorage/hasGlobalStorage matchers.
Summary:
Add hasLocalStorage/hasGlobalStorage matchers for VarDecl nodes.
Update the doc. Also add them to the dynamic registry.

Reviewers: klimek

Subscribers: klimek, cfe-commits

Differential Revision: http://reviews.llvm.org/D4034

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210278 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-05 18:22:14 +00:00
Richard Smith fb9e1524b7 Add __builtin_operator_new and __builtin_operator_delete, which act like calls
to the normal non-placement ::operator new and ::operator delete, but allow
optimizations like new-expressions and delete-expressions do.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210137 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-03 23:27:44 +00:00
Diego Novillo 43118fcc51 Add documentation for -Rpass*
Summary:
This adds documentation for -Rpass, -Rpass-missed and -Rpass-analysis.
It also adds release notes for 3.5.

Reviewers: rsmith

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D3730

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209841 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-29 20:13:27 +00:00
Dario Domizioli 3b5b2ec2c7 [DOC] Documentation for #pragma clang optimize on/off
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209738 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-28 14:06:38 +00:00
Manuel Klimek e0652d113a Make equalsNode work with pointers to subtypes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209652 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-27 12:31:10 +00:00
Manuel Klimek 80678be7b0 Adds child traversal matchers for IfStmt's then and else branches.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209649 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-27 10:04:12 +00:00
Manuel Klimek 30ab174eab Allow hasBody on CXXForRangeStmt nodes and update the docs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209647 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-27 07:45:18 +00:00
Tim Northover 8d681a2f93 AArch64/ARM64: rename ARM64 components to AArch64
This keeps Clang consistent with backend naming conventions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209579 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-24 12:52:07 +00:00
Peter Collingbourne 0017c7ecc4 Revert r209231, "Update AttributeReference.rst."
According to Aaron, this is being generated on the server now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209232 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-20 19:38:07 +00:00
Peter Collingbourne 4a57f4dedb Update AttributeReference.rst.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209231 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-20 19:27:39 +00:00
Eric Christopher fa11365ab6 Clean up language and grammar.
Based on a patch by jfcaron3@gmail.com!
PR19806

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209215 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-20 17:10:39 +00:00
Daniel Jasper bf45a93b45 clang-format: Fix Sphinx build error.
Patch by Adam Strzelecki, thank you!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208882 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-15 13:55:19 +00:00
Daniel Jasper 7747c87a66 clang-format: Add clang-format-diff usage examples for SVN.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208766 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-14 09:36:11 +00:00
Daniel Jasper 65e68675f1 clang-format: Add option to allow short blocks on a single line.
With AllowShortBlocksOnASingleLine, clang-format allows:
  if (a) { return; }

Based on patch by Gonzalo BG, thank you!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208765 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-14 09:33:35 +00:00
Richard Smith f6df606f31 PR19698, PR19674: enable __has_feature checks for cxx_generic_lambdas and
cxx_decltype_auto, and fix documentation of cxx_generic_lambdas and
cxx_init_captures to specify the right feature-check name.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208445 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-09 21:08:59 +00:00
Richard Smith 2bc825e5e3 Update documentation to match recent API change. newFrontendActionFactory now returns a unique_ptr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207789 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-01 20:04:39 +00:00
Diego Novillo c2a06c68b7 Review feedback.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206997 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-23 15:21:23 +00:00
Diego Novillo ebb76662be Review feedback.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206996 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-23 15:21:21 +00:00
Diego Novillo d6d7a5d1f6 Review feedback
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206995 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-23 15:21:20 +00:00
Diego Novillo b86942f453 Add documentation for sample profiling support.
Summary:
This documents the usage of sample profilers with Clang and the
profile format expected by LLVM's optimizers. It also documents the
profile conversion tool used by Linux Perf.

Reviewers: doug.gregor

CC: cfe-commits

Differential Revision: http://reviews.llvm.org/D3402

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206994 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-23 15:21:07 +00:00
John Thompson 9be87f8785 Initial implementation of -modules-earch-all option, for searching for symbols in non-imported modules.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206977 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-23 12:57:01 +00:00
Reid Kleckner 1c069a8d13 Fix sphinx-build warnings in clang docs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206661 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-18 21:55:49 +00:00
Reid Kleckner 02e4ae3e5d Add support for building Sphinx documentation when being inside LLVM source tree and using CMake
Patch by Daniel Liew <daniel.liew@imperial.ac.uk>!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206660 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-18 21:55:46 +00:00
Ben Langmuir f053390236 Rename lib/Headers/module.map to module.modulemap
Don't install a file using the legacy spelling.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206431 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-17 00:52:48 +00:00
Yunzhong Gao c573acccd2 Add description about the __is_identifier() macro
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206099 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-12 02:25:32 +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
Daniel Jasper 33df7ef5ff clang-format: Support configurable list of foreach-macros.
This fixes llvm.org/PR17242.

Patch by Brian Green, thank you!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205307 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-01 12:55:11 +00:00
Tim Northover 7e0e8ef787 ARM64: initial clang support commit.
This adds Clang support for the ARM64 backend. There are definitely
still some rough edges, so please bring up any issues you see with
this patch.

As with the LLVM commit though, we think it'll be more useful for
merging with AArch64 from within the tree.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205100 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-29 15:09:45 +00:00
Dmitri Gribenko f6e568cc20 Documentation: remove a spurious '1' and wrap to 80 columns
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205035 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-28 19:25:09 +00:00
Douglas Gregor c8ea908eab Document module.private.modulemap and module_private.map.
Requested in <rdar://problem/16188740>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205030 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-28 19:05:18 +00:00
Alexander Kornienko 8a2341c22d Move the -i[no-]system-prefix options from CC1Options.td to Options.td.
Summary:
This allows them to be used without -cc1 the same way as -I and -isystem.
Renamed the options to --system-header-prefix=/--no-system-header-prefix to avoid interference with -isystem and make the intent of the option cleaner.

Reviewers: rsmith

Reviewed By: rsmith

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D3185

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204775 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-26 01:39:59 +00:00
Alexey Samsonov c1d57a19df Document removed flags in release notes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204438 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-21 07:25:01 +00:00
Evgeniy Stepanov 100624f430 [msan] -fsanitize-memory-track-origins=[level] flag and docs.
This change turns -fsanitize-memory-track-origins into
-fsanitize-memory-track-origins=[level] flag (keeping the old one for
compatibility). Possible levels are 0 (off), 1 (default) and 2 (incredibly
detailed). See docs (part of this patch) for more info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204346 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-20 14:58:36 +00:00
Alexey Samsonov 2b7cab0c2e Kill -faddress-sanitizer, -fthread-sanitizer and -fcatch-undefined-behavior flags.
These flags are deprecated since at least Clang 3.3. Users should instead
use -fsanitize= with appropriate values.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204330 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-20 10:48:29 +00:00
Ben Langmuir ae028ef797 Add a new spelling for module map files 'module.modulemap'
This name, while more verbose, plays more nicely with tools that use
file extensions to determine file types. The existing spelling
'module.map' will continue to work, but the new spelling will take
precedence.

In frameworks, this new filename will only go in a new 'Modules'
sub-directory.

Similarly, add a module.private.modulemap corresponding to
module_private.map.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204261 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-19 20:23:34 +00:00
Dmitri Gribenko 706a9da300 CMake: allow generation of a Qt Compressed Help file for Clang source
r203272 enables generation of a Qt Compressed Help file for the LLVM source
code.

As a consequence, this change brings the same capabilities to Clang while
reusing these two variables:

  LLVM_ENABLE_DOXYGEN_QT_HELP
  LLVM_DOXYGEN_QHELPGENERATOR_PATH

and adding

  CLANG_DOXYGEN_QCH_FILENAME="org.llvm.clang.qch"
  CLANG_DOXYGEN_QHP_NAMESPACE="org.llvm.clang"
  CLANG_DOXYGEN_QHP_CUST_FILTER_NAME="Clang ${CLANG_VERSION}"
  CLANG_DOXYGEN_QHP_CUST_FILTER_ATTRS="Clang,${CLANG_VERSION}"

Patch by Konrad Kleine.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203801 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-13 14:17:01 +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 835f122469 Add a note in the user manual that tsan is not supported on Mac.
Patch from Sean McBride <sean@rogue-research.com>!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203260 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-07 18:11:40 +00:00