Граф коммитов

3056 Коммитов

Автор SHA1 Сообщение Дата
Bill Wendling 9ed87fbdad Merging r215229:
------------------------------------------------------------------------
r215229 | sylvestre | 2014-08-08 10:15:13 -0700 (Fri, 08 Aug 2014) | 11 lines

Fix a bug when scan-build is used in a cross-compilation environment with
the --use-cc option.

Instead, we will search in the PATH
For example:
 scan-build --use-cc=arm-none-eabi-gcc -o out make -e

Initially reported as a Debian Bug:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748777


------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_35@215427 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-12 05:38:53 +00:00
Hans Wennborg 4ae9fc5880 clang-format vs plugin: set version number from cmake (PR20307)
Previously it was hard-coded to 1.0, which meant the installer would
not install the plugin over previous versions.

This commit makes us use LLVM's major.minor.patch version from cmake,
or whatever CLANG_FORMAT_VS_VERSION is set to when configuring the build.

It's pretty dirty to update a configuration file in the source directory
from the cmake build like this. However, the plugin build is already
dirty in this regard since it builds in the source dir when visual studio,
and then copies out the resulting vsix.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213584 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-21 21:48:06 +00:00
Alexey Bataev e559847c3d [OPENMP] Initial parsing and sema analysis for 'flush' directive.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213512 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-21 11:26:11 +00:00
Alexander Musman 76fc5c55ec [OPENMP] Parsing/Sema of the OpenMP directive 'critical'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213510 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-21 09:42:05 +00:00
Alexey Bataev 570d14de3d [OPENMP] Initial parsing and sema analysis for 'taskwait' directive.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213363 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-18 10:17:07 +00:00
Alexey Bataev 3ea0be63fd [OPENMP] Initial parsing and sema analysis for 'barrier' directive.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213360 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-18 09:11:51 +00:00
Alexey Bataev 27b4c37d4a [OPENMP] Initial parsing and sema analysis of 'taskyield' directive.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213355 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-18 07:47:19 +00:00
David Blaikie 80bfbba822 Revert "unique_ptr-ify ownership of ASTConsumers"
This reverts commit r213307.

Reverting to have some on-list discussion/confirmation about the ongoing
direction of smart pointer usage in the LLVM project.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213325 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-17 22:34:12 +00:00
David Blaikie 4d15e347a0 unique_ptr-ify ownership of ASTConsumers
(after fixing a bug in MultiplexConsumer I noticed the ownership of the
nested consumers was implemented with raw pointers - so this fixes
that... and follows the source back to its origin pushing unique_ptr
ownership up through there too)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213307 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-17 20:40:36 +00:00
Alexey Bataev f342252f7c [OPENMP] Initial parsing and sema analysis of 'mergeable' clause.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213262 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-17 12:47:03 +00:00
Alexey Bataev 738204ee9c [OPENMP] Initial support for parsing and sema analysis of 'untied' clause.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213257 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-17 12:19:31 +00:00
Alexander Musman 0b17b9e0f3 [OPENMP] Parsing/Sema analysis of directive 'master'
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213237 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-17 08:54:58 +00:00
Sylvestre Ledru fc48dfdc97 Consistency on the tab/space
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213236 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-17 08:40:35 +00:00
Sylvestre Ledru f29418df13 Fix Bug 14061 - scan-build crashes during postprocessing if BUGFILE no longer exists
Experienced with Thunderbird build

Patch by Matti Niemenmaa



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213235 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-17 08:39:04 +00:00
Alexey Bataev ff45f6913b [OPENMP] Initial parsing and sema analysis for 'final' clause.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213232 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-17 07:32:53 +00:00
Alp Toker 6c4abb1676 Make clang's rewrite engine a core feature
The rewrite facility's footprint is small so it's not worth going to these
lengths to support disabling at configure time, particularly since key compiler
features now depend on it.

