]> granicus.if.org Git - clang/log
clang
9 years ago[test/Index] Update libclang tests to use libclang for creating PCH files.
Argyrios Kyrtzidis [Wed, 5 Aug 2015 17:23:59 +0000 (17:23 +0000)]
[test/Index] Update libclang tests to use libclang for creating PCH files.

This is consistent and tests the primary configuration we want to test, libclang
creating and consuming PCH files.

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

9 years agoFix a tiny bug in -no-canonical-prefixes that somehow we have never
Chandler Carruth [Wed, 5 Aug 2015 17:07:33 +0000 (17:07 +0000)]
Fix a tiny bug in -no-canonical-prefixes that somehow we have never
noticed until now.

The code for setting up the driver's InstalledDir didn't respect
-no-canonical-prefixes. Because of this, there are a few places in the
driver where we would unexpectedly form absolute paths, notably when
searching for and finding GCC installations to use, etc. The fix is
straightforward, and I've added this path to '-v' both so we can test it
sanely and so that it will be substantially more obvious the next time
someone has to debug something here.

Note that there is another bug that we don't actually *canonicalize* the
installed directory! I don't really want to fix that because I don't
have a realistic way to test the usage of this mode. I suspect that
folks using the shared module cache would care about getting this right
though, and so they might want to address it. I've left the appropriate
FIXMEs so that it is clear what to change, and I've updated the test
code to make it clear what is happening here.

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

9 years agoAdd missing atomic libcall support.
James Y Knight [Wed, 5 Aug 2015 16:57:36 +0000 (16:57 +0000)]
Add missing atomic libcall support.

Support for emitting libcalls for __atomic_fetch_nand and
__atomic_{add,sub,and,or,xor,nand}_fetch was missing; add it, and some
test cases.

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

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

9 years ago[SHAVE] uppercase the CHECK prefixes in 'lit' tests. NFC
Douglas Katzman [Wed, 5 Aug 2015 15:08:54 +0000 (15:08 +0000)]
[SHAVE] uppercase the CHECK prefixes in 'lit' tests. NFC

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

9 years agoDelete trailing whitespace
Douglas Katzman [Wed, 5 Aug 2015 15:08:53 +0000 (15:08 +0000)]
Delete trailing whitespace

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

9 years agoOfficially end my reign as owner of the driver.
Chad Rosier [Wed, 5 Aug 2015 14:52:01 +0000 (14:52 +0000)]
Officially end my reign as owner of the driver.

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

9 years agoAdd AST matchers for narrowing constructors that are default, copy, or move construct...
Aaron Ballman [Wed, 5 Aug 2015 12:11:30 +0000 (12:11 +0000)]
Add AST matchers for narrowing constructors that are default, copy, or move constructors, as well as functionality to determine whether a ctor initializer is a base initializer.

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

9 years ago[AST] ArrayRefize template param list info setters. No functionality change intended.
Benjamin Kramer [Wed, 5 Aug 2015 09:40:49 +0000 (09:40 +0000)]
[AST] ArrayRefize template param list info setters. No functionality change intended.

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

9 years ago[AST] ArrayRefize BlockDecl::setCaptures. No functionality change intended.
Benjamin Kramer [Wed, 5 Aug 2015 09:40:35 +0000 (09:40 +0000)]
[AST] ArrayRefize BlockDecl::setCaptures. No functionality change intended.

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

9 years ago[AST] ArrayRefize template argument packs. No functionality change intended.
Benjamin Kramer [Wed, 5 Aug 2015 09:40:22 +0000 (09:40 +0000)]
[AST] ArrayRefize template argument packs. No functionality change intended.

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

9 years ago[Comments] Replace custom ArrayRef copying with ArrayRef::copy. NFC.
Benjamin Kramer [Wed, 5 Aug 2015 09:40:04 +0000 (09:40 +0000)]
[Comments] Replace custom ArrayRef copying with ArrayRef::copy. NFC.

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

9 years ago[Parse] ArrayRefize PragmaLoopHintInfo. No functionality change.
Benjamin Kramer [Wed, 5 Aug 2015 09:39:57 +0000 (09:39 +0000)]
[Parse] ArrayRefize PragmaLoopHintInfo. No functionality change.

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

9 years agoDon't repeat function names in comments. NFC.
Filipe Cabecinhas [Wed, 5 Aug 2015 06:19:26 +0000 (06:19 +0000)]
Don't repeat function names in comments. NFC.

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

9 years agoUpdate mailing list references to lists.llvm.org
Tanya Lattner [Wed, 5 Aug 2015 03:55:23 +0000 (03:55 +0000)]
Update mailing list references to lists.llvm.org

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

