Extend -Wdynamic-class-memaccess to records containing dynamic classes

Reviewers: rtrieu

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211972 91177308-0d34-0410-b5e6-96231b3b80d8
Get arm_acle tests from r211962 working

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211979 91177308-0d34-0410-b5e6-96231b3b80d8
[Driver][Mips] Remove redundant abstract/override function.

No functional changes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211982 91177308-0d34-0410-b5e6-96231b3b80d8
[Driver][Mips] Remove redundant brackets.

No functional changes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211983 91177308-0d34-0410-b5e6-96231b3b80d8
[Driver][Mips] Fix else-after-return.

No functional changes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211984 91177308-0d34-0410-b5e6-96231b3b80d8
Remove llvm:: from uses of ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211987 91177308-0d34-0410-b5e6-96231b3b80d8
Import MutableArrayRef into clang namespace.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211988 91177308-0d34-0410-b5e6-96231b3b80d8
Extend -Wtautological-undefined-compare and -Wundefined-bool-conversion to
trigger on taking the address of a reference that is returned from a function
call.


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

Remove unnecessary separation of anonymous namespace.  NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211990 91177308-0d34-0410-b5e6-96231b3b80d8
Basic: fix handling for Windows Itanium environment

This corrects the handling for i686-windows-itanium.  This environment is nearly
identical to Windows MSVC, except it uses the itanium ABI for C++.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211991 91177308-0d34-0410-b5e6-96231b3b80d8
test: add a test for windows itanium exceptions

Some time ago, I noticed that try would get resolved incorrectly for Windows
Itanium targets.  Add an explicit test to exsure that exceptions are handled
correctly for Windows Itanium environments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211992 91177308-0d34-0410-b5e6-96231b3b80d8
Driver: add a cygwin linker tool

This adds a linker tool for the Windows cygwin environment.  This linker
invocation is significantly different from the generic ld invocation.  It
requires additional parameters as well as does not accept some normal
parameters.  This should fix self-hosting on Cygwin.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211995 91177308-0d34-0410-b5e6-96231b3b80d8
clang/test/CodeGenCXX/windows-itanium-exceptions.cpp: Add REQUIRES:asserts for now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211996 91177308-0d34-0410-b5e6-96231b3b80d8
LibclangTest.cpp: s/uint/unsigned/. I think 'uint' is not a standard type.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211997 91177308-0d34-0410-b5e6-96231b3b80d8
Revert r211866, r211895 and r211995, "Driver: use GNU::Link for the Generic_GCC toolchain". It broke users of Generic_GCC, cygwin and mingw32.

It reverts commits as follows:
  r211866: "Driver: use GNU::Link for the Generic_GCC toolchain"
  r211895: "Replace GetProgramPath("ld") with GetLinkerPath()."
  r211995: "Driver: add a cygwin linker tool"

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211998 91177308-0d34-0410-b5e6-96231b3b80d8
[Mips] Fix MIPS ABI name in the test. The name "64" is accepted by both gcc
and Clang drivers but internally LLVM/Clang use the name "n64".

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211999 91177308-0d34-0410-b5e6-96231b3b80d8
Add a matcher for SubstNonTypeTemplateParmExpr.

Reviewers: klimek, djasper

Reviewed By: djasper

Subscribers: klimek, aemerson, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212001 91177308-0d34-0410-b5e6-96231b3b80d8
Fix a stray semi-colon. (Found by a pedantic warning)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212003 91177308-0d34-0410-b5e6-96231b3b80d8
Basic: correct the va_list type on Windows on ARM

Windows on ARM defines va_list as a typedef for char *.  Although the semantics
of argument passing for variadic functions matches AAPCS VFP, the wrapped
struct __va_list type is unused.  This makes the intrinsic definition for
va_list match that of Visual Studio.

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