]> granicus.if.org Git - clang/log
clang
9 years agoRefactor ASTSourceDescriptor to not store copies of all strings. (NFC)
Adrian Prantl [Thu, 24 Sep 2015 16:10:00 +0000 (16:10 +0000)]
Refactor ASTSourceDescriptor to not store copies of all strings. (NFC)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248509 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoDrop useless const in for-range loops.
Benjamin Kramer [Thu, 24 Sep 2015 14:48:49 +0000 (14:48 +0000)]
Drop useless const in for-range loops.

StringRefs always point to immutable memory so the const doesn't add value
here. Also quiets clang's -Wrange-loop-analysis which warns about the implicit
copying.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248496 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[Driver] Don't implicitly copy std::strings in for-range loop.
Benjamin Kramer [Thu, 24 Sep 2015 14:48:37 +0000 (14:48 +0000)]
[Driver] Don't implicitly copy std::strings in for-range loop.

Found by -Wrange-loop-analysis.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248495 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[mips] Relax -mnan=2008 acceptance to permit MIPS32R2 and MIPS64R2.
Daniel Sanders [Thu, 24 Sep 2015 10:22:17 +0000 (10:22 +0000)]
[mips] Relax -mnan=2008 acceptance to permit MIPS32R2 and MIPS64R2.

Summary:
Strictly speaking, the MIPS*R2 ISA's should not permit -mnan=2008 since this
feature was added in MIPS*R3. However, other toolchains permit this and we
should do the same.

Reviewers: atanasyan

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248481 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[ARM] Follow-up to fix crash "-target arm -mcpu=generic", without "-march="
Vladimir Sukharev [Thu, 24 Sep 2015 10:06:44 +0000 (10:06 +0000)]
[ARM] Follow-up to fix crash "-target arm -mcpu=generic", without "-march="

Fix of dangling StringRef after temporary std::string is destroyed

Follow-up to: http://reviews.llvm.org/rL248479

Reviewers: alexfh

Subscribers: cfe-commits

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248480 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[ARM] Follow-up to fix crash "-target arm -mcpu=generic", without "-march="
Vladimir Sukharev [Thu, 24 Sep 2015 09:55:08 +0000 (09:55 +0000)]
[ARM] Follow-up to fix crash "-target arm -mcpu=generic", without "-march="

Fix of dangling StringRef after temporary std::string is destroyed

Follow-up to: http://reviews.llvm.org/rL248370

Reviewers: alexfh

Subscribers: cfe-commits

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248479 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[Driver] Add support for Windows 10 SDK
Igor Kudrin [Thu, 24 Sep 2015 05:16:36 +0000 (05:16 +0000)]
[Driver] Add support for Windows 10 SDK

Summary:
With Windows 10 SDK, Include and Lib directories now contain an additional subfolder with the name that corresponds to the full version of the SDK, for example:
  - C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\um
  - C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\um\x64

Reviewers: ruiu, rnk

Subscribers: majnemer, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248463 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agocuda-path: StringRef cannot be used here.
NAKAMURA Takumi [Thu, 24 Sep 2015 03:15:44 +0000 (03:15 +0000)]
cuda-path: StringRef cannot be used here.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248459 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoclang/test/Analysis/malloc-overflow2.c: Appease 32-bit targets.
NAKAMURA Takumi [Thu, 24 Sep 2015 02:49:00 +0000 (02:49 +0000)]
clang/test/Analysis/malloc-overflow2.c: Appease 32-bit targets.

size_t is not unsigned long for targeting i686 (and Windows x64).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248458 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoMake a test a bit shorter. No behavior change.
Nico Weber [Thu, 24 Sep 2015 01:34:27 +0000 (01:34 +0000)]
Make a test a bit shorter. No behavior change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248456 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoImprove the printing of ranges when macros are involved.
Richard Trieu [Thu, 24 Sep 2015 01:21:01 +0000 (01:21 +0000)]
Improve the printing of ranges when macros are involved.

Trace the ranges through the macro backtrace better.  This allows better
range highlighting through all levels of the macro bracktrace.  Also some
improvements to backtrace printer for omitting different backtraces.

Patch by Zhengkai Wu.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248454 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoDisabled one of the test runs in cuda-detect.cu
Artem Belevich [Thu, 24 Sep 2015 00:15:47 +0000 (00:15 +0000)]
Disabled one of the test runs in cuda-detect.cu

--sysroot apparently can't handle long paths which triggers test
failure on some platforms.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248448 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[analyzer] Discard malloc-overflow bug-report when a known size is malloc'ed.
Devin Coughlin [Wed, 23 Sep 2015 23:27:55 +0000 (23:27 +0000)]
[analyzer] Discard malloc-overflow bug-report when a known size is malloc'ed.

This patch ignores malloc-overflow bug in two cases:
Case1:
x = a/b; where n < b
malloc (x*n); Then x*n will not overflow.

