Update clang for API change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164218 91177308-0d34-0410-b5e6-96231b3b80d8
ASTWriter: Tighten up assertions when emitting a declaration name.

clang has recently started to warn about the enum compares:
lib/Serialization/ASTWriter.cpp:2760:31: warning: comparison of literal 256 with expression of type
'clang::DeclarationName::NameKind' is always true [-Wtautological-constant-out-of-range-compare]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164220 91177308-0d34-0410-b5e6-96231b3b80d8
Add some typedefs for clarity.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164223 91177308-0d34-0410-b5e6-96231b3b80d8
Added link to HowToSetupToolingForLLVM.html. Added missing #include to the example.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164226 91177308-0d34-0410-b5e6-96231b3b80d8
Fix test better way.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164234 91177308-0d34-0410-b5e6-96231b3b80d8
Fix ABI dependent tests by providing an explicit target triple.

Patch by Joey Gouly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164239 91177308-0d34-0410-b5e6-96231b3b80d8
Thread-safety analysis: fix ICE when EXCLUSIVE_LOCKS_REQUIRED or
LOCKS_EXCLUDED is used on a method with a name that is is not a simple
identifier.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164242 91177308-0d34-0410-b5e6-96231b3b80d8
Thread-safety analysis:  Fix warning when EXCLUSIVE_LOCKS_REQUIRED
is placed on a function that has no path to the exit block.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164252 91177308-0d34-0410-b5e6-96231b3b80d8
Handle a captured this for the debug information as well.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164253 91177308-0d34-0410-b5e6-96231b3b80d8
Update and expand comment.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164260 91177308-0d34-0410-b5e6-96231b3b80d8
ccc-analyzer: pass -stdlib=libc++ through to the analyzer.

Otherwise clang can't analyze code that relies on features provided by libc++.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164262 91177308-0d34-0410-b5e6-96231b3b80d8
Fix function template partial ordering rules for static vs. non-static
functions.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164263 91177308-0d34-0410-b5e6-96231b3b80d8
Fix a small FIXME involving template partial ordering and
member function templates with an rvalue ref qualifier.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164267 91177308-0d34-0410-b5e6-96231b3b80d8
PR13881: Add -Wzero-length-array for zero length array extension, and move it into -Wgnu.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164272 91177308-0d34-0410-b5e6-96231b3b80d8
Per C++11 [class.friend]p3, the 'friend' keyword must appear first in a
non-function friend declaration. Patch by Josh Magee!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164273 91177308-0d34-0410-b5e6-96231b3b80d8
Handle lambdas where the lambda-declarator is an explicit "(void)".  PR13854.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164274 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "[analyzer] Remove constraints on dead symbols as part of removeDeadBindings."

While we definitely want this optimization in the future, we're not
currently handling constraints on symbolic /expressions/ correctly.
These should stay live even if the SymExpr itself is no longer referenced
because could recreate an identical SymExpr later. Only once the SymExpr
can no longer be recreated -- i.e. a component symbol is dead -- can we
safely remove the constraints on it.

This liveness issue is tracked by <rdar://problem/12333297>.

This reverts r163444 / 24c7f98828e039005cff3bd847e7ab404a6a09f8.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164275 91177308-0d34-0410-b5e6-96231b3b80d8
[analyzer] MallocChecker should not do post-call checks on inlined functions.

If someone provides their own function called 'strdup', or 'reallocf', or
even 'malloc', and we inlined it, the inlining should have given us all the
malloc-related information we need. If we then try to attach new information
to the return value, we could end up with spurious warnings.

<rdar://problem/12317671>

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