MinGW doesn't implement std::to_string; working around it. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222033 91177308-0d34-0410-b5e6-96231b3b80d8
Add DiagID and Warning Flag to DiagnosticsLog

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222042 91177308-0d34-0410-b5e6-96231b3b80d8
Follow-up to D6217

Summary:
Ok, here is somewhat addition to D6217 aiming to preserve old darwin behavior wrt the typedefed types. The actual change to SemaChecking turned out to be pretty gross, in particular:
  1. We need to extract the typedef'ed type for proper diagnostics
  2. We need to walk over paren expressions as well

Reviewers: chandlerc, rsmith

Reviewed By: rsmith

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222044 91177308-0d34-0410-b5e6-96231b3b80d8
Again revert r222044 to resolve darwin objc test fails.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222047 91177308-0d34-0410-b5e6-96231b3b80d8
Removing an unused variable; NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222048 91177308-0d34-0410-b5e6-96231b3b80d8
Recommit r222044 with a test fix - it does not make sense to hunt
for a typedef before arithmetic conversion in all rare corner cases.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222049 91177308-0d34-0410-b5e6-96231b3b80d8
[c++1z] Support [[deprecated]] attributes on namespaces. Note that it only applies to situations where the namespace is mentioned. Thus, use on anonymous namespaces is diagnosed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222054 91177308-0d34-0410-b5e6-96231b3b80d8
This patch fixes couple of bugs for predefined expression
used inside blocks. It fixes a crash in naming code
for __func__ etc. when used in a block declared globally.
It also brings back old naming convention for
predefined expression which was broken. rdar://18961148


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

Tracking LLVM commit r222070.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222071 91177308-0d34-0410-b5e6-96231b3b80d8
Fix IRGen for passing transparent unions

We have had a test for this for a long time with a FIXME saying what we
should be doing. This just does it.

Fixes PR21573.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222074 91177308-0d34-0410-b5e6-96231b3b80d8
Fix issues missed during the review of r222099.

Shift some functions around, make a method in Sema private,
call the correct overloaded function.  No functional change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222081 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizer] Parse and produce all sanitizer-relevant arguments in SanitizerArgs.

In particular, make SanitizerArgs responsible for parsing
and passing down to frontend -fsanitize-recover and
-fsanitize-undefined-trap-on-error flags.

Simplify parsing -f(no-)sanitize= flags parsing: get rid of
too complex filterUnsupportedKinds function.

No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222105 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Fix regression introduced in r221609.

Before:
  void f() { f(a, c *d); }

After:
  void f() { f(a, c * d); }

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222128 91177308-0d34-0410-b5e6-96231b3b80d8
A small correction for r221884. No functional changes.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222130 91177308-0d34-0410-b5e6-96231b3b80d8
Remove VariadicOperatorMatcherInterface as it is redundant with logic from DynTypedMatcher.

Summary:
The generic variadic matcher is faster (one less virtual function call
per match) and doesn't require template instantiations which reduces
compile time and binary size.
Registry.cpp.o generates ~14% less symbols and compiles ~7.5% faster.
The change also speeds up our clang-tidy benchmark by ~2%.

Reviewers: klimek

Subscribers: klimek, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222131 91177308-0d34-0410-b5e6-96231b3b80d8
Add a couple more examples illustrating why we need vtordisps and how they work

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222133 91177308-0d34-0410-b5e6-96231b3b80d8
Minor readability tweaks to VFTableBuilder.cpp

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222140 91177308-0d34-0410-b5e6-96231b3b80d8
[Reassociate] Update test cases due to r222142.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222144 91177308-0d34-0410-b5e6-96231b3b80d8
Fixing a use of stringstream to use an LLVM helper function. Drive-by fixing header include order. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222151 91177308-0d34-0410-b5e6-96231b3b80d8
Fix the indentation: Nesting level does not match indentation (CID 1254863)



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