9 years ago[CodeGen] Fold memcpy into SmallVector initializer. No functionality change.
Benjamin Kramer [Tue, 4 Aug 2015 15:38:49 +0000 (15:38 +0000)]
[CodeGen] Fold memcpy into SmallVector initializer. No functionality change.

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

9 years ago[Sema] Add a crazy test case for r243987
Benjamin Kramer [Tue, 4 Aug 2015 15:18:16 +0000 (15:18 +0000)]
[Sema] Add a crazy test case for r243987

It's not valid code (maybe it can be made valid, but I'm not sure how).
To trigger the crash fixed in r243987 requires a friend function with
more than four template parameter lists. With this test we have at least
some coverage.

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

9 years ago[Sema] Allocate SmallVector to the right size.
Benjamin Kramer [Tue, 4 Aug 2015 14:46:06 +0000 (14:46 +0000)]
[Sema] Allocate SmallVector to the right size.

SmallVector::set_size does not reallocate the vector. Sadly I have no
idea how to test this. The vector never has more than one member in all
of the regression tests.

Found by inspection.

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

9 years ago[AST] Really allocate a SmallVector to the right size.
Benjamin Kramer [Tue, 4 Aug 2015 13:34:50 +0000 (13:34 +0000)]
[AST] Really allocate a SmallVector to the right size.

set_size only resets the end pointer and asserts if it is used to grow
the buffer. This would crash when mangling a float with more than 80 bits,
add a test with a ppc double double (128 bits).

Found by inspection.

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

9 years ago[AST] Simplify code by letting ArrayRef do the copying.
Benjamin Kramer [Tue, 4 Aug 2015 12:59:41 +0000 (12:59 +0000)]
[AST] Simplify code by letting ArrayRef do the copying.

No functionality change intended.

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

9 years ago[CodeGen] Don't write into a SmallVector's uninitialized memory.
Benjamin Kramer [Tue, 4 Aug 2015 12:34:30 +0000 (12:34 +0000)]
[CodeGen] Don't write into a SmallVector's uninitialized memory.

That's just ugly and not needed in this case. No functionality change.

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

9 years ago[ASTContext] Add a templated convenience wrapper for Allocate.
Benjamin Kramer [Tue, 4 Aug 2015 12:34:23 +0000 (12:34 +0000)]
[ASTContext] Add a templated convenience wrapper for Allocate.

This brings ASTContext closer to LLVM's Allocator concept. Ideally we
would just derive ASTContext from llvm::AllocatorBase, but that does
not work because ASTContext's allocator is mutable and we allocate using
const ASTContext& everywhere.

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

9 years ago[FileManager] Use StringRef::copy to store canonical paths.
Benjamin Kramer [Tue, 4 Aug 2015 11:27:08 +0000 (11:27 +0000)]
[FileManager] Use StringRef::copy to store canonical paths.

No functional change intended.

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

9 years ago[OPENMP 4.1] Support for 'linear' clause in loop directives.
Alexey Bataev [Tue, 4 Aug 2015 11:18:19 +0000 (11:18 +0000)]
[OPENMP 4.1] Support for  'linear' clause in loop directives.

OpenMP 4.1 allows 'linear' clause in loop directives. Patch adds support for it.

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

9 years ago[Edit] Use StringRef's copy method. No functional change intended.
Benjamin Kramer [Tue, 4 Aug 2015 11:18:09 +0000 (11:18 +0000)]
[Edit] Use StringRef's copy method. No functional change intended.

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

9 years ago[AST] Use StringRef's convenient copy method. No functionality change.
Benjamin Kramer [Tue, 4 Aug 2015 10:22:38 +0000 (10:22 +0000)]
[AST] Use StringRef's convenient copy method. No functionality change.

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

9 years ago[OPENMP] Fix compiler crash during data-sharing attributes analysis.
Alexey Bataev [Tue, 4 Aug 2015 08:10:48 +0000 (08:10 +0000)]
[OPENMP] Fix compiler crash during data-sharing attributes analysis.

If a global variable is marked as private in OpenMP construct and then is used in of the private clauses of the same construct, it might cause compiler crash because of incorrect capturing.

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

9 years ago[UB] Avoid a really broken call to realloc that would later result in
Chandler Carruth [Tue, 4 Aug 2015 03:53:04 +0000 (03:53 +0000)]
[UB] Avoid a really broken call to realloc that would later result in
a bad call to memcpy.

When we only have a buffer from one of the two reparse calls, we can
just return that buffer rather than going through the realloc/memcpy
dance.

Found with UBsan.

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

9 years ago[UB] Guard two calls to memcpy in generated attribute code to handle
Chandler Carruth [Tue, 4 Aug 2015 03:53:01 +0000 (03:53 +0000)]
[UB] Guard two calls to memcpy in generated attribute code to handle
null StringRef objects as inputs.