Case2:
x = a; // when 'a' is a known value.
malloc (x*n);

Also replaced isa with dyn_cast.

Reject multiplication by zero cases in MallocOverflowSecurityChecker
Currently MallocOverflowSecurityChecker does not catch cases like:
malloc(n * 0 * sizeof(int));

This patch rejects such cases.

Two test cases added. malloc-overflow2.c has an example inspired from a code
in linux kernel where the current checker flags a warning while it should not.

A patch by Aditya Kumar!

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248446 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[darwin] [builtins] Stop generating cc_kext_ios5 and move iOS architectures out of...
Chris Bieneman [Wed, 23 Sep 2015 22:52:35 +0000 (22:52 +0000)]
[darwin] [builtins] Stop generating cc_kext_ios5 and move iOS architectures out of cc_kext into cc_kext_ios

Summary:
This corresponds to a patch to compiler-rt (D13112).

Xcode 7 doesn't support targeting iOS5 and earlier. Instead of just dropping cc_kext_ios5, I've repurposed it to cc_kext_ios, and I'm pulling the iOS architectures out of cc_kext. Putting OS X and iOS slices inside the same archive was just odd.

Reviewers: bogner, bob.wilson

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248442 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoForbid qualifiers on ObjC generic parameters and arguments, but
John McCall [Wed, 23 Sep 2015 22:14:21 +0000 (22:14 +0000)]
Forbid qualifiers on ObjC generic parameters and arguments, but
silently ignore them on arguments when they're provided indirectly
(.e.g behind a template argument or typedef).

This is mostly just good language design --- specifying that a
generic argument is __weak doesn't actually do anything --- but
it also prevents assertions when trying to apply a different
ownership qualifier.

rdar://21612439

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248436 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRemove warning on over-wide bit-field of boolean type; there's no risk that
Richard Smith [Wed, 23 Sep 2015 22:07:44 +0000 (22:07 +0000)]
Remove warning on over-wide bit-field of boolean type; there's no risk that
someone thought all the bits would be value bits in this case.

Also fix the wording of the warning -- it claimed that the width of 'bool' is
8, which is not correct; the width is 1 bit, whereas the size is 8 bits in our
implementation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248435 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[CUDA] Added CUDA installation detector class.
Artem Belevich [Wed, 23 Sep 2015 21:49:39 +0000 (21:49 +0000)]
[CUDA] Added CUDA installation detector class.

Added new option --cuda-path=<path> which allows
overriding default search paths.
If it's not specified we look for CUDA installation in
/usr/include/cuda and /usr/include/cuda-7.0.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248433 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[analyzer] Improve localizability checks for iOS / OS X.
Devin Coughlin [Wed, 23 Sep 2015 21:43:21 +0000 (21:43 +0000)]
[analyzer] Improve localizability checks for iOS / OS X.

Various improvements to the localization checker:
* Adjusted copy to be consistent with diagnostic text in other Apple
  API checkers.
* Added in ~150 UIKit / AppKit methods that require localized strings in
  UnlocalizedStringsChecker.
* UnlocalizedStringChecker now checks for UI methods up the class hierarchy and
  UI methods that conform for a certain Objective-C protocol.
* Added in alpha version of PluralMisuseChecker and some regression tests. False
  positives are still not ideal.

(This is the second attempt, with the memory issues on Linux resolved.)

A patch by Kulpreet Chilana!

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248432 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoPR14858: Initial support for proper sizeof... handling within alias templates.
Richard Smith [Wed, 23 Sep 2015 21:41:42 +0000 (21:41 +0000)]
PR14858: Initial support for proper sizeof... handling within alias templates.
This doesn't quite get alias template equivalence right yet, but handles the
egregious cases where we would silently give the wrong answers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248431 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRemove wrong implication that value-dependent implies instantiation-dependent,
Richard Smith [Wed, 23 Sep 2015 21:30:47 +0000 (21:30 +0000)]
Remove wrong implication that value-dependent implies instantiation-dependent,
and fix the only code that was depending on this so that it sets all the
relevant flags appropriately.

No functionality change intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248430 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoSupport linking against OpenMP runtime on NetBSD.
Joerg Sonnenberger [Wed, 23 Sep 2015 20:11:00 +0000 (20:11 +0000)]
Support linking against OpenMP runtime on NetBSD.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248426 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoPush OpenMP linker flags after linker input on Darwin. Don't add any
Joerg Sonnenberger [Wed, 23 Sep 2015 20:07:56 +0000 (20:07 +0000)]
Push OpenMP linker flags after linker input on Darwin. Don't add any
libraries if -nostdlib is specified. Test.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248424 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoReverted r248408 "[CUDA] Added CUDA installation detector class."
Artem Belevich [Wed, 23 Sep 2015 18:28:30 +0000 (18:28 +0000)]
Reverted r248408 "[CUDA] Added CUDA installation detector class."