Meanwhile the Objective-C rewriters have been moved under the
ENABLE_CLANG_ARCMT umbrella for now as they're comparatively heavy and still
potentially worth excluding from lightweight builds.

Tests are now passing with any combination of feature flags. The flags
historically haven't been tested by LLVM's build servers so caveat emptor.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213171 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-16 16:48:33 +00:00
NAKAMURA Takumi a3e118e3a3 Prune Redundant libdeps in CMake's target_link_libraries and LLVMBuild.txt.
I checked this with Release+Asserts on x86_64-mingw32. Please restore partially if this were overkill.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213064 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-15 11:37:03 +00:00
Alp Toker c3d50b014d Define ENABLE_CLANG_ARCMT in the legacy build system too
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213010 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-14 23:15:48 +00:00
Alp Toker 8a534e04e6 Fix the !CLANG_ENABLE_ARCMT build
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212995 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-14 22:17:16 +00:00
Alp Toker c7645b9266 Fix typos
Also consolidate 'backward compatibility'

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212974 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-14 19:42:55 +00:00
Alexey Bataev 3e0fef67a6 [OPENMP] Parsing and sema analysis for 'omp task' directive.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212804 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-11 11:25:16 +00:00
Alp Toker 42a2919e73 Remove dead code from r212620
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212622 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-09 14:09:52 +00:00
Alp Toker 5114f4ffde cc1as: consolidate option flags with cc1 and eliminate duplication
The clang -cc1as options are nearly a strict subset of -cc1. Instead of
duplicating the definitions and documentation, let's go ahead and share the
definitions in a similar way the current handling of combined driver and
frontend flags, eliminating some of the vestigial legacy surrounding the
assembler subcommand.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212620 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-09 14:05:11 +00:00
Alexey Bataev 61d27f11f3 [OPENMP] Parsing and sema analysis for 'omp parallel sections' directive.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212516 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-08 08:12:03 +00:00
Alp Toker 7da527a583 libclang: pass return code out argument by reference
r212427 formalized the message-passing pattern by making these argument
structures const. This commit changes output arguments to get passed by
reference so we can eliminate mutable fields.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212497 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-07 22:42:03 +00:00
Reid Kleckner 8a6d0bb0a7 Driver: Produce crash diagnostics more often on Windows
Assertion failures call abort(), which return an exit code of 3 on
Windows.  The 'not' utility has the same check.

Unfortunately, the crash-report.c test requires a shell, so it does not
run for me locally, so I can only test this manually.