Found by UBSan.

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

9 years ago[UB] Another place where we were trying to put string data into
Chandler Carruth [Tue, 4 Aug 2015 03:53:00 +0000 (03:53 +0000)]
[UB] Another place where we were trying to put string data into
a BumpPtrAllocator. This at least now handles the case where there is no
concatentation without calling memcpy on a null pointer. It might be
interesting to handle the case where everything is empty without
round-tripping through the allocator, but it wasn't clear to me if the
pointer returned is significant in any way, so I've left it in
a conservatively more-correct state.

Again, found with UBSan.

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

9 years ago[UB] When attaching empty strings to the AST, use an empty StringRef
Chandler Carruth [Tue, 4 Aug 2015 03:52:58 +0000 (03:52 +0000)]
[UB] When attaching empty strings to the AST, use an empty StringRef
rather than forcing the bump pointer allocator to produce a viable
pointer. This also fixes UB when we would try to memcpy from the null
incoming StringRef.

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

9 years ago[UB] Fix the two ways that we would try to memcpy from a null buffer in
Chandler Carruth [Tue, 4 Aug 2015 03:52:56 +0000 (03:52 +0000)]
[UB] Fix the two ways that we would try to memcpy from a null buffer in
the nested name specifier code.

First, skip the entire thing when the input is empty.

Next, handle the case where we started off with a null buffer and a zero
capacity to skip copying and freeing.

This was found with UBSan.

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

9 years ago[UB] Fix two cases of UB in copy/pasted code from SmallVector.
Chandler Carruth [Tue, 4 Aug 2015 03:52:52 +0000 (03:52 +0000)]
[UB] Fix two cases of UB in copy/pasted code from SmallVector.

We should really stop copying and pasting code around. =/

Found by UBSan.

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

9 years ago[modules] Make IndirectFieldDecl mergeable to avoid lookup ambiguity when the same...
Richard Smith [Tue, 4 Aug 2015 02:05:09 +0000 (02:05 +0000)]
[modules] Make IndirectFieldDecl mergeable to avoid lookup ambiguity when the same anonymous union is defined across multiple modules.

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

9 years agoRemove unused header include.
Argyrios Kyrtzidis [Tue, 4 Aug 2015 01:44:13 +0000 (01:44 +0000)]
Remove unused header include.

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

9 years agoDtor callback emitted when msan attribute not repressed for this function.
Naomi Musgrave [Mon, 3 Aug 2015 22:53:11 +0000 (22:53 +0000)]
Dtor callback emitted when msan attribute not repressed for this function.

Summary: In addition to checking compiler flags, the front-end also examines the attributes of the destructor definition to ensure that the SanitizeMemory attribute is attached.

Reviewers: eugenis, kcc

Subscribers: cfe-commits

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

refactored test into new file, revised how function attribute examined

modified test to examine default dtor with and without attribute

removed attribute check

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

9 years agoX86: Teach X86 builtins which target features they require
Justin Bogner [Mon, 3 Aug 2015 22:26:06 +0000 (22:26 +0000)]
X86: Teach X86 builtins which target features they require

This adds the required target feature names to x86 builtins that need
particular features. Most have exactly one ("avx", "aes", etc), but some
of the avx512 features have multiple requirements, eg "avx512vl,avx512bw".

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

9 years agoGrammar: Don't imply that a program wouldn't want a person as its output.
Douglas Katzman [Mon, 3 Aug 2015 20:41:31 +0000 (20:41 +0000)]
Grammar: Don't imply that a program wouldn't want a person as its output.