because included test fails on some platforms.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248413 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[CUDA] Added CUDA installation detector class.
Artem Belevich [Wed, 23 Sep 2015 18:13:25 +0000 (18:13 +0000)]
[CUDA] Added CUDA installation detector class.

Added new option --cuda-path=<path> which allows
overriding default search paths.
If it's not specified we look for CUDA installation in
/usr/include/cuda and /usr/include/cuda-7.0.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248408 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[CUDA] __global__ functions should always be visible externally.
Artem Belevich [Wed, 23 Sep 2015 17:44:53 +0000 (17:44 +0000)]
[CUDA] __global__ functions should always be visible externally.

Adjust __global__ functions with DiscardableODR linkage to use
StrongODR linkage instead, so they are visible externally.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248400 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[Lex] A source-file new-line in a raw string literal results in a new-line
David Majnemer [Wed, 23 Sep 2015 16:04:47 +0000 (16:04 +0000)]
[Lex] A source-file new-line in a raw string literal results in a new-line

Our string literal parser copied any source-file new-line characters
into the execution string-literal.  This is incorrect if the source-file
new-line character was a \r\n sequence because new-line characters are
merely \n.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248392 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[Sema] Don't create an invalid source range for overlong initializer lists.
Benjamin Kramer [Wed, 23 Sep 2015 16:03:53 +0000 (16:03 +0000)]
[Sema] Don't create an invalid source range for overlong initializer lists.

We took both source locations from the end of the initializer list what
the code below doesn't expect. This can lead to a crash when rendering
the diagnostic (PR24816). Assert that we have more than one element in
a scalar initializer with too many elements.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248391 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRefactor library decision for -fopenmp support from Darwin into a
Joerg Sonnenberger [Wed, 23 Sep 2015 14:06:52 +0000 (14:06 +0000)]
Refactor library decision for -fopenmp support from Darwin into a
function for sharing with other platforms.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248379 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoAdd -fplugin=name.so option to the driver
John Brawn [Wed, 23 Sep 2015 13:55:40 +0000 (13:55 +0000)]
Add -fplugin=name.so option to the driver

This translates to -load name.so in the cc1 command. We can't name the driver
option -load, as that means "link against oad", so instead we follow GCC's lead
and name the option -fplugin.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248378 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[DeclPrinter] Don't crash when printing a using decl with a special name
Benjamin Kramer [Wed, 23 Sep 2015 13:43:16 +0000 (13:43 +0000)]
[DeclPrinter] Don't crash when printing a using decl with a special name

Fixes PR24872.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248376 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoFix bad iterator access.
Daniel Jasper [Wed, 23 Sep 2015 12:47:50 +0000 (12:47 +0000)]
Fix bad iterator access.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248375 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[ARM] Fix crash "-target arm -mcpu=generic", without "-march="
Vladimir Sukharev [Wed, 23 Sep 2015 09:29:32 +0000 (09:29 +0000)]
[ARM] Fix crash "-target arm -mcpu=generic", without "-march="

An assertion hit has been fixed for cmdlines like

$ clang --target=arm-linux-gnueabi -mcpu=generic hello.c

Related to: http://reviews.llvm.org/rL245445

Reviewers: rengolin

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248370 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoclang-format: Add initial #include sorting capabilities.
Daniel Jasper [Wed, 23 Sep 2015 08:30:47 +0000 (08:30 +0000)]
clang-format: Add initial #include sorting capabilities.

To implement this nicely, add a function that merges two sets of
replacements that are meant to be done in sequence. This functionality
will also be useful for other applications, e.g. formatting the result
of clang-tidy fixes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248367 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoMake ms-intrin.cpp test require the x86 target.
Nico Weber [Wed, 23 Sep 2015 00:24:34 +0000 (00:24 +0000)]
Make ms-intrin.cpp test require the x86 target.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248355 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRevert "[analyzer] Improve localizability checks for iOS / OS X."
Devin Coughlin [Wed, 23 Sep 2015 00:17:52 +0000 (00:17 +0000)]
Revert "[analyzer] Improve localizability checks for iOS / OS X."

This reverts commit r248350. The pluralization checks are failing on some bots.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248351 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[analyzer] Improve localizability checks for iOS / OS X.
Devin Coughlin [Tue, 22 Sep 2015 23:58:04 +0000 (23:58 +0000)]
[analyzer] Improve localizability checks for iOS / OS X.

Various improvements to the localization checker:
* Adjusted copy to be consistent with diagnostic text in other Apple
  API checkers.
* Added in ~150 UIKit / AppKit methods that require localized strings in
  UnlocalizedStringsChecker.
* UnlocalizedStringChecker now checks for UI methods up the class hierarchy and
  UI methods that conform for a certain Objective-C protocol.
