XFAIL test that doesn't work on Windows yet

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212980 91177308-0d34-0410-b5e6-96231b3b80d8
Introduce getCorrespondingUnsignedType() in TargetInfo to work like the
corresponding AST context function, only restricted to basic integer
types. Use this to ensure getUIntPtrType() gives types consistent with
getIntPtrType(). Fix NVPTX backend to give signed intptr_t.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212982 91177308-0d34-0410-b5e6-96231b3b80d8
Drop separate UIntMaxType and just derive it from IntMaxType.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212987 91177308-0d34-0410-b5e6-96231b3b80d8
Try harder to supress the test from r212975 on Windows

The attempt in r212980 was broken because we might not fail if
LLVM_ON_UNIX is enabled for cross compiling to Windows, and it didn't
consider mingw either.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212989 91177308-0d34-0410-b5e6-96231b3b80d8
Fix the !CLANG_ENABLE_ARCMT build

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212995 91177308-0d34-0410-b5e6-96231b3b80d8
Fix build with various feature flag combinations

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212996 91177308-0d34-0410-b5e6-96231b3b80d8
Move clang feature flags settings out of LLVM core and into cfe

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212997 91177308-0d34-0410-b5e6-96231b3b80d8
Continue parsing an expression list even after an error is encountered.

Otherwise, multiple errors such as having unknown identifiers for two
arguments won't be diagnosed properly (e.g. only the first one would
have a diagnostic message if typo correction fails even though both
would be diagnosed if typo correction suggests a replacement).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213003 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "Move clang feature flags settings out of LLVM core and into cfe"

Prospectively revert to get one of the many build configurations back working
(presumably the side-by-side+modular CMake config).

This reverts commit r212997.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213008 91177308-0d34-0410-b5e6-96231b3b80d8
AST: Cleanup __uuidof related code

Switch some things to use range-based for loops.
Change CXXUuidofExpr::GetUuidAttrOfType's return type to be const.
No functionality changed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213009 91177308-0d34-0410-b5e6-96231b3b80d8
Define ENABLE_CLANG_ARCMT in the legacy build system too

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


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213013 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "Revert "Move clang feature flags settings out of LLVM core and into cfe""

It turns out this commit was fine. The problem was in the legacy build system (fixed r213010).

This reverts commit r213008.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213014 91177308-0d34-0410-b5e6-96231b3b80d8
AST: Fix __uuidof for template specializations

While we previously supported __uuidof applied to a template
specialization, we would only find the uuid attribute if it was applied
to the template argument.  We would erroneously ignore the uuid
attribute on the specialization itself.

This is required to parse Windows Runtime C++ Template Library headers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213016 91177308-0d34-0410-b5e6-96231b3b80d8
PR19751: (T())++ is not a cast-expression.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213022 91177308-0d34-0410-b5e6-96231b3b80d8
VirtualFileSystem: Correctly generate the mapping for an empty VFS

In r209332 I accidentally broke generation of empty VFS maps. This
fixes the issue and adds a test.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213028 91177308-0d34-0410-b5e6-96231b3b80d8
Don't get confused on the number of braces when braces start after the first __asm

Summary:
Without this, we would not consume the closing brace which would cause
the parser to start consuming C++ and bad things would happen.

Reviewers: majnemer

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213032 91177308-0d34-0410-b5e6-96231b3b80d8
[OPENMP] Several cosmetic fixes in comments, tests and the code for '#pragma omp single'.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213040 91177308-0d34-0410-b5e6-96231b3b80d8
[modules] Rearrange and unify the way we determine if we need to pull in
redeclaration chains when pulling in a declaration. We need the redecl chain
unless we know some other declaration will trigger it to be pulled in; that
happens if our originally-canonical declaration had all the knowledge that
we have (and isn't us).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213043 91177308-0d34-0410-b5e6-96231b3b80d8
AST: Don't walk all redeclarations when looking for a uuid attr

No funcionality changed, just a simplification of the existing code.

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