Remove another default I missed before.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197437 91177308-0d34-0410-b5e6-96231b3b80d8
The preferred alignment defaults to the ABI one. Omit it if it is the same.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197440 91177308-0d34-0410-b5e6-96231b3b80d8
clang/lib/Headers/CMakeLists.txt: Revert part of r197395. It should not be staged yet.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197441 91177308-0d34-0410-b5e6-96231b3b80d8
Reorder these DataLayout entries to match the order LLVM uses.

This completes the cleanup/refactoring of DataLayout on the clang side. Next
is figuring out the differences between the llvm and clang produced strings

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197442 91177308-0d34-0410-b5e6-96231b3b80d8
For -Wconsumed, walk the namespaces to find if the top most namespace is "std"
to determine if a move function is the std::move function.  This allows functions
like std::__1::move to also be treated a the move function.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197445 91177308-0d34-0410-b5e6-96231b3b80d8
ObjectiveC migrator. Fixes a bug when protocol
conformance is inferred. // rdar://15515206


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197448 91177308-0d34-0410-b5e6-96231b3b80d8
Add a test for -fno-diagnostics-fixit-info


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197450 91177308-0d34-0410-b5e6-96231b3b80d8
ASTContext: Refactor implicit record creation

Tidy up built-in record creation to reduce code duplication.

Continuation of r197336.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197452 91177308-0d34-0410-b5e6-96231b3b80d8
[CMake][Standalone] Fixup r197395 for standalone build.

Standalone scripts shall be rewritten.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197459 91177308-0d34-0410-b5e6-96231b3b80d8
[CMake][Standalone] Fix llvm-tblgen's directory to use LLVM_TOOLS_BINARY_DIR instead of LLVM_BINARY_DIR.

LLVM_BINARY_DIR points OBJROOT.

FIXME: llvm-config should show *real* bindir with --bindir.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197460 91177308-0d34-0410-b5e6-96231b3b80d8
[CMake][Standalone] Import LLVM_LIT_TOOLS_DIR.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197461 91177308-0d34-0410-b5e6-96231b3b80d8
Modules: Don't warn upon missing headers while reading the module map.

Instead, mark the module as unavailable so that clang errors as soon as
someone tries to build this module.

This works towards the long-term goal of not stat'ing the header files at all
while reading the module map and instead read them only when the module is
being built (there is a corresponding FIXME in parseHeaderDecl()).  However, it
seems non-trivial to get there and this unblock us and moves us into the right
direction.

Also changed the implementation to reuse the same DiagnosticsEngine.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197485 91177308-0d34-0410-b5e6-96231b3b80d8
Add missing file from r197485.

(Yes, the irony is not lost on me :-) ).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197486 91177308-0d34-0410-b5e6-96231b3b80d8
LIBRARY_PATH environment variable should only be supported on a native compiler.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197490 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Don't adapt local format to macros.

Formatting this:
   void f() { // 1 space initial indent.
      int i;
  #define A   \
      int i;  \
     int j;
        int k; // Format this line.
   }
   void f() {
       #define A 1 // Format this line.
   }

Before:
   void f() { // 1 space initial indent.
      int i;
  #define A   \
      int i;  \
     int j;
     int k;  // Format this line.
   }
   void f() {
   #define A 1  // Format this line.
   }

After:
   void f() { // 1 space initial indent.
      int i;
  #define A   \
      int i;  \
     int j;
      int k;  // Format this line.
   }
   void f() {
  #define A 1  // Format this line.
   }

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197494 91177308-0d34-0410-b5e6-96231b3b80d8
Update comment of changed parameter of ModuleMap constructor.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197495 91177308-0d34-0410-b5e6-96231b3b80d8
Simplify RevertibleTypeTraits as a form of contextual keyword

Now that we emit diagnostics for keyword-as-identifier hacks (-Wkeyword-compat)
we can go ahead and simplify some of the old revertible keyword support.

This commit adds a TryIdentKeywordUpgrade() function to mirror the recently
added TryKeywordIdentFallback() and uses it to replace the hard-coded list of
REVERTIBLE_TYPE_TRAITs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197496 91177308-0d34-0410-b5e6-96231b3b80d8
Refactor and micro-optimize ConsumeToken()

1) Introduce TryConsumeToken() to handle the common test-and-consume pattern.
   This brings about readability improvements in the parser and optimizes to avoid
   redundant checks in the common case.

2) Eliminate the ConsumeCodeCompletionTok special case from ConsumeToken(). This
   was used by only one caller which has been switched over to the more
   appropriate ConsumeCodeCompletionToken() function.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197497 91177308-0d34-0410-b5e6-96231b3b80d8
Remove -f16:16:32 from the XCore DataLayout string.

This makes it identical to the string llvm produces.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197500 91177308-0d34-0410-b5e6-96231b3b80d8
The PS3 is a ppc64 and has 64 bit registers. Update DataLayout accordingly.

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