Update FunctionTypeLoc and related names to match r199686

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199699 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "CodeGen: Simplify CodeGenFunction::EmitCaseStmt"

I misunderstood the discussion on this. The complexity here is
justified by the malloc overhead it saves.

This reverts commit r199302.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199700 91177308-0d34-0410-b5e6-96231b3b80d8
Simplify expression, made possible by r199702.


git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199703 91177308-0d34-0410-b5e6-96231b3b80d8
Now that r199688 avoids the real issue, use private linkage for objc strings.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199705 91177308-0d34-0410-b5e6-96231b3b80d8
Use private linkage for utf-16 objc strings too.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199709 91177308-0d34-0410-b5e6-96231b3b80d8
Neither attribute overloadable nor enable_if are supported by GCC. Disable the
GCC warning about attributes on function definitions for both of them.


git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199710 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: text following #if is likely an expression.

Before:
  #if AAAA &&BBBB

After:
  #if AAAA && BBBB

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199713 91177308-0d34-0410-b5e6-96231b3b80d8
Macho-embedded: rename compiler-rt support from Darwin-embedded

There's nothing Darwin-based in the files or target now, so the previous name
is now misleading.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199733 91177308-0d34-0410-b5e6-96231b3b80d8
Macho-embedded: fix tests after last rename

Very sorry, I managed to completely forget "make check".


git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199739 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Enable formatting for .proto and .protodevel files.

Support for protocol buffer files seems complete enough.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199750 91177308-0d34-0410-b5e6-96231b3b80d8
Add -m16 option for using x86-*-*-code16 triple

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199754 91177308-0d34-0410-b5e6-96231b3b80d8
Fix -Wsometimes-uninitialized in r199754

Also make the -m16 check x86-specific. Other archs may have a different take on
things.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199755 91177308-0d34-0410-b5e6-96231b3b80d8
Debug info: use the file a typedef is defined in as its decl_file instead
of the current compilation unit.
As a side effect this enables many more LTO uniquing opportunities.

rdar://problem/15851206

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199757 91177308-0d34-0410-b5e6-96231b3b80d8
revert 199757 for buildbot breakage.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199758 91177308-0d34-0410-b5e6-96231b3b80d8
Debug info: use the file a typedef is defined in as its decl_file instead
of the current compilation unit.
As a side effect this enables many more LTO uniquing opportunities.

This reapplies r199757 with a better testcase.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199760 91177308-0d34-0410-b5e6-96231b3b80d8
Correct the function name shown in diagnostics in warn-thread-safety-analysis.c

Patch by Alex Wang.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199762 91177308-0d34-0410-b5e6-96231b3b80d8
MSVC ABI: Support C++11's auto on variables

The MSVC C++ ABI always uses the deduced type in place of auto when
generating external names for variables.

N.B.  MSVC doesn't support C++1y's 'operator auto' and this patch will
not give us said functionality.


git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199764 91177308-0d34-0410-b5e6-96231b3b80d8
Teach Clang to look in its installation libdir for libraries (such as
libc++) when the installation is within the system root.

This doesn't really help cross compiles much, but we don't (currently)
have a great story around libc++, cross compiles, and who is responsible
for building and/or installing the libraries. However, it handles the
very common case of non-cross builds in a way entirely consistent with
GCC, so I'm hopeful this won't really hose anyone.

This is the second patch that I think should be backported to 3.4 to
give folks an easy to checkout and install working Clang+libc++
toolchain.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199769 91177308-0d34-0410-b5e6-96231b3b80d8
Fix regression in r197623: only diagnose a by-copy capture of an incomplete
type if the capture is, actually, by copy.


git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@199772 91177308-0d34-0410-b5e6-96231b3b80d8
Correct various uses of 'argument' that in fact refer to function parameters

Cleanup only.

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