* Added in alpha version of PluralMisuseChecker and some regression tests. False
  positives are still not ideal.

A patch by Kulpreet Chilana!

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248350 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoModule Debugging: Use the clang module signature as the module's dwo_id
Adrian Prantl [Tue, 22 Sep 2015 23:26:43 +0000 (23:26 +0000)]
Module Debugging: Use the clang module signature as the module's dwo_id
when building a module. Clang already records the module signature when
building a skeleton CU to reference a clang module.

Matching the id in the skeleton with the one in the module allows a DWARF
consumer to verify that they found the correct version of the module
without them needing to know about the clang module format.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248345 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoSerialization: Let ASTWriter return the signature of the written module.
Adrian Prantl [Tue, 22 Sep 2015 23:26:31 +0000 (23:26 +0000)]
Serialization: Let ASTWriter return the signature of the written module.

NFC

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248344 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[analyzer] Make realloc(ptr, 0) handling equivalent to malloc(0).
Devin Coughlin [Tue, 22 Sep 2015 22:47:14 +0000 (22:47 +0000)]
[analyzer] Make realloc(ptr, 0) handling equivalent to malloc(0).

Currently realloc(ptr, 0) is treated as free() which seems to be not correct. C
standard (N1570) establishes equivalent behavior for malloc(0) and realloc(ptr,
0): "7.22.3 Memory management functions calloc, malloc, realloc: If the size of
the space requested is zero, the behavior is implementation-defined: either a
null pointer is  returned, or the behavior is as if the size were some nonzero
value, except that the returned pointer shall not be used to access an object."
The patch equalizes the processing of malloc(0) and realloc(ptr,0). The patch
also enables unix.Malloc checker to detect references to zero-allocated memory
returned by realloc(ptr,0) ("Use of zero-allocated memory" warning).

A patch by Антон Ярцев!

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248336 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[analyzer] Create one state for a range switch case instead of multiple.
Devin Coughlin [Tue, 22 Sep 2015 20:31:19 +0000 (20:31 +0000)]
[analyzer] Create one state for a range switch case instead of multiple.

This fixes PR16833, in which the analyzer was using large amounts of memory
for switch statements with large case ranges.

rdar://problem/14685772

A patch by Aleksei Sidorin!

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248318 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoAnalyzer: Teach analyzer how to handle TypeTraitExpr
Ismail Pazarbasi [Tue, 22 Sep 2015 19:33:15 +0000 (19:33 +0000)]
Analyzer: Teach analyzer how to handle TypeTraitExpr

Summary:
`TypeTraitExpr`s are not supported by the ExprEngine today. Analyzer
creates a sink, and aborts the block. Therefore, certain bugs that
involve type traits intrinsics cannot be detected (see PR24710).

This patch creates boolean `SVal`s for `TypeTraitExpr`s, which are
evaluated by the compiler.

Test within the patch is a summary of PR24710.

Reviewers: zaks.anna, dcoughlin, krememek

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248314 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[CUDA] Allow parsing of host and device code simultaneously.
Artem Belevich [Tue, 22 Sep 2015 17:23:22 +0000 (17:23 +0000)]
[CUDA] Allow parsing of host and device code simultaneously.

 * adds -aux-triple option to specify target triple
 * propagates aux target info to AST context and Preprocessor
 * pulls in target specific preprocessor macros.
 * pulls in target-specific builtins from aux target.
 * sets appropriate host or device attribute on builtins.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248299 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoAugmented CudaHostAction to carry device-side triple.
Artem Belevich [Tue, 22 Sep 2015 17:23:13 +0000 (17:23 +0000)]
Augmented CudaHostAction to carry device-side triple.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248298 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[CUDA] Fixes minor cuda-related issues in the driver
Artem Belevich [Tue, 22 Sep 2015 17:23:09 +0000 (17:23 +0000)]
[CUDA] Fixes minor cuda-related issues in the driver

* Only the last of the --cuda-host-only/--cuda-device-only options has effect.
* CudaHostAction always wraps host-side compilation now.
* Fixed printing of empty action lists.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248297 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[CUDA] Add appropriate host/device attribute to builtins.
Artem Belevich [Tue, 22 Sep 2015 17:23:05 +0000 (17:23 +0000)]
[CUDA] Add appropriate host/device attribute to builtins.

The changes are part of attribute-based CUDA function overloading (D12453)
and as such are only enabled when it's in effect (-fcuda-target-overloads).

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248296 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[CUDA] Allow function overloads in CUDA based on host/device attributes.
Artem Belevich [Tue, 22 Sep 2015 17:22:59 +0000 (17:22 +0000)]
[CUDA] Allow function overloads in CUDA based on host/device attributes.

The patch makes it possible to parse CUDA files that contain host/device
functions with identical signatures, but different attributes without
having to physically split source into host-only and device-only parts.

