Objective-C SDK modernization. import Foundation even
when a previous definition of NS_OPTION is available
; e.g. from a pch. enhancement to rdar://18498550


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219448 91177308-0d34-0410-b5e6-96231b3b80d8
Fix completion logic to allow for heterogeneous argument types in matcher overloads.

Summary:
There was an assumption that there were no matchers that were overloaded
on matchers and other types of arguments.
This assumption was broken recently with the addition of new matcher
overloads.

Fixes http://llvm.org/PR21226

Reviewers: pcc

Subscribers: klimek, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219450 91177308-0d34-0410-b5e6-96231b3b80d8
Promote null pointer constants used as arguments to variadic functions

Make it possible to pass NULL through variadic functions on 64-bit
Windows targets. The Visual C++ headers define NULL to 0, when they
should define it to 0LL on Win64 so that NULL is a pointer-sized
integer.

Fixes PR20949.

Reviewers: thakis, rsmith

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219456 91177308-0d34-0410-b5e6-96231b3b80d8
PR21195: Emit .gcno files to the proper location.

When building with coverage, -no-integrated-as, and -c, the driver was
emitting -cc1 -coverage-file pointing at a file in /tmp. Ensure the
coverage file is emitted in the same directory as the output file.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219460 91177308-0d34-0410-b5e6-96231b3b80d8
Hopefully fixes test failures for msvc.

Looks like llvm::sys::path::filename() was canonicalizing my paths
before emitting them for FileCheck to stumble over.

Fix a style nit with r219460 while I'm at it.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219464 91177308-0d34-0410-b5e6-96231b3b80d8
Fix for OpenMP/parallel_firstprivate_codegen.cpp
Fix compatibility issues of the test with SystemZ target.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219465 91177308-0d34-0410-b5e6-96231b3b80d8
Remove support for the IOS_SIMULATOR_DEPLOYMENT_TARGET env var.

It turns out that this was never used. Instead we just use the
IPHONEOS_DEPLOYMENT_TARGET variable for both iOS devices and simulator.
rdar://problem/18596744

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219467 91177308-0d34-0410-b5e6-96231b3b80d8
_Really_ fix these tests (probably).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219468 91177308-0d34-0410-b5e6-96231b3b80d8
Revert r218865 because it introduced PR21236, a crash in codegen emitting the try block.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219470 91177308-0d34-0410-b5e6-96231b3b80d8
XFAIL coverage -no-integrated-as tests for msvc.

Windows can't use -no-integrated-as, so split these tests out into a
separate file and XFAIL them for win32,win64.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219472 91177308-0d34-0410-b5e6-96231b3b80d8
Code improvements in OpenMP CodeGen.
This patch makes class OMPPrivateScope a common class for all private variables. Reworked processing of firstprivate variables (now it is based on OMPPrivateScope too).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219486 91177308-0d34-0410-b5e6-96231b3b80d8
Code reformatting and improvement for OpenMP.
Moved CGOpenMPRegionInfo from CGOpenMPRuntime.h to CGOpenMPRuntime.cpp file and reworked the code for this change. Also added processing of ThreadID variable passed as an argument in outlined functions in parallel and task directives.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219490 91177308-0d34-0410-b5e6-96231b3b80d8
Fixing the MSVC 2013 build, NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219491 91177308-0d34-0410-b5e6-96231b3b80d8
Unfriend CGOpenMPRegionInfo so it can go into an anonymous namespace.

Also remove some unnecessary virtual keywords. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219497 91177308-0d34-0410-b5e6-96231b3b80d8
[PowerPC] Add feature for Power8 vector extensions

The current VSX feature for PowerPC specifies availability of the VSX
instructions added with the 2.06 architecture version.  With 2.07, the
architecture adds new instructions to both the Category:Vector and
Category:VSX instruction sets.  Additionally, unaligned vector storage
operations have improved performance.

This patch adds a feature to provide access to the new instructions
and performance capabilities of Power8.  For compatibility with GCC,
the feature is controlled via a new -mpower8-vector switch, and the
feature causes the __POWER8_VECTOR__ builtin define to be generated by
the preprocessor.

There is a companion patch for llvm being committed at the same time.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219502 91177308-0d34-0410-b5e6-96231b3b80d8
Reduce double set lookups. NFC.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219509 91177308-0d34-0410-b5e6-96231b3b80d8
Alright, just XFAIL all these for Windows.

I'm going to fix up FileCheck to better handle things like this soon,
but for now let's just unblock the Windows people.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219513 91177308-0d34-0410-b5e6-96231b3b80d8
[PowerPC] Reduce names from Power8Vector to P8Vector

Per Hal Finkel's review, improving typability of some variable names.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219515 91177308-0d34-0410-b5e6-96231b3b80d8
Change how we distinguish bitfield widths, in-class
initializers, and captured VLA types so that we can
answer questions like "is this a bit-field" without
looking at the enclosing DeclContext.  NFC.

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