DataflowWorklist.h: Appease msc17 -- Split a private constructor to DataflowWorklistBase.

MSC17 isn't capable to invoke other constructors in its scope.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214067 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Fix formatting of lock annotations in lambda definitions.

Before:
  SomeFunction([](int i)LOCKS_EXCLUDED(a) {});

After:
  SomeFunction([](int i) LOCKS_EXCLUDED(a) {});

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214069 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Fix unary operator recognition.

Before:
  int x = ~ * p;

After:
  int x = ~*p;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214070 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Improve pointer/reference detection.

Before (with left pointer alignment):
  void f(int i = 0, SomeType* *temps = NULL);

After:
  void f(int i = 0, SomeType** temps = NULL);

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214071 91177308-0d34-0410-b5e6-96231b3b80d8
[PowerPC] Support ELFv1/ELFv2 ABI selection via -mabi= option

While Clang now supports both ELFv1 and ELFv2 ABIs, their use is currently
hard-coded via the target triple: powerpc64-linux is always ELFv1, while
powerpc64le-linux is always ELFv2.

These are of course the most common scenarios, but in principle it is
possible to support the ELFv2 ABI on big-endian or the ELFv1 ABI on
little-endian systems (and GCC does support that), and there are some
special use cases for that (e.g. certain Linux kernel versions could
only be built using ELFv1 on LE).

This patch implements the Clang side of supporting this, based on the
LLVM commit 214072.  The command line options -mabi=elfv1 or -mabi=elfv2
select the desired ABI if present.  (If not, Clang uses the same default
rules as now.)

Specifically, the patch implements the following changes based on the
presence of the -mabi= option:

In the driver:
- Pass the appropiate -target-abi flag to the back-end
- Select the correct dynamic loader version (/lib64/ld64.so.[12])

In the preprocessor:
- Define _CALL_ELF to the appropriate value (1 or 2)

In the compiler back-end:
- Select the correct ABI in TargetInfo.cpp
- Select the desired ABI for LLVM via feature (elfv1/elfv2)




git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214074 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Improve operator and template recognition.

Before:
  static_assert(is_convertible < A &&, B > ::value, "AAA");

After:
  static_assert(is_convertible<A &&, B>::value, "AAA");

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214075 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: [proto] Improve formatting of text-proto options.

Initial patch and tests by Kaushik Sridharan, thank you!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214084 91177308-0d34-0410-b5e6-96231b3b80d8
[TEST] Improve tests for #pragma clang optimize off/on

Added coverage for:
* More than one "off region" in the same file
* An "off region" falling off the end of an included file



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214086 91177308-0d34-0410-b5e6-96231b3b80d8
Thread Safety Analysis:  Replace the old and broken SExpr with the new
til::SExpr.  This is a large patch, with many small changes to pretty printing
and expression lowering to make the new SExpr representation equivalent in
functionality to the old.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214089 91177308-0d34-0410-b5e6-96231b3b80d8
Objective-C. Improve diagnostic when property is
not auto synthesized in current implementation.
rdar://17774815


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214090 91177308-0d34-0410-b5e6-96231b3b80d8
[AVX512] Add CHECK-LABELs to test/CodeGen/avx512f-builtins.c

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214095 91177308-0d34-0410-b5e6-96231b3b80d8
[AVX512] Bring the formatting of avx512fintrin.h closer to avxintrin.h

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214096 91177308-0d34-0410-b5e6-96231b3b80d8
[AVX512] Reorder functions in avx512fintrin.h

There is no functional change here.

The idea is to have a similar order and categories of functions that we have
in avxintrin.h.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214097 91177308-0d34-0410-b5e6-96231b3b80d8
[AVX512] Add FP add/sub/mul intrinsics

Part of <rdar://problem/17688758>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214098 91177308-0d34-0410-b5e6-96231b3b80d8
[AVX512] Add non-masking FP store intrinsics

Part of <rdar://problem/17688758>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214099 91177308-0d34-0410-b5e6-96231b3b80d8
Fix MSVC warnings about falling off the end of a non-void function

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214103 91177308-0d34-0410-b5e6-96231b3b80d8
Add another keyword-selection flag to CorrectionCandidateCallback.

The new flag, WantFunctionLikeCasts, covers a subset of the keywords
covered by WantTypeSpecifiers that can be used in casts that look like
function calls, e.g. "return long(5);", while excluding the keywords
like "enum" and "const" that would be included when WantTypeSpecifiers
is true but cannot be used in something that looks like a function call.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214109 91177308-0d34-0410-b5e6-96231b3b80d8
[Debug Info] rename getTypeArray to getElements, setTypeArray to setArrays.

This is the paired commit with llvm r214112.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214113 91177308-0d34-0410-b5e6-96231b3b80d8
Change __INTx_TYPE__ to be always signed. This changes the value for
char-based types from "char" to "signed char". Adjust stdint.h to use
__INTx_TYPE__ directly without prefixing it with signed and to use
__UINTx_TYPE__ for unsigned ones.

The value of __INTx_TYPE__ now matches GCC.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214119 91177308-0d34-0410-b5e6-96231b3b80d8
[modules] PR20475: merging support for alias template declarations.


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