This change is needed in order to parse CUDA header files that have
a lot of name clashes with standard include files.

Gory details are in design doc here: https://goo.gl/EXnymm
Feel free to leave comments there or in this review thread.

This feature is controlled with CC1 option -fcuda-target-overloads
and is disabled by default.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248295 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[CUDA] Add implicit __attribute__((used)) to all __global__ functions.
Artem Belevich [Tue, 22 Sep 2015 17:22:51 +0000 (17:22 +0000)]
[CUDA] Add implicit __attribute__((used)) to all __global__ functions.

This makes sure that we emit kernels that were instantiated from the
host code and which would never be explicitly referenced by anything
else on device side.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248293 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[tooling] Provide the compile commands of the JSON database in the order that they...
Argyrios Kyrtzidis [Tue, 22 Sep 2015 17:22:33 +0000 (17:22 +0000)]
[tooling] Provide the compile commands of the JSON database in the order that they were provided in the JSON file.

This is useful for debugging of issues and reduction of test cases.
For example, an issue may show up due to the order that some commands were processed.
It is convenient to be able to remove commands from the file and still preserve the order
that they are returned, instead of getting a completely different order when removing a few commands.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248292 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRemove unused diagnostic. NFC.
Benjamin Kramer [Tue, 22 Sep 2015 14:34:59 +0000 (14:34 +0000)]
Remove unused diagnostic. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248279 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[mips] Added support for using the command line options -Wa,-msoft-float and -Wa...
Daniel Sanders [Tue, 22 Sep 2015 13:52:32 +0000 (13:52 +0000)]
[mips] Added support for using the command line options -Wa,-msoft-float and -Wa,-mhard-float.

Patch by Scott Egerton.

Reviewers: vkalintiris, dsanders

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248276 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoclang-format: Fix alignConsecutiveAssignments.
Daniel Jasper [Tue, 22 Sep 2015 09:32:00 +0000 (09:32 +0000)]
clang-format: Fix alignConsecutiveAssignments.

It wasn't correctly handling this case:

  int oneTwoThree = 123;
  int oneTwo      = 12;
  method();

Review: http://reviews.llvm.org/D12369
Patch by Beren Minor. Thank you!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248254 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoAdd bug number to FIXME comment.
Nico Weber [Tue, 22 Sep 2015 00:51:10 +0000 (00:51 +0000)]
Add bug number to FIXME comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248235 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoms Intrin.h: Fix __movsw's and __stosw's inline asm.
Nico Weber [Tue, 22 Sep 2015 00:46:21 +0000 (00:46 +0000)]
ms Intrin.h: Fix __movsw's and __stosw's inline asm.

Before, clang's internal assembler would reject the inline asm in clang's
Intrin.h.  To make sure this doesn't happen for other Intrin.h functions using
__asm__ blocks, add 32-bit and 64-bit codegen tests for Intrin.h.

Sadly, these tests discovered that __readcr3 and __writecr3 have bad
implementations in 64-bit builds.  This will have to be fixed in a follow-up.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248234 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoAdd msbuild-bin/cl to CLANG_LINKS_TO_CREATE
Hans Wennborg [Mon, 21 Sep 2015 22:44:57 +0000 (22:44 +0000)]
Add msbuild-bin/cl to CLANG_LINKS_TO_CREATE

This got lost in r248043 which refactored the symlink creation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248221 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoclang-format: Remove ChromiumStyle.MacroBlockBegin.
Nico Weber [Mon, 21 Sep 2015 20:06:42 +0000 (20:06 +0000)]
clang-format: Remove ChromiumStyle.MacroBlockBegin.

