Support LLVM_BUILD_STATIC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221346 91177308-0d34-0410-b5e6-96231b3b80d8
Remove superceded warning warn_forgotten_module_header

This DefaultIgnore warning under -Wincomplete-module was firing on
any module map files that happened to be parsed (it's only supposed to
fire on headers), and it has been superceded by
-Wnon-modular-include-in-module anyway.

For compatibility, I rewired -Wincomplete-module to imply
-Wnon-modular-include-in-module.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221357 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "clang-format: [js] Updates to Google's JavaScript style."

This reverts commit eefd2eaad43c5c2b17953ae7ed1e72b28e696f7b.

Apparently, this change was a bit premature.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221365 91177308-0d34-0410-b5e6-96231b3b80d8
IR: MDNode => Value: Update for LLVM API change in r221375

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221376 91177308-0d34-0410-b5e6-96231b3b80d8
[DebugInfo] Do not record artificial global initializer functions in the DeclCache.

When we are generating the global initializer functions, we call
CGDebugInfo::EmitFunctionStart() with a valid decl which is describing
the initialized global variable. Do not update the DeclCache with this
key as it will overwrite the the cached variable DIGlobalVariable with
the newly created artificial DISubprogram.

One could wonder if we should put artificial subprograms in the DIE tree
at all (there are vaild uses for them carrying line information though).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221385 91177308-0d34-0410-b5e6-96231b3b80d8
cmake: Conditionalize CodeGen's dependency on intrinsics_gen

Custom targets in cmake cannot be exported, and this dependency is only
needed in the combined build to ensure that Intrinsics.gen is created
before compiling CodeGen. In the standalone, all of LLVM is build first.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221391 91177308-0d34-0410-b5e6-96231b3b80d8
This patch fixes a crash after rebuilding call AST of
an __unknown_anytype(...). In this case, we rebuild the
vararg function type specially to convert the call expression
to  something that IRGen can handle. However, FunctionDecl
as rebuilt in RebuildUnknownAnyExpr::resolveDecl is bogus and
results in crash when accessing its params later on. This
patch fixes the crash by rebuilding the FunctionDecl to match
its new resolved type. rdar://15297105.
John McCall, please review post-commit. 


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221404 91177308-0d34-0410-b5e6-96231b3b80d8
Thread Safety Analysis: move warnings on range-based for loops out of beta
and into -Wthread-safety.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221410 91177308-0d34-0410-b5e6-96231b3b80d8
Make it easier to build against a pre-built Clang package with CMake

Installing <prefix>/share/clang/cmake/ClangConfig.cmake makes CMake's
builtin find_package() utility work with Clang. This also allows
downstream consumers of Clang to statically link against libraries like
clangAST and have that pull in dependencies like clangBasic and
LLVMSupport.

See the CMake docs on packages:
http://www.cmake.org/cmake/help/v3.0/manual/cmake-packages.7.html

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221411 91177308-0d34-0410-b5e6-96231b3b80d8
cmake: Only export targets in the standalone build

Trying to fix bots that didn't like the fact that I exported targets
that depended on LLVM without exporting targets from LLVM.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221415 91177308-0d34-0410-b5e6-96231b3b80d8
Patch for small addition to availability attribute.
This is to accept "NA" in place of vesion number for availability
attribute. Used on introduced=NA to mean unavailable
and deprecated=NA to mean nothing (not deprecated).
rdar://18804883


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

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221435 91177308-0d34-0410-b5e6-96231b3b80d8
[X86] Use fallthroughs to reduce the number of calls to setFeatureEnabled for different CPUs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221437 91177308-0d34-0410-b5e6-96231b3b80d8
Fix for exception specification mismatch in explicit instantiation.
According to C++ standard if an exception-specification is specified in an explicit instantiation directive, it shall be compatible with the exception-specifications of other declarations of that function. This patch adds checks for this.
Differential Revision: http://reviews.llvm.org/D5822


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221448 91177308-0d34-0410-b5e6-96231b3b80d8
[X86] Slightly refactor default features for AMD bdver cpus (NFC). Also add missing checks to test for target features.

This patch simplifies how default target features are set for AMD bdver2
and bdver1. In particular, method 'getDefaultFeatures' now implements a
fallthrough from case 'CK_BDVER2' to case 'CK_BDVER1'.
That is because 'bdver2' has the same features available in bdver1 plus
BMI, FMA, F16C and TBM.

This patch also adds missing checks for predefined macros in test
predefined-arch-macros.c. In the case of BTVER2, the test now also checks 
for F16C, BMI and PCLMUL. In the case of BDVER3 and BDVER4, the test now
also checks for the presence of FSGSBASE.

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


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221449 91177308-0d34-0410-b5e6-96231b3b80d8
Don't manually insert L prefixes.

Simply marking the symbol private conveys the desire to hide them to LLVM.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221451 91177308-0d34-0410-b5e6-96231b3b80d8
Remove references to the cortex-a9-mp CPU.

This CPU definition is redundant. The Cortex-A9 is defined as
supporting multiprocessing extensions. Remove references to this CPU.

This CPU was recently removed from LLVM. See http://reviews.llvm.org/D6057

Change-Id: I62ae7cc656fcae54fbaefc4b6976e77e694a8678

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221458 91177308-0d34-0410-b5e6-96231b3b80d8
Return a DIDescriptor from CGDebugInfo::getDeclarationOrDefinition...

... instead of a DIScope that might wrap something that's not actually
a DIScope (eg. a DIGlobalVariable);

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221481 91177308-0d34-0410-b5e6-96231b3b80d8
CodeGen, Itanium: Properly dllimport RTTI data

We would blindly assume that RTTI data should have the same linkage as
the vtable because we didn't think the RTTI data was external.  This
oversight stemmed because we didn't take dllimport into account.

This fixes PR21512.

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