Re-apply r197076 and r197086; the build was fixed by chapuni in r197114.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197116 91177308-0d34-0410-b5e6-96231b3b80d8
Update user manual to note that implementation for C++11 and C++1y is complete, and fix a bunch of other issues here.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197120 91177308-0d34-0410-b5e6-96231b3b80d8
PR17602: check accessibility when performing an implicit derived-to-base
conversion on the LHS of a .* or ->*. Slightly improve diagnostics in case
of an ambiguous base class.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197125 91177308-0d34-0410-b5e6-96231b3b80d8
Add more test cases for 'objc_protocol_requires_explicit_implementation'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197128 91177308-0d34-0410-b5e6-96231b3b80d8
c-arcmt-test/Makefile: Fixup for LDFLAGS=-static on cygming, corresponding to r197116.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197129 91177308-0d34-0410-b5e6-96231b3b80d8
Implemented GNU-style formatting for compound statements.

Summary:
Added BraceBreakingStyle::BS_GNU. I'm not sure about the correctness of
static initializer formatting, but compound statements should be fine.

Reviewers: djasper

Reviewed By: djasper

CC: cfe-commits, klimek

Differential Revision: http://llvm-reviews.chandlerc.com/D2372

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197138 91177308-0d34-0410-b5e6-96231b3b80d8
Filter-out irrelevant command-line options in CommonOptionsParser.

Summary:
Leave only -help, -version and options from the specified category.
Updated clang-check and clang-tidy. As clang-tidy is in a separate repository,
here's the diff:

  Index: tools/extra/clang-tidy/tool/ClangTidyMain.cpp
  ===================================================================
  --- tools/extra/clang-tidy/tool/ClangTidyMain.cpp       (revision 197024)
  +++ tools/extra/clang-tidy/tool/ClangTidyMain.cpp       (working copy)
  @@ -39,7 +39,7 @@
   // FIXME: Add option to list name/description of all checks.
   
   int main(int argc, const char **argv) {
  -  CommonOptionsParser OptionsParser(argc, argv);
  +  CommonOptionsParser OptionsParser(argc, argv, ClangTidyCategory);
   
     SmallVector<clang::tidy::ClangTidyError, 16> Errors;
     clang::tidy::runClangTidy(Checks, OptionsParser.getCompilations(),

Reviewers: djasper, klimek

Reviewed By: djasper

CC: cfe-commits, revane, klimek

Differential Revision: http://llvm-reviews.chandlerc.com/D2379

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197142 91177308-0d34-0410-b5e6-96231b3b80d8
Add a test case for the PR17748 crash

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197143 91177308-0d34-0410-b5e6-96231b3b80d8
Darwin-embedded: find correct libclang_rt for embedded targets.

This refactors some of the Darwin toolchain classification to give a more solid
distinction between the three primary Darwin platforms (OS X, IOS and IOS
simulator) so that a 4th choice can be added temporarily: embedded MachO
targets.

Longer term, this support will be factored out into a separate class and no
longer classified as "darwin-eabi", but the refactoring should still be useful.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197148 91177308-0d34-0410-b5e6-96231b3b80d8
Suppress -Wshadow / -Wold-style-cast expanded from system header macros

Thanks to Jonathan Sauer for providing initial test cases.

Fixes PR16093 and PR18147.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197150 91177308-0d34-0410-b5e6-96231b3b80d8
Fix -mthumb resetting of target cpu

Passing -mthumb with no explicit CPU on the command line
resulted in target CPU changing from the architecture
default to arm7tdmi. Now it does not.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197151 91177308-0d34-0410-b5e6-96231b3b80d8
Make thumb the default instruction set for v7m and v7em

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

getARMCPU and getLLVMArchSuffixForARM existed as very similar functions
in both ToolChain.cpp and Tools.cpp. Create a single implementation of
each in Tools.cpp, eliminate the duplicate and share via Tools.h.

Creates an 'arm' namespace in Tools.h to be used by any ARM-targetting tools.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197153 91177308-0d34-0410-b5e6-96231b3b80d8
Simple refactoring to eliminate single-use local variable

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197154 91177308-0d34-0410-b5e6-96231b3b80d8
Don't return a pointer to a temporary std::string's c_str.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197157 91177308-0d34-0410-b5e6-96231b3b80d8
Avoid temporary std::string.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197160 91177308-0d34-0410-b5e6-96231b3b80d8
Switch to the new MingW ABI.

GCC 4.7 changed the MingW ABI. On the clang side this means that methods now
have the thiscall calling convention by default.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197164 91177308-0d34-0410-b5e6-96231b3b80d8
[Modules] Don't parse any module map if modules are disabled.

Fixes rdar://15644663.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197165 91177308-0d34-0410-b5e6-96231b3b80d8
Make this test pass on Release builds.

On Assert builds the "call" was matching the variable name in
%call = call ...

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