We prefer setting these in our .clang-format file as the macros change over
time.  (Also, the code was setting MacroBlockBegin twice and didn't set
MacroBlockEnd, so it wasn't doing what it tried to do anyways.)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248205 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRemove attributes minsize and optsize, which conflict with optnone.
Akira Hatanaka [Mon, 21 Sep 2015 18:52:24 +0000 (18:52 +0000)]
Remove attributes minsize and optsize, which conflict with optnone.

This commit fixes an assert that is triggered when optnone is being
added to an IR function that is already marked with minsize and optsize.

rdar://problem/22723716

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248191 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoAdd a belated testcase for the skeleton CU behavior in r248062.
Adrian Prantl [Mon, 21 Sep 2015 17:48:42 +0000 (17:48 +0000)]
Add a belated testcase for the skeleton CU behavior in r248062.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248185 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoDebug Info: When building a module, emit skeleton CUs for imported modules.
Adrian Prantl [Mon, 21 Sep 2015 17:48:37 +0000 (17:48 +0000)]
Debug Info: When building a module, emit skeleton CUs for imported modules.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248184 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRevert "[ARM] Handle +t2dsp feature as an ArchExtKind in ARMTargetParser.def"
James Molloy [Mon, 21 Sep 2015 16:34:58 +0000 (16:34 +0000)]
Revert "[ARM] Handle +t2dsp feature as an ArchExtKind in ARMTargetParser.def"

This was committed without the code review (http://reviews.llvm.org/D12938) being approved.

This reverts commit r248154.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248173 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoFix assertion in inline assembler IR gen
Alexander Musman [Mon, 21 Sep 2015 14:41:00 +0000 (14:41 +0000)]
Fix assertion in inline assembler IR gen
Several inputs may not refer to one output constraint in inline assembler
insertions, clang was failing on assertion on such test case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248158 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[X86] Make f16c intrinsics accessible through emmintrin.h, per Intel docs
Michael Kuperstein [Mon, 21 Sep 2015 13:34:47 +0000 (13:34 +0000)]
[X86] Make f16c intrinsics accessible through emmintrin.h, per Intel docs

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248156 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[ARM] Handle +t2dsp feature as an ArchExtKind in ARMTargetParser.def
Artyom Skrobov [Mon, 21 Sep 2015 13:19:25 +0000 (13:19 +0000)]
[ARM] Handle +t2dsp feature as an ArchExtKind in ARMTargetParser.def

Currently, the availability of DSP instructions (ACLE 6.4.7) is handled in
a hand-rolled tricky condition block in lib/Basic/Targets.cpp, with a FIXME:
attached.

http://reviews.llvm.org/D12937 moved the handling of +t2dsp over to
ARMTargetParser.def in LLVM, to be in line with other architecture extensions.

This is the corresponding patch to clang, to clear the FIXME: and update
the tests.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248154 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[X86] Fix some non-reserved parameter names in intrinsic headers
Michael Kuperstein [Mon, 21 Sep 2015 11:45:27 +0000 (11:45 +0000)]
[X86] Fix some non-reserved parameter names in intrinsic headers

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248150 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoclang-format: Fix merging short case labels with comments.
Daniel Jasper [Mon, 21 Sep 2015 09:50:01 +0000 (09:50 +0000)]
clang-format: Fix merging short case labels with comments.

This fixes llvm.org/PR24877.

Patch by Benjamin Daly, thank you!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248145 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoclang/test/Modules/DebugInfoSubmodules.c REQUIRES asserts due to -debug-only.
NAKAMURA Takumi [Mon, 21 Sep 2015 06:57:36 +0000 (06:57 +0000)]
clang/test/Modules/DebugInfoSubmodules.c REQUIRES asserts due to -debug-only.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248142 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoPass SourceLocation by value instead of by const reference since its just a 32-bit...
Craig Topper [Mon, 21 Sep 2015 01:23:32 +0000 (01:23 +0000)]
Pass SourceLocation by value instead of by const reference since its just a 32-bit integer. NFC

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248138 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoDon't pass StringRefs around by const reference. Pass by value instead per coding...
Craig Topper [Mon, 21 Sep 2015 00:20:04 +0000 (00:20 +0000)]
Don't pass StringRefs around by const reference. Pass by value instead per coding standards. NFC

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248137 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoModule debugging: Support submodules in the PCM/PCH debug info.
Adrian Prantl [Sun, 20 Sep 2015 16:51:35 +0000 (16:51 +0000)]
Module debugging: Support submodules in the PCM/PCH debug info.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248127 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoFurther simplify the interface of PCHContainerGenerator
Adrian Prantl [Sat, 19 Sep 2015 21:42:52 +0000 (21:42 +0000)]
Further simplify the interface of PCHContainerGenerator
by dropping the const qualifier on the CI.

NFC

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248101 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoConvert two loops to range-based loops. No behavior change.
Nico Weber [Sat, 19 Sep 2015 21:36:51 +0000 (21:36 +0000)]
Convert two loops to range-based loops. No behavior change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248100 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoDriver: alter the getARMFloatABI signature
Saleem Abdulrasool [Sat, 19 Sep 2015 20:40:16 +0000 (20:40 +0000)]
Driver: alter the getARMFloatABI signature

This changes getARMFloatABI to use the ToolChain and Args instead of Driver,
Args, Triple.  Although this pushes the Triple calculation/parsing into the
function itself, it enables the use of the function for a future change.  The
reason to sink the triple calculation here is to avoid threading the Triple
through multiple layers in a future change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248095 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoDriver: tweak ARM target feature calculation
Saleem Abdulrasool [Sat, 19 Sep 2015 18:19:44 +0000 (18:19 +0000)]
Driver: tweak ARM target feature calculation

Rather than using re-calculating the effective triple, thread the already
calculated value down into AddARMTargetArgs.  This avoids both recreating the
triple, as well as re-parsing the triple as it was already done in the previous
frame.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248094 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[X86][SSE] Replace 128-bit SSE41 PMOVSX intrinsics with native IR
Simon Pilgrim [Sat, 19 Sep 2015 15:12:38 +0000 (15:12 +0000)]
[X86][SSE] Replace 128-bit SSE41 PMOVSX intrinsics with native IR

128-bit vector integer sign extensions correctly lower to the pmovsx instructions even for debug builds.

This patch removes the builtins and reimplements the _mm_cvtepi*_epi* intrinsics __using builtin_shufflevector (to extract the bottom most subvector) and __builtin_convertvector (to actually perform the sign extension).

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248092 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[clang-tidy] Fix example comments.
Alexander Kornienko [Sat, 19 Sep 2015 13:01:57 +0000 (13:01 +0000)]
[clang-tidy] Fix example comments.

Patch by don hinton!

Differential revision: http://reviews.llvm.org/D12967

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248090 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[Modules] More descriptive diagnostics for misplaced import directive
Serge Pavlov [Sat, 19 Sep 2015 05:32:57 +0000 (05:32 +0000)]
[Modules] More descriptive diagnostics for misplaced import directive

If an import directive was put into wrong context, the error message was obscure,
complaining on misbalanced braces. To get more descriptive messages, annotation
tokens related to modules are processed where they must not be seen.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248085 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoDriver: avoid unnecessary string ops
Saleem Abdulrasool [Sat, 19 Sep 2015 04:33:38 +0000 (04:33 +0000)]
Driver: avoid unnecessary string ops

Use an enumeration for the Floating Point ABIs supported on MIPS.  This is
replicating the ARM change to avoid string based tracking of the floating point
ABI.  NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248083 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoAdd test that we correctly allow some non-letter unicode characters in
Richard Smith [Sat, 19 Sep 2015 02:14:12 +0000 (02:14 +0000)]
Add test that we correctly allow some non-letter unicode characters in
identifiers, and extend existing test to also cover C++.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248079 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoFurther simplify CGDebugInfo::getOrCreateModuleRef().
Adrian Prantl [Sat, 19 Sep 2015 00:59:22 +0000 (00:59 +0000)]
Further simplify CGDebugInfo::getOrCreateModuleRef().
DIBuilder ignoers DICompileUnits that are passed in as scopes anyway.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248077 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoUse std::move on these arguments.
Adrian Prantl [Sat, 19 Sep 2015 00:59:19 +0000 (00:59 +0000)]
Use std::move on these arguments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248076 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRename ASTSourceDescriptor::ModuleName to FullModuleName for clarity.
Adrian Prantl [Sat, 19 Sep 2015 00:10:37 +0000 (00:10 +0000)]
Rename ASTSourceDescriptor::ModuleName to FullModuleName for clarity.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248070 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRefactor ASTReader::getSourceDescriptor(const Module &) into a constructor
Adrian Prantl [Sat, 19 Sep 2015 00:10:32 +0000 (00:10 +0000)]
Refactor ASTReader::getSourceDescriptor(const Module &) into a constructor
of ASTSourceDescriptor. It was effectively a static function.

NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248069 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoEliminate a redundant check.
Adrian Prantl [Sat, 19 Sep 2015 00:10:25 +0000 (00:10 +0000)]
Eliminate a redundant check.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248068 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[Static Analyzer] Fixed a false positive case in DynamicTypeChecker when dealing...
Gabor Horvath [Fri, 18 Sep 2015 23:38:57 +0000 (23:38 +0000)]
[Static Analyzer] Fixed a false positive case in DynamicTypeChecker when dealing with forward declarations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248065 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoSplit off the binary literal warning into a subgroup of C++14 warnings
Richard Trieu [Fri, 18 Sep 2015 23:18:39 +0000 (23:18 +0000)]
Split off the binary literal warning into a subgroup of C++14 warnings

Binary literals predate C++14, but they are listed as a C++14 extension since
this was the first time they were standardized in the language.  Move the
warning into a subgroup so it can be selectively disabled when checking for
other C++14 features.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248064 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoCGDebugInfo: Make creating a skeleton CU in getOrCreateModuleRef optional.
Adrian Prantl [Fri, 18 Sep 2015 23:01:45 +0000 (23:01 +0000)]
CGDebugInfo: Make creating a skeleton CU in getOrCreateModuleRef optional.
We don't want a skeleton CU when generating debug info for the module
itself.

NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248062 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoSimplify the interface of PCHContainerGenerator and friends
Adrian Prantl [Fri, 18 Sep 2015 22:10:59 +0000 (22:10 +0000)]
Simplify the interface of PCHContainerGenerator and friends
by passing in a CompilerInstance instead of all its individual members.

NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248053 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRelax the test to get it passing with windows paths.
Rafael Espindola [Fri, 18 Sep 2015 22:01:10 +0000 (22:01 +0000)]
Relax the test to get it passing with windows paths.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248051 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoAnalyzer: Fix a crasher in UbigraphViz
Ismail Pazarbasi [Fri, 18 Sep 2015 21:54:47 +0000 (21:54 +0000)]
Analyzer: Fix a crasher in UbigraphViz

Summary:
Name `Out` refers to the parameter. It is moved into the member `Out`
in ctor-init. Dereferencing null pointer will crash clang, if user
passes '-analyzer-viz-egraph-ubigraph' argument.

Reviewers: zaks.anna, krememek

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248050 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoReduce indentation in the TargetInfo implementations and fix up
Eric Christopher [Fri, 18 Sep 2015 21:26:24 +0000 (21:26 +0000)]
Reduce indentation in the TargetInfo implementations and fix up
a couple of macro builtin redefines.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248046 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[CMake] Refactoring and cleaning up clang symlink generation.
Chris Bieneman [Fri, 18 Sep 2015 21:15:54 +0000 (21:15 +0000)]
[CMake] Refactoring and cleaning up clang symlink generation.

Generation of clang symlinks now uses add_clang_symlink macro which uses add_llvm_symlink. Also the list of symlinks to generate is configurable via CLANG_LINKS_TO_CREATE.

This re-lands r248015, with fixes for clang symlinks to always be generated as part of the clang and install-clang targets.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248043 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[Static Analyzer] General type checker based on dynamic type information.
Gabor Horvath [Fri, 18 Sep 2015 21:15:37 +0000 (21:15 +0000)]
[Static Analyzer] General type checker based on dynamic type information.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248041 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoDebug Info: Use the full module name as a key when caching DIModules.
Adrian Prantl [Fri, 18 Sep 2015 21:06:14 +0000 (21:06 +0000)]
Debug Info: Use the full module name as a key when caching DIModules.
The signature may not have been computed at the time the module reference
is generated (e.g.: in the future while emitting debug info for a clang
module). Using the full module name is safe because each clang module may
only have a single definition.

NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248037 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoHandle lld not being found in PATH.
Rafael Espindola [Fri, 18 Sep 2015 20:55:58 +0000 (20:55 +0000)]
Handle lld not being found in PATH.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248035 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoclang-cl: Don't warn on /bigobj flag
Nico Weber [Fri, 18 Sep 2015 20:49:33 +0000 (20:49 +0000)]
clang-cl: Don't warn on /bigobj flag

LLVM r217812 made it so that clang-cl implicitly creates bigobj files when
needed, independent of this flag. It looks like cl has this flag to produce obj
flags compatible with MSVS 2003's linker by default, something we don't care
about. Since clang-cl always has /bigobj behavior, don't warn that the flag is
unused, just ignore it silently.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248034 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoYet another try at fixing this at every bot.
Rafael Espindola [Fri, 18 Sep 2015 20:44:09 +0000 (20:44 +0000)]
Yet another try at fixing this at every bot.

This time handle " and - after clang and lld.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248033 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRelax this test further to pass in other bots.
Rafael Espindola [Fri, 18 Sep 2015 20:35:53 +0000 (20:35 +0000)]
Relax this test further to pass in other bots.

The problem this time was the /clang matching the InstalledDir line.

Now we just use regular expressions which are more flexible, if a bit less
readable, than CHECK+CHECK-SAME.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248031 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoFix test to pass when the directory name has lld in it.
Rafael Espindola [Fri, 18 Sep 2015 20:22:36 +0000 (20:22 +0000)]
Fix test to pass when the directory name has lld in it.

CHECK-LABEL assumes that there is only one occurrence of the match.

The output looks like:

clang version 3.8.0 (trunk 247999)
....
/path/to/build/dir/bin/clang-3.8 ....

If the path contains lld, the second CHECK-LABEL matches it and we fail since
there is no -cc1as between clang and lld.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248029 91177308-0d34-0410-b5e6-96231b3b80d8

9 years agoRevert "[CMake] Refactoring and cleaning up clang symlink generation."
Chris Bieneman [Fri, 18 Sep 2015 19:59:51 +0000 (19:59 +0000)]
Revert "[CMake] Refactoring and cleaning up clang symlink generation."

This reverts commit r248015, because it broke bots. I'll revise and recommit.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248025 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[analyzer] A fix for substraction of an integer from a pointer.
Gabor Horvath [Fri, 18 Sep 2015 19:13:22 +0000 (19:13 +0000)]
[analyzer] A fix for substraction of an integer from a pointer.

Patch by Artem Dergachev!

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248021 91177308-0d34-0410-b5e6-96231b3b80d8

9 years ago[CMake] Set CLANG_LINKS_TO_CREATE in Apple-stage2.cmake so that we create cc and...
Chris Bieneman [Fri, 18 Sep 2015 18:11:18 +0000 (18:11 +0000)]
[CMake] Set CLANG_LINKS_TO_CREATE in Apple-stage2.cmake so that we create cc and c++ links.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248016 91177308-0d34-0410-b5e6-96231b3b80d8