Accept both / and \\ to fix the windows bots.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184790 91177308-0d34-0410-b5e6-96231b3b80d8
Check for matching template-parameter-lists when merging template declarations.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184791 91177308-0d34-0410-b5e6-96231b3b80d8
Reorder builds based by ordering.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184795 91177308-0d34-0410-b5e6-96231b3b80d8
Formatter/Objc: Add a test that checks that @import is formatted correctly.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184796 91177308-0d34-0410-b5e6-96231b3b80d8
Delete a couple dead checks.

Use castAs<> where appropriate. Don't check conditionals which are
always true. Delete a bit of dead code. Reindent a bunch of code which
is no longer guarded by an if statement.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184801 91177308-0d34-0410-b5e6-96231b3b80d8
Use the new PathV2 instead of implementing the logic in clang.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184803 91177308-0d34-0410-b5e6-96231b3b80d8
Formatter/ObjC: Correctly format casts in objc message send expressions.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184804 91177308-0d34-0410-b5e6-96231b3b80d8
Remove PathV1.h from Driver.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184807 91177308-0d34-0410-b5e6-96231b3b80d8
Fix noexcept for delete expressions.

Using "delete" on a pointer to an incomplete type can't throw.
While I'm here, clean up the signature of the canCalleeThrow() helper.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184810 91177308-0d34-0410-b5e6-96231b3b80d8
Fix deserializing of class template partial specializations. Assign sequence
numbers as we deserialize class template partial specializations. We can't
assume that the old sequence numbers will work.

The sequence numbers are still deterministic, but are now a lot less
predictable for class template partial specializations in modules/PCH.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184811 91177308-0d34-0410-b5e6-96231b3b80d8
Make -vectorize-... proper cc1 flags instead of abusing -backend-option. Fixes
usage of clang as a library.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184812 91177308-0d34-0410-b5e6-96231b3b80d8
Fix regression from r184810.

Specifically, CallExpr::getCalleeDecl() can return null, so make sure to
handle that correctly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184813 91177308-0d34-0410-b5e6-96231b3b80d8
[analyzer] Don't initialize virtual base classes more than once.

In order to make sure virtual base classes are always initialized once,
the AST contains initializers for the base class in /all/ of its
descendents, not just the immediate descendents. However, at runtime,
the most-derived object is responsible for initializing all the virtual
base classes; all the other initializers will be ignored.

The analyzer now checks to see if it's being called from another base
constructor, and if so does not perform virtual base initialization.

<rdar://problem/14236851>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184814 91177308-0d34-0410-b5e6-96231b3b80d8
[analyzer] Handle zeroing CXXConstructExprs.

Re-apply r184511, reverted in r184561, with the trivial default constructor
fast path removed -- it turned out not to be necessary here.

Certain expressions can cause a constructor invocation to zero-initialize
its object even if the constructor itself does no initialization. The
analyzer now handles that before evaluating the call to the constructor,
using the same "default binding" mechanism that calloc() uses, rather
than simply ignoring the zero-initialization flag.

<rdar://problem/14212563>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184815 91177308-0d34-0410-b5e6-96231b3b80d8
Revert r184787: "Added arm_neon intrinsic tests."

This test doesn't actually pass when run with llvm-lit for me or in
a bot that actually always tries to run it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184817 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "Use the new PathV2 instead of implementing the logic in clang."

This reverts commit 184803 while I debug the failures on the bots.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184818 91177308-0d34-0410-b5e6-96231b3b80d8
Add r184803 back now that the bug in unique_file has been fixed.

Original message:

Use the new PathV2 instead of implementing the logic in clang.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184825 91177308-0d34-0410-b5e6-96231b3b80d8
Fix a couple of PPC predefined macros that I spotted while driving by
this code. These aren't technically standard predefines for the platform
but apparantly lots of folks use them as they show up within LLVM's own
codebase. ;] This may even fix some self host issues w/ the JIT!!!

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