(Because, hey, who wouldn't?)

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

9 years ago[SHAVE] Pass all -f, -g, -O, -W options through directly to moviCompile.
Douglas Katzman [Mon, 3 Aug 2015 14:34:22 +0000 (14:34 +0000)]
[SHAVE] Pass all -f, -g, -O, -W options through directly to moviCompile.

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

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

9 years ago[CONCEPTS] Add concept to VarDecl and diagnostic for uninitialized variable concept
Nathan Wilson [Mon, 3 Aug 2015 14:25:45 +0000 (14:25 +0000)]
[CONCEPTS] Add concept to VarDecl and diagnostic for uninitialized variable concept

Summary: Add IsConcept bit to VarDecl::NonParmVarDeclBitfields and associated isConcept/setConcept member functions. Set IsConcept to true when 'concept' specifier is in variable declaration. Create diagnostic when variable concept is not initialized.

Reviewers: fraggamuffin, hubert.reinterpretcast, faisalv, aaron.ballman, rsmith

Subscribers: aemerson, cfe-commits

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

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

9 years agoAdditional fix for PR14269: Crash on vector elements / global register vars in inline...
Andrey Bokhanko [Mon, 3 Aug 2015 10:38:10 +0000 (10:38 +0000)]
Additional fix for PR14269: Crash on vector elements / global register vars in inline assembler.

Compiler crashed when vector elements / global register vars were used in inline assembler with "m" restriction. This patch fixes this.

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

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

9 years ago[X86][AVX512VLBW] add pack, cvt, mulhi and madd intrinsics
Asaf Badouh [Mon, 3 Aug 2015 07:51:00 +0000 (07:51 +0000)]
[X86][AVX512VLBW] add pack, cvt, mulhi and madd intrinsics

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

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

9 years agoFix invalid shufflevector operands
Simon Pilgrim [Sun, 2 Aug 2015 15:28:10 +0000 (15:28 +0000)]
Fix invalid shufflevector operands

This patch fixes bug 23800 ( https://llvm.org/bugs/show_bug.cgi?id=23800#c2 ). There existed a case where the index operand from extractelement was directly used to create a shufflevector mask. Since the index can be of any integral type but the mask must only contain 32 bit integers a 64 bit index operand led to an assertion error later on.

Committed on behalf of mpflanzer (Moritz Pflanzer)

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

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

9 years ago[X86][AVX512VLDQ] add reduce/range/cvt intrinsics
Asaf Badouh [Sun, 2 Aug 2015 12:43:08 +0000 (12:43 +0000)]
[X86][AVX512VLDQ] add reduce/range/cvt intrinsics
add 128 & 256 width intrinsic versions of reduce/range and cvt i64 to FP and vice versa

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

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

9 years agoRangify for loops, NFC.
Yaron Keren [Sat, 1 Aug 2015 19:11:36 +0000 (19:11 +0000)]
Rangify for loops, NFC.

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

9 years agoRevert r243827.
Davide Italiano [Sat, 1 Aug 2015 18:25:03 +0000 (18:25 +0000)]
Revert r243827.

Until I figure out what's the right way of updating this file.

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

9 years ago[SemaExpr] Factor out common diagnostic code for remainder/division.
Davide Italiano [Sat, 1 Aug 2015 10:13:39 +0000 (10:13 +0000)]
[SemaExpr] Factor out common diagnostic code for remainder/division.

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

9 years ago[MS ABI] Create a mangling for extended vector types
David Majnemer [Sat, 1 Aug 2015 05:51:55 +0000 (05:51 +0000)]
[MS ABI] Create a mangling for extended vector types

Extended vector types are mangled just like normal vector types.

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

9 years agoConvertibility of nullptr_t to bool is available in clang. Note it.
Davide Italiano [Sat, 1 Aug 2015 05:48:03 +0000 (05:48 +0000)]
Convertibility of nullptr_t to bool is available in clang. Note it.

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

9 years agoUse the reserved keyword spelling of 'typeof'
David Majnemer [Sat, 1 Aug 2015 05:31:56 +0000 (05:31 +0000)]
Use the reserved keyword spelling of 'typeof'

No functional change intended, just a drive-by cleanup.

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

9 years ago[Tests] Add explicit -std=lang option to a number of tests.
Yunzhong Gao [Sat, 1 Aug 2015 02:55:59 +0000 (02:55 +0000)]
[Tests] Add explicit -std=lang option to a number of tests.

This patch should not change the test results, but it is useful if clang's
default C++ language is ever changed from gnu++98.

Patch by: Charles Li

http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20150727/134667.html

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

9 years ago[libFuzzer] minimal documentation on data-flow-guided fuzzing
Kostya Serebryany [Fri, 31 Jul 2015 21:48:10 +0000 (21:48 +0000)]
[libFuzzer] minimal documentation on data-flow-guided fuzzing

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

9 years agotest commit; wrap ellipses in comment with brackets
Nathan Wilson [Fri, 31 Jul 2015 20:00:02 +0000 (20:00 +0000)]
test commit; wrap ellipses in comment with brackets

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

9 years agoDI: Update testcases for LLVM assembly change
Duncan P. N. Exon Smith [Fri, 31 Jul 2015 18:59:37 +0000 (18:59 +0000)]
DI: Update testcases for LLVM assembly change

Update testcases after LLVM change r243774.

Most of these had no need to check `tag:` field, but did so as a way of
getting to the `name:` field.  In a few cases I've converted the `tag:`
checks to `arg:` or `CHECK-NOT: arg:`.

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

9 years ago[MS ABI] Hook clang up to the new EH instructions
David Majnemer [Fri, 31 Jul 2015 17:58:45 +0000 (17:58 +0000)]
[MS ABI] Hook clang up to the new EH instructions

The new EH instructions make it possible for LLVM to generate .xdata
tables that the MSVC personality routines will be happy about.  Because
this is experimental, hide it behind a -cc1 flag (-fnew-ms-eh).

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

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

9 years agoDI: Update for LLVM API change for local variables
Duncan P. N. Exon Smith [Fri, 31 Jul 2015 17:56:14 +0000 (17:56 +0000)]
DI: Update for LLVM API change for local variables

Adjust to LLVM DIBuilder API changes in r243764, using
`createAutoVariable()` and `createParameterVariable()` in place of
`createLocalVariable()`.  No real functionality change here.

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

9 years agoOutline function Parser::ParseCXXClassMemberDeclarationWithPragmas(), NFC.
Alexey Bataev [Fri, 31 Jul 2015 08:42:25 +0000 (08:42 +0000)]
Outline function Parser::ParseCXXClassMemberDeclarationWithPragmas(), NFC.

Parsing of pragmas followed by a class member declaration is outlined into a separate function Parser::ParseCXXClassMemberDeclarationWithPragmas().

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

9 years agoMake sure the 2 method calls are sequenced.
Argyrios Kyrtzidis [Fri, 31 Jul 2015 01:39:23 +0000 (01:39 +0000)]
Make sure the 2 method calls are sequenced.

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

9 years ago[modules] Fix issue where building a module from a relative path when -working-direct...
Argyrios Kyrtzidis [Fri, 31 Jul 2015 00:58:32 +0000 (00:58 +0000)]
[modules] Fix issue where building a module from a relative path when -working-directory option is set, results in error.

The error was "module '<name>' was built in directory '<path>' but now resides in directory '<path>'
rdar://21330027

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

9 years agoSplit DWARF: Allow -gmlt/-gsplit-dwarf to override rather than complement each other
David Blaikie [Thu, 30 Jul 2015 21:42:22 +0000 (21:42 +0000)]
Split DWARF: Allow -gmlt/-gsplit-dwarf to override rather than complement each other

It doesn't make any sense to enable -gmlt with -gsplit-dwarf, since
-gmlt is designed for on-line symbolication (and -gsplit-dwarf normally
emits all the -gmlt data into the .o anyway - so there's nothing to
split out except redundant/duplicate info).

With this change they override each other, -gmlt -gsplit-dwarf is the
same as -gsplit-dwarf and -gsplit-dwarf -gmlt is the same as -gmlt.

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

9 years agoImproved error recovery for _Pragma
Hubert Tong [Thu, 30 Jul 2015 21:30:00 +0000 (21:30 +0000)]
Improved error recovery for _Pragma

Summary:
Currently, if the argument to _Pragma is not a parenthesised string
literal, the bad token will be consumed, as well as the ')', if present.
If additional bad tokens are passed to the _Pragma, this results in
extra error messages which may distract from the true problem.

The proposed patch causes all tokens to be consumed until the closing
')' or a new line, whichever is reached first.

Reviewers: hfinkel, rsmith

Subscribers: hubert.reinterpretcast, fraggamuffin, rnk, cfe-commits

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

Patch by Rachel Craik!

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

9 years ago[Concepts] Add diagnostic: non template declaration
Hubert Tong [Thu, 30 Jul 2015 21:20:55 +0000 (21:20 +0000)]
[Concepts] Add diagnostic: non template declaration

Summary:
Adding diagnostic for concepts declared as non template (function
or variable)

Reviewers: faisalv, fraggamuffin, rsmith, hubert.reinterpretcast

Subscribers: nwilson, cfe-commits

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

Patch by Nathan Wilson!

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

9 years ago[sanitizers] Enable dfsan for aarch64
Adhemerval Zanella [Thu, 30 Jul 2015 20:50:39 +0000 (20:50 +0000)]
[sanitizers] Enable dfsan for aarch64

This patch enables DFSan for aarch64/linux.

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

9 years ago[sema] Allow to opt-out of overriding the super class's designated initializers by...
Argyrios Kyrtzidis [Thu, 30 Jul 2015 19:06:04 +0000 (19:06 +0000)]
[sema] Allow to opt-out of overriding the super class's designated initializers by marking the initializer as unavailable in the subclass.

rdar://20281322

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

9 years agosimplified test case
Naomi Musgrave [Thu, 30 Jul 2015 17:59:55 +0000 (17:59 +0000)]
simplified test case

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

9 years agoremoved hardcoding for attribute associated with dtor in test
Naomi Musgrave [Thu, 30 Jul 2015 17:59:54 +0000 (17:59 +0000)]
removed hardcoding for attribute associated with dtor in test

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

9 years agoTesting to verify function attribute disable-tail-calls applied to destructor
Naomi Musgrave [Thu, 30 Jul 2015 17:59:52 +0000 (17:59 +0000)]
Testing to verify function attribute disable-tail-calls applied to destructor

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

9 years agoupdated test to be more explicit
Naomi Musgrave [Thu, 30 Jul 2015 17:59:50 +0000 (17:59 +0000)]
updated test to be more explicit

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

9 years agoUpdated test regex and flags
Naomi Musgrave [Thu, 30 Jul 2015 17:59:48 +0000 (17:59 +0000)]
Updated test regex and flags

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

9 years agorepress tail call optimization when performing use-after-dtor sanitization
Naomi Musgrave [Thu, 30 Jul 2015 17:59:46 +0000 (17:59 +0000)]
repress tail call optimization when performing use-after-dtor sanitization

Reviewers: eugenis, kcc

Subscribers: cfe-commits

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

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

9 years agoUse llvm::reverse to make a bunch of loops use foreach. NFC.
Pete Cooper [Thu, 30 Jul 2015 17:22:52 +0000 (17:22 +0000)]
Use llvm::reverse to make a bunch of loops use foreach.  NFC.

In llvm commit r243581, a reverse range adapter was added which allows
us to change code such as

  for (auto I = Fields.rbegin(), E = Fields.rend(); I != E; ++I) {

in to

  for (const FieldDecl *I : llvm::reverse(Fields))

This commit changes a few of the places in clang which are eligible to use
this new adapter.

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

9 years agoAdd fmodules-cache-path to 2 tests which were missing it.
Pete Cooper [Thu, 30 Jul 2015 16:44:07 +0000 (16:44 +0000)]
Add fmodules-cache-path to 2 tests which were missing it.

These tests were creating a modules.idx file in my clang checkout, not
the build directory or temp.

All the other tests in this directory use -fmodules-cache-path=%t so
updated these to match.

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

9 years ago[ARM] Allow setting the generic features for native cpus
Renato Golin [Thu, 30 Jul 2015 16:40:17 +0000 (16:40 +0000)]
[ARM] Allow setting the generic features for native cpus

Copying the already existing code for x86 to ARM to set the correct CPU
features when using -mcpu=native. We can already detect the CPU name
but we were not setting the correct feature bits.

Moving fpu/hwdiv down to make sure they override whatever we set the
default to be.

No tests because this is native detection, and not all ARM-enabled builds
will hapen at a specific CPU, or even ARM. I have tested locally and it
works as expected.

Fixes PR12794.

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

9 years agoFix sanitizer fallout from r243642
Ulrich Weigand [Thu, 30 Jul 2015 15:53:58 +0000 (15:53 +0000)]
Fix sanitizer fallout from r243642

The memory-sanitizer build bot reported:

==5574== WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x7f03089e15f6 in
clang::Parser::TryAltiVecTokenOutOfLine(clang::DeclSpec&,
clang::SourceLocation, char const*&, unsigned int&, bool&)
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/clang/lib/Parse/ParseDecl.cpp:6290:11

This is because the "Ident_pixel" variable was uninitialized
in the getLangOpts().ZVector case, but we'd still call into
clang::Parser::TryAltiVecTokenOutOfLine, which uses the variable.

The simplest fix for this without sprinkling !getLangOpts().ZVector
checks all over the code seems to be to just initialize the variable
to nullptr; this will then do the right thing on ZVector.

Checked in to unbreak the build bots.

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

9 years ago[SystemZ] Add support for vecintrin.h vector built-in functions
Ulrich Weigand [Thu, 30 Jul 2015 14:10:43 +0000 (14:10 +0000)]
[SystemZ] Add support for vecintrin.h vector built-in functions

This patch adds support for the System Z vector built-in functions.
The API-defined header file has the name vecintrin.h.

The user-level functions are defined in the same style as the clang
version of altivec.h, making heavy use of the __overloadable__ and
__always_inline__ attributes.  Where possible the functions expand to
generic operations rather than specific built-in functions, in the hope
that that form can be optimised better.

Where a built-in routine is specified to require an immediate integer
argument, the __enable_if__ attribute is used to verify the argument is
in fact constant and in the appropriate range.

Based on a patch by Richard Sandiford.

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

9 years agoAdd support for System z vector language extensions
Ulrich Weigand [Thu, 30 Jul 2015 14:08:36 +0000 (14:08 +0000)]
Add support for System z vector language extensions

The z13 vector facility has an associated language extension,
closely modeled on AltiVec/VSX.  The main differences are:

- vector long, vector float and vector pixel are not supported

- vector long long and vector double are supported (like VSX)

- comparison operators return a vector rather than a scalar integer

- shift operators behave like the OpenCL shift operators

- vector bool is only supported as argument to certain operators;
  some operators allow mixing a bool with a non-bool vector

This patch adds clang support for the extension.  It is closely modelled
on the AltiVec support.  Similarly to the -faltivec option, there's a
new -fzvector option to enable the extensions (as well as an -mzvector
alias for compatibility with GCC).  There's also a separate LangOpt.

The extension as implemented here is intended to be compatible with
the -mzvector extension recently implemented by GCC.

Based on a patch by Richard Sandiford.

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

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

9 years ago[OPENMP 4.1] Initial support for extended 'ordered' clause.
Alexey Bataev [Thu, 30 Jul 2015 11:36:16 +0000 (11:36 +0000)]
[OPENMP 4.1] Initial support for extended 'ordered' clause.

OpenMP 4.1 introduces optional argument '(n)' for 'ordered' clause, where 'n' is a number of loops that immediately follow the directive.
'n' must be constant positive integer expressions and it must be less or equal than the number of the loops in the resulting loop nest.
Patch adds parsing and semantic analysis for this optional argument.

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

9 years ago[X86] Recognize "flags" as an identifier, not a register in Intel-syntax inline asm
Michael Kuperstein [Thu, 30 Jul 2015 10:10:47 +0000 (10:10 +0000)]
[X86] Recognize "flags" as an identifier, not a register in Intel-syntax inline asm

This contains the test-case for r243630.

Patch by: marina.yatsina@intel.com
Differential Revision: http://reviews.llvm.org/D11513

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

9 years agoAdd a comment explaining differing Windows behavior.
Sean Silva [Thu, 30 Jul 2015 07:30:24 +0000 (07:30 +0000)]
Add a comment explaining differing Windows behavior.

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

9 years agoEnable accidentally-disabled tests.
Sean Silva [Thu, 30 Jul 2015 07:23:17 +0000 (07:23 +0000)]
Enable accidentally-disabled tests.

I think I was isolating the failure in the last RUN: line during
development, and forgot to re-enable the others.

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

9 years ago[X86][AVX512BW] Remove whitespaces
Asaf Badouh [Thu, 30 Jul 2015 06:52:26 +0000 (06:52 +0000)]
[X86][AVX512BW] Remove whitespaces

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

9 years agoRemove some noise "this->"s left behind by r243213.
Richard Smith [Thu, 30 Jul 2015 03:37:16 +0000 (03:37 +0000)]
Remove some noise "this->"s left behind by r243213.

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

9 years ago[modules] Remove redundant information written into DeclContext name lookup tables...
Richard Smith [Thu, 30 Jul 2015 03:17:16 +0000 (03:17 +0000)]
[modules] Remove redundant information written into DeclContext name lookup tables. We don't need to store the data length twice.

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

9 years agoRemove bad test.
Sean Silva [Thu, 30 Jul 2015 01:21:56 +0000 (01:21 +0000)]
Remove bad test.

We currently don't canonicalize paths in the preprocessed files.
But we do when writing to PCH.
This causes a discrepancy on Windows with the test below.
This test fails even on unix if you change the test to use
`%S//preprocess.h`.

I am led to conclude that the invariant that this test was intending to
test has not been upheld for a while (and may never have been).

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

9 years agoAttempt to make clang-x64-ninja-win7 happy.
Sean Silva [Thu, 30 Jul 2015 00:52:32 +0000 (00:52 +0000)]
Attempt to make clang-x64-ninja-win7 happy.

It looks like we were somehow relying somewhere on removing 'foo/./bar'
but *not* 'foo/../foo/bar'. Currently investigating.

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

9 years agoAvoid failure to canonicalize '..'.
Sean Silva [Thu, 30 Jul 2015 00:26:34 +0000 (00:26 +0000)]
Avoid failure to canonicalize '..'.

Also fix completely broken and untested code which was hiding the
primary bug. The !LLVM_ON_UNIX branch of the ifdef was actually a no-op.

I ran into this in the wild. It was causing failures in our SDK build.

Ideally we'd have a perfect llvm::sys::fs::canonical, but at least this
is a step in the right direction, and fixes an obviously broken case.
In some sense the test case I've added here is an integration test. We
should have these routines thoroughly unit tested in llvm::sys::fs.

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

9 years agoFix -Wredundant-move warning.
Richard Trieu [Wed, 29 Jul 2015 23:47:19 +0000 (23:47 +0000)]
Fix -Wredundant-move warning.

Without DR1579 implemented, the only case for -Wredundant-move is for a
parameter being returned with the same type as the function return type.  Also
include a check to verify that the move constructor will be used by matching
nodes in the AST dump.

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

9 years ago[modules] When performing redeclaration lookup for a using declaration, prefer
Richard Smith [Wed, 29 Jul 2015 23:38:25 +0000 (23:38 +0000)]
[modules] When performing redeclaration lookup for a using declaration, prefer
UsingShadowDecls over other declarations of the same entity in the lookup
results. This ensures that we build correct redeclaration chains for the
UsingShadowDecls (otherwise we could see assertions and other misbehavior in
modules builds, when merging combines multiple redeclaration chains for the
same entity from the same module into one chain).

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

9 years ago[SemaAccess] Provide meaningful message when we hit llvm_unreachable().
Davide Italiano [Wed, 29 Jul 2015 20:55:04 +0000 (20:55 +0000)]
[SemaAccess] Provide meaningful message when we hit llvm_unreachable().

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

9 years agoUse the AddAllArgs overload which accepts an ArrayRef of OptSpecifier.
Douglas Katzman [Wed, 29 Jul 2015 18:39:14 +0000 (18:39 +0000)]
Use the AddAllArgs overload which accepts an ArrayRef of OptSpecifier.

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

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

9 years agoDisable -Wpessimizing-move and -Wredundant-move in template instantiations.
Richard Trieu [Wed, 29 Jul 2015 17:03:34 +0000 (17:03 +0000)]
Disable -Wpessimizing-move and -Wredundant-move in template instantiations.

Dependent types can throw off the analysis for these warnings, possibly giving
conflicting warnings and fix-its.  Disabling the warning in template
instantiations will prevent this problem, and will still catch the
non-dependent cases in templates.

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

9 years agoIn case of an existing GlobalVariable, the comdat is created using the name of the
Yaron Keren [Wed, 29 Jul 2015 15:42:28 +0000 (15:42 +0000)]
In case of an existing GlobalVariable, the comdat is created using the name of the
new GV (usually NAME.1) instead of the correct NAME of the old GV. Moving comdat
creation after GV replacement solves this. Patch + testcase.

Reviewed by Reid Kleckner.

http://reviews.llvm.org/D11594

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

9 years agoMake this test target x86_64-pc-windows-gnu as well.
Yaron Keren [Wed, 29 Jul 2015 15:28:02 +0000 (15:28 +0000)]
Make this test target x86_64-pc-windows-gnu as well.

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

9 years ago[AArch64] Pass subtarget feature "+strict-align".
Akira Hatanaka [Wed, 29 Jul 2015 14:25:58 +0000 (14:25 +0000)]
[AArch64] Pass subtarget feature "+strict-align".

This commit changes the driver to save subtarget feature "+strict-align"
to the IR instead of using backend option "aarch64-strict-align". This is
needed for LTO.

rdar://problem/21529937

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

9 years agoRemove unnecessary variable.
Yaron Keren [Wed, 29 Jul 2015 14:21:47 +0000 (14:21 +0000)]
Remove unnecessary variable.

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

9 years ago[X86][AVX512BW] add convert i16 to i8 and unpack intrinsics
Asaf Badouh [Wed, 29 Jul 2015 12:34:20 +0000 (12:34 +0000)]
[X86][AVX512BW] add convert i16 to i8 and unpack intrinsics

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

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

9 years ago[X86][AVX512BW] Replace attributes with __DEFAULT_FN_ATTRS
Asaf Badouh [Wed, 29 Jul 2015 12:22:19 +0000 (12:22 +0000)]
[X86][AVX512BW] Replace attributes with __DEFAULT_FN_ATTRS

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

9 years ago[ARM] Pass subtarget feature "+strict-align".
Akira Hatanaka [Tue, 28 Jul 2015 22:26:45 +0000 (22:26 +0000)]
[ARM] Pass subtarget feature "+strict-align".

This commit changes the driver to save subtarget feature "+strict-align" to the
IR instead of using backend option "arm-strict-align". This is needed for LTO.

Also, move the logic in ARM backend that was deciding whether strict alignment
should be forced to the front-end.

rdar://problem/21529937

http://reviews.llvm.org/D11472

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

9 years agoSilence unused argument warning for --cuda-host-only.
Artem Belevich [Tue, 28 Jul 2015 21:01:30 +0000 (21:01 +0000)]
Silence unused argument warning for --cuda-host-only.

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

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

9 years ago--cuda-host-only should not disable linking phase.
Artem Belevich [Tue, 28 Jul 2015 21:01:21 +0000 (21:01 +0000)]
--cuda-host-only should not disable linking phase.

Host-only cuda compilation does produce valid host object
file and in some cases users do want to proceed on to the linking phase.
The change removes special case that stopped compilation pipeline at
the Assembly phase. Device-side compilation is still stopped early
by the types::getCompilationPhases().

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

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

9 years agoUse an iterative method instead of recursion for printing macro backtraces.
Richard Trieu [Tue, 28 Jul 2015 20:53:46 +0000 (20:53 +0000)]
Use an iterative method instead of recursion for printing macro backtraces.

Store the locations for a macro expansion in a vector, then iterate over them
instead of using recursion.  This simplifies the logic around the backtrace
limit and gives easier access to the source locations.  No functionality change.

Patch by Zhengkai Wu.

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

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