Objective-C: Improve on various diagnostics related to
use of objc_bridge_related attribute. // rdar://15499111



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196828 91177308-0d34-0410-b5e6-96231b3b80d8
[AArch64] Remove q and non-q intrinsic definitions from the NEON scalar reduce
pairwise implementation, using an overloaded definition instead.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196834 91177308-0d34-0410-b5e6-96231b3b80d8
[AArch64] Refactor the NEON scalar reduce pairwise front-end codegen to remove
unnecessary patterns in tablegen.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196835 91177308-0d34-0410-b5e6-96231b3b80d8
[AArch64] Refactor the NEON scalar reduce pairwise intrinsics so that they use
float/double rather than the vector equivalents when appropriate.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196836 91177308-0d34-0410-b5e6-96231b3b80d8
Fix return of empty range in MSAsmStmt::children

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196839 91177308-0d34-0410-b5e6-96231b3b80d8
Sema: Enforce C++11 pointer-to-member template arguments should rules

The standard is pretty clear on what it allows inside of template
arguments for non-type template parameters of pointer-to-member.

They must be of the form &qualified-id and cannot come from sources like
constexpr VarDecls or things of that nature.

This fixes PR18192.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196852 91177308-0d34-0410-b5e6-96231b3b80d8
Fix via-file-asm test failure on windows

The windows target does not support using an external assembler so
the test case was failing with this error:

error: there is no external assembler that can be used on this platform

The test was updated to always explicitly pass a target that has
both an interal and external assembler.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196854 91177308-0d34-0410-b5e6-96231b3b80d8
Take into consideration calling convention when processing specializations.

This fixes pr18141.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196855 91177308-0d34-0410-b5e6-96231b3b80d8
Use llvm::sys::path::append to concatenate paths


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196859 91177308-0d34-0410-b5e6-96231b3b80d8
[ms-abi] 64-bit fixes for r196549

In order to address latent bugs that were easier to expose in 64-bit 
mode, we move the application of __declspec(align) to before the layout 
of vbases rather than after.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196861 91177308-0d34-0410-b5e6-96231b3b80d8
Try to fix the test for Windows paths after r196859


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196862 91177308-0d34-0410-b5e6-96231b3b80d8
[CMake] clang/lib: Prune redundant dependencies.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196864 91177308-0d34-0410-b5e6-96231b3b80d8
Revert r196859, "Use llvm::sys::path::append to concatenate paths", to appease FileManager.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196865 91177308-0d34-0410-b5e6-96231b3b80d8
[AArch64 NEON] Support poly128_t and implement relevant intrinsic.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196888 91177308-0d34-0410-b5e6-96231b3b80d8
Implement DR1460: fix handling of default initializers in unions; don't allow
more than one such initializer in a union, make mem-initializers override
default initializers for other union members, handle anonymous unions with
anonymous struct members better. Fix a couple of semi-related bugs exposed by
the tests for same.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196892 91177308-0d34-0410-b5e6-96231b3b80d8
Regenerate DR status page.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196893 91177308-0d34-0410-b5e6-96231b3b80d8
Support GNU style rule to put a space before opening parenthesis.

Summary:
The rule from the GNU style states:
"We find it easier to read a program when it has spaces before the open-parentheses and after the commas."

http://www.gnu.org/prep/standards/standards.html#index-spaces-before-open_002dparen

This patch makes clang-format adds an option to put spaces before almost all open parentheses, except the cases, where different behavior is dictated by the style rules or language syntax:
  * preprocessor:
    ** function-like macro definitions can't have a space between the macro name and the parenthesis;
    ** `#if defined(...)` can have a space, but it seems, that it's more frequently used without a space in GCC, for example;
  * never add spaces after unary operators;
  * adding spaces between two opening parentheses is controlled with the `SpacesInParentheses` option;
  * never add spaces between `[` and `(` (there's no option yet).

Reviewers: djasper

Reviewed By: djasper

CC: cfe-commits, klimek

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196901 91177308-0d34-0410-b5e6-96231b3b80d8
Trivial change: added 'using clang::format::FormatStyle;'

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196903 91177308-0d34-0410-b5e6-96231b3b80d8
Allow predefined styles to define different options for different languages.

Summary:
Allow predefined styles to define different options for different
languages so that one can run:
  clang-format -style=google file1.cpp file2.js

or use a single .clang-format file with "BasedOnStyle: Google" for both c++ and
JS files.

Added Google style for JavaScript with "BreakBeforeTernaryOperators" set to
false.

Reviewers: djasper

Reviewed By: djasper

CC: cfe-commits, klimek

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196909 91177308-0d34-0410-b5e6-96231b3b80d8
[mips][msa] Correct sld and sldi builtins.

Summary: The result register of these instructions is also the first operand.

Reviewers: jacksprat, dsanders

Reviewed By: dsanders

Differential Revision: http://llvm-reviews.chandlerc.com/D2362
Differential Revision: http://llvm-reviews.chandlerc.com/D2363



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