There's still more work to be done here: we should generate a batch
script instead of a shell script on Windows.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212481 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-07 20:23:27 +00:00
Alexey Bataev 36046a82fc [OPENMP] Added initial support for 'omp parallel for'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212453 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-07 13:01:15 +00:00
Alp Toker e9a2e9d4e3 Switch over a few uses of param_begin() to parameters()
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212442 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-07 09:02:20 +00:00
Alp Toker 57b86d027b Peel away old-style file remapping typedefs and cruft
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212438 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-07 07:47:20 +00:00
Alp Toker 3d44bd8e89 libclang: refactor handling of unsaved_files
Consolidate CXUnsavedFile argument handling in API functions to support a wider
cleanup of various file remapping schemes in the frontend.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212427 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-07 01:23:14 +00:00
Nico Weber 2a5e840d9f Add an AST node for __leave statements, hook it up.
Codegen is still missing (and I won't work on that), but __leave is now
as implemented as __try and friends.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212425 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-07 00:12:30 +00:00
Rafael Espindola 860df574e7 Update for llvm api change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212408 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-06 17:43:24 +00:00
Alp Toker 0a9f133c04 libclang: make darwin pthread hacks conditional on LLVM_ENABLE_THREADS
Although these aren't strictly related to LLVM's core threading, it's
reasonable to avoid pthread usage in clang when building with
LLVM_ENABLE_THREADS disabled.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212395 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-06 06:24:00 +00:00
Alp Toker c556f81241 Track IntrusiveRefCntPtr::get() changes from LLVM r212366
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212369 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-05 03:08:06 +00:00
Alp Toker 9a5685c64f driver: add link dependency on CodeGen
Fix the build when no targets are enabled. This dependency is incurred by two
unfortunate entries in LinkAllPasses.h included from cc1_main.cpp:

  llvm::createJumpInstrTablesPass();
  llvm::createCodeGenPreparePass();

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212084 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-01 02:42:02 +00:00
Craig Topper 489b66f705 Remove llvm:: from uses of ArrayRef.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211987 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-28 23:22:23 +00:00
David Blaikie c77e69d500 Remove 'const' from MemoryBuffers used through the SourceManager
This removes a const_cast added in r211884 that occurred due to an
inconsistency in how MemoryBuffers are handled between some parts of
clang and LLVM.

MemoryBuffers are immutable and the general convention in the LLVM
project is to omit const from immutable types as it's simply
redundant/verbose (see llvm::Type, for example). While this change
doesn't remove "const" from /every/ MemoryBuffer, it at least makes this
chain of ownership/usage consistent.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211915 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-27 17:40:03 +00:00
Chandler Carruth 0cebf9262b Fix a bug in my previous patch by restoring the behavior that the fatal
error handler is only registered once.

To avoid the use of std::call_once (the obvious way to do this) I've
wrapped everything up into a managed static and done the work in
a constructor. Silly, but it should be effective.

Some out-of-tree libclang users reported this to me, and I've asked them
to put together a test case which exhibits this behavior, but I wanted
to fix things ASAP since the nature of the fix is straight forward.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211905 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-27 16:37:27 +00:00
Chandler Carruth 7896f834da This fixes libclang to cope with the now compile-time multithreaded
selection re-enabled in r211900 in LLVM.

The approach (unlike r211121) doesn't rely on std::mutex or
std::call_once to avoid breaknig cygwin bots.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211901 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-27 15:14:39 +00:00
Alexey Bataev 3b54d86f4f [OPENMP] Parsing and sema analysis for 'copyprivate' clause.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211886 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-27 10:37:06 +00:00
Alexey Bataev f0a57f4453 [OPENMP] Initial parsing and sema analysis for 'single' directive.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211774 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-26 12:05:45 +00:00
Alexey Bataev 0eca5e96c1 [OPENMP] Initial parsing and sema analysis for 'section' directive.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211767 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-26 08:21:58 +00:00
Alexey Bataev 71f61a8866 [OPENMP] Initial support for 'sections' directive.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211685 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-25 11:44:49 +00:00
NAKAMURA Takumi cb12cf7743 Revert r211121 (and r211285), "Change libclang initialization to use std::call_once instead of"
It broke mingw builder and cygwin-clang stage2, possibly lack of tls in <mutex>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211593 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-24 13:50:01 +00:00
Alexey Bataev da3504c90f [OPENMP] Initial support for 'nowait' clause.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211352 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-20 11:19:47 +00:00
Alexey Bataev 98a11d0048 [OPENMP] Initial support for 'ordered' clause.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211347 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-20 09:44:06 +00:00
Alexey Bataev ad5b6350d8 [OPENMP] Initial support for 'schedule' clause.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211342 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-20 07:16:17 +00:00
Alp Toker 02a13f7337 diagtool: refactor TreeView to resemble C++
Replace lots of old-school parameter passing with neat class members.
No attempt made yet to modernize loops, but it's a start.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211327 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-20 00:06:42 +00:00
Alp Toker d8a6309314 diagtool: simplify TreeView diagnostic classification
This utility doesn't need to know about the specifics of diagnostic levels.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211323 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-19 23:00:52 +00:00
Zachary Turner d408dafab9 Don't call llvm_start_multithreaded() during init. As of LLVM
revision r211277, this function is essentially a no-op.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211285 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-19 18:03:56 +00:00