clang-format: No space between ")" and braced init list.

Before:
  auto j = decltype(i) {};

After:
  auto j = decltype(i){};

This fixes llvm.org/PR19892.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210013 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Fix special case of binary operator detection.

There is a pattern where evaluation order is used as control flow.
This patch special-cases a commonly occuring version of this pattern.

Before:
  Aaaaa *aaa = nullptr;
  // ...
  aaa &&aaa->f();

After:
  Aaaaa *aaa = nullptr;
  // ...
  aaa && aaa->f();

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210017 91177308-0d34-0410-b5e6-96231b3b80d8
The exception-declaration for a function-try-block cannot redeclare a
function parameter. One of our existing test cases was XFAILed because
of this. This fixes the issue and un-XFAILs the test.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210026 91177308-0d34-0410-b5e6-96231b3b80d8
CGDebugInfo: Simplify/invert createLexicalBlock parameter construction.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210033 91177308-0d34-0410-b5e6-96231b3b80d8
Remove sanitizer blacklist from ASan/TSan/MSan function passes.

Instrumentation passes now use attributes
address_safety/thread_safety/memory_safety which are added by Clang frontend.
Clang parses the blacklist file and adds the attributes accordingly.

Currently blacklist is still used in ASan module pass to disable instrumentation
for certain global variables. We should fix this as well by collecting the
set of globals we're going to instrument in Clang and passing it to ASan
in metadata (as we already do for dynamically-initialized globals and init-order
checking).

This change also removes -tsan-blacklist and -msan-blacklist LLVM commandline
flags in favor of -fsanitize-blacklist= Clang flag.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210037 91177308-0d34-0410-b5e6-96231b3b80d8
Fix comment vs function name mismatch

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210041 91177308-0d34-0410-b5e6-96231b3b80d8
[CodeGen] Don't use SizeTy for EmitNeonSplat.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210042 91177308-0d34-0410-b5e6-96231b3b80d8
Delete apparently unused method

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210047 91177308-0d34-0410-b5e6-96231b3b80d8
allow optional signext attribute

Allow the tests to succeed with tne signext (or other) attribute is present.  The attributes
show up for Power, but not for x86*, so need to be appropriately wildcarded.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210050 91177308-0d34-0410-b5e6-96231b3b80d8
Itanium ABI: Update getAddrOfVTable to set the DLL storage class for vtables

This corresponds to the same change for the MS ABI in r209908.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210054 91177308-0d34-0410-b5e6-96231b3b80d8
Eliminate redundant MangleBuffer class

The only remaining user didn't actually use the non-dynamic storage facility
this class provides.

The std::string is transitional and likely to be StringRefized shortly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210058 91177308-0d34-0410-b5e6-96231b3b80d8
Fix -emit-codegen-only to not generate binaries

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210059 91177308-0d34-0410-b5e6-96231b3b80d8
Update for llvm API change.

Aliases in llvm now hold an arbitrary expression.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210063 91177308-0d34-0410-b5e6-96231b3b80d8
Move DR532 test where it belongs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210064 91177308-0d34-0410-b5e6-96231b3b80d8
Don't assume an implicit IntrusiveRefCntPtr -> bool operator.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210075 91177308-0d34-0410-b5e6-96231b3b80d8
When emitting a multidimensional array new, emit the initializers for the
trailing elements as a single loop, rather than sometimes emitting a nest of
several loops. This fixes a bug where CodeGen would sometimes try to emit an
expression with the wrong type for the element being initialized. Plus various
other minor cleanups to the IR produced for array new initialization.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210079 91177308-0d34-0410-b5e6-96231b3b80d8
List DR532 as implemented on the defect report status page by renaming the namespace.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210080 91177308-0d34-0410-b5e6-96231b3b80d8
PR11410: Extend diagnostic to cover all cases of aggregate initialization, not
just the extremely specific case of a trailing array element that couldn't be
initialized because the default constructor for the element type is deleted.

Also reword the diagnostic to better match our other context diagnostics and to
prepare for the implementation of core issue 1070.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210083 91177308-0d34-0410-b5e6-96231b3b80d8
Teach AST dumper to dump the array filler in an initializer list.


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