[Driver/Unittests] Follow up for r212666, add unit test for the newly exposed getARMCPUForMArch() function.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212751 91177308-0d34-0410-b5e6-96231b3b80d8
Quick (attempted) fix for non-asserts builds for a test introduced in r212743.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212752 91177308-0d34-0410-b5e6-96231b3b80d8
Avoid definining more GCC specific predefined macros in clang-cl

Reviewers: hansw, rnk

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212753 91177308-0d34-0410-b5e6-96231b3b80d8
Remove use of uniform initialization ({}) introduced in r212725 since this isn't supported in MSVC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212754 91177308-0d34-0410-b5e6-96231b3b80d8
Fix (and reenable) ppc64-align-struct.c test for non-assert builds.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212757 91177308-0d34-0410-b5e6-96231b3b80d8
Fix the dtor location issues in PR20038 harder.

Originally committed in r211722, this fixed one case of dtor calls being
emitted without locations (this causes problems for debug info if the
call is then inlined), this caught only some of the cases.

Instead of trying to re-enable the location before the cleanup, simply
re-enable the location immediately after the unconditional branches in
question using a scoped device to ensure the no-location state doesn't
leak out arbitrarily.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212761 91177308-0d34-0410-b5e6-96231b3b80d8
PR20256: don't accidentally instantiate non-dependent default-initialization as
value-initialization.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212764 91177308-0d34-0410-b5e6-96231b3b80d8
Be more specific about return types of some methods.

This would allow to call addCompilerUsedGlobal on some
Clang-generated globals.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212767 91177308-0d34-0410-b5e6-96231b3b80d8
[UBSan] Introduce type-based blacklisting.

Teach UBSan vptr checker to ignore technically invalud down-casts on
blacklisted types.

Based on http://reviews.llvm.org/D4407 by Byoungyoung Lee!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212770 91177308-0d34-0410-b5e6-96231b3b80d8
Add AST dumping for VarDecl init kind.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212774 91177308-0d34-0410-b5e6-96231b3b80d8
Enable -gcolumn-info by default.

This patch flips the default value for -gcolumn-info to be on by
default. I discussed the rationale and provided compile/size data
in:

http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-June/074290.html

This also updates the documentation and some tests that relied on
the lack of column information. Some tests had column information
in the expected output, but it was wrong (the tsan tests). Others
were using the driver to execute.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212781 91177308-0d34-0410-b5e6-96231b3b80d8
MSVC compat: Allow lookup of friend types in enclosing namespaces

The relevant portion of C++ standard says [namespace.memdef]p3:

  If the name in a friend declaration is neither qualified nor a
  template-id and the declaration is a function or an
  elaborated-type-specifier, the lookup to determine whether the entity
  has been previously declared shall not consider any scopes outside the
  innermost enclosing namespace.

MSVC does not implement that rule for types.  If there is a type in an
enclosing namespace, they consider an unqualified tag declaration with
the same name to be a redeclaration of the type from another namespace.

Implementing compatibility is a simple matter of disabling our
implementation of this rule for types, which was added in r177473.

Reviewers: rsmith

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212784 91177308-0d34-0410-b5e6-96231b3b80d8
Return a FixItHint instead of taking a diagnostic builder

Addressing review comments from r212784.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212786 91177308-0d34-0410-b5e6-96231b3b80d8
clang/test/CodeGenCXX/PR20038.cpp: Appease targeting msvc due to incompatibility of dw.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212787 91177308-0d34-0410-b5e6-96231b3b80d8
[modules] Don't try to merge template specializations by performing name lookup
into their container; we won't find them there. These things are already being
merged when they're added to their primary template's folding set, so this
merging is redundant (and causes us to reject-valid because we think we've
found an odr violation).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212788 91177308-0d34-0410-b5e6-96231b3b80d8
TestAfterDivZeroChecker.cpp: Avoid member initializer. It is unsupported in msc17.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212789 91177308-0d34-0410-b5e6-96231b3b80d8
Don't assume StringRef.data() is null-terminated

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212790 91177308-0d34-0410-b5e6-96231b3b80d8
[OPENMP] Parsing and sema analysis for 'omp task' directive.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212804 91177308-0d34-0410-b5e6-96231b3b80d8
GCC compatibility: Create a Group to ignore unsupported optimization.

Returns a warning when using an unknown optimization flag.
This patch includes -finline-limit as one of those ignored flags.
More options will be moved in this group

Patch by Arthur Marble <arthur@info9.net> in the context of
Debian Google Summer of code 2014.

Reviewers: rnk, Sylvestre



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212805 91177308-0d34-0410-b5e6-96231b3b80d8
Tiny improvement in a test (missing quote)

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