Make -fdump-vtable-layouts print to stdout, not stderr

This makes it consistent with -fdump-record-layouts, which was moved to
outs() in r186219.  My reasoning for going with stdout is that when one
of these options is present, the layouts are really a program output,
and shouldn't be interleaved with diagnostics, which are on stderr.

Reviewers: timurrrr

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194279 91177308-0d34-0410-b5e6-96231b3b80d8
Fix %select numbering confusion between diagnostic and Diag call.


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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194283 91177308-0d34-0410-b5e6-96231b3b80d8
Py3k compat for clang-format Sublime Text extension.

Sublime Text 2 uses Python 2.6
Sublime Text 3 uses Python 3.3

The `print` function has been available as a __future__ import since
2.6, so use it.

Patch by Johan Engelen!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194287 91177308-0d34-0410-b5e6-96231b3b80d8
If a linkonce_odr dtor/ctor is identical to another one, just rauw.

Unlike an alias a rauw is always safe, so we don't need to avoid this
optimization when the replacement is not know to be available in every TU.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194288 91177308-0d34-0410-b5e6-96231b3b80d8
Remove an incorrect optimization inside Clang's IRGen. Its check to determine
whether we can safely lower a conditional operator to select was insufficient.
I've left a large comment in place to explaining the sort of problems that this
transform can encounter in clang in the hopes of discouraging others from
reimplementing it wrongly again in the future. (The test should also help with
that, but it's easy to work around any single test I might add and think that
your particular implementation doesn't miscompile any code.)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194289 91177308-0d34-0410-b5e6-96231b3b80d8
Fix name in test.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194291 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Improve clang-format's detection about comment binding.

Before, existing code in the form of:

  int a; // this is a.
  // This is
  // b.
  int b;

Got turned into:

  int a; // this is a.
         // This is
  // b.
  int b;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194294 91177308-0d34-0410-b5e6-96231b3b80d8
Use rauw for all discardable aliases, not just linkonce_odr.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194296 91177308-0d34-0410-b5e6-96231b3b80d8
Update macro expansion diagnostic examples to say 'expanded from:'
instead of 'instantiated from:'. The actual wording of the note was
changed in r135135.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194297 91177308-0d34-0410-b5e6-96231b3b80d8
Use a StringRef. Saves 0.00000000000001s on execution time.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194301 91177308-0d34-0410-b5e6-96231b3b80d8
Don't emit an internal destructor that is identical to an external one.

It is not safe to emit alias to undefined (not supported by ELF or COFF), but
it is safe to rauw when the alias would have been internal or linkonce_odr.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194307 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Fix alignment of ObjC string literals.

This used to interfere with AlwaysBreakBeforeMultilineStrings.

This fixes llvm.org/PR17856.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194310 91177308-0d34-0410-b5e6-96231b3b80d8
Comment parsing: recognize \def (but processing is a no-op, like the rest of
similar commands that duplicate the declaration name)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194312 91177308-0d34-0410-b5e6-96231b3b80d8
Try to recover a bit better if a close brace is missing from the end of a class
definition. If we see something that looks like a namespace definition inside a
class, that strongly indicates that a close brace was missing somewhere.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194319 91177308-0d34-0410-b5e6-96231b3b80d8
Add support for -fuse-ld=.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194328 91177308-0d34-0410-b5e6-96231b3b80d8
Add explicit target to the fuse_ld.c test.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194329 91177308-0d34-0410-b5e6-96231b3b80d8
Correctly set the target in fuse_ld.c correctly...



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194330 91177308-0d34-0410-b5e6-96231b3b80d8
FreeBSD 10 ships with only libc++, make sure it's the default when compiling
c++ code.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194332 91177308-0d34-0410-b5e6-96231b3b80d8
Commit the changes to make libc++ the default on FreeBSD >= 10, rather than
just the test...



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