-fdump-record-layouts: Sort nvbases by offset before printing them

It makes our -fdump-record-layouts a little more sane.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202457 91177308-0d34-0410-b5e6-96231b3b80d8
Attempt to fix non-MSVC build

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202458 91177308-0d34-0410-b5e6-96231b3b80d8
Add a -Wclass-varargs to warn on objects of any class type being passed through an ellipsis. Since C++11 relaxed the rules on this, we allow a lot more bad code through silently, such as:

  const char *format = "%s";
  std::experimental::string_view view = "foo";
  printf(format, view);

In this case, not only warn about a class type being used here, but also suggest that calling c_str() might be a good idea.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202461 91177308-0d34-0410-b5e6-96231b3b80d8
Add support for OpenBSD SPARC assembler.

Patch by Brad Smith.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202462 91177308-0d34-0410-b5e6-96231b3b80d8
Fix crash with enable_if on constructors.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202467 91177308-0d34-0410-b5e6-96231b3b80d8
Add a testcase for r202437.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202468 91177308-0d34-0410-b5e6-96231b3b80d8
[ASTUnit] Don't let the preamble diagnostics out-live the CompilerInstance that created them,
this is inherently unsafe.

Instead get the diagnostic info into a SourceManager-independent form.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202471 91177308-0d34-0410-b5e6-96231b3b80d8
Add 'remark' diagnostic type in 'clang'

A 'remark' is information that is not an error or a warning, but rather some
additional information provided to the user. In contrast to a 'note' a 'remark'
is an independent diagnostic, whereas a 'note' always depends on another
diagnostic.

A typical use case for remark nodes is information provided to the user, e.g.
information provided by the vectorizer about loops that have been vectorized.

This patch provides the initial implementation of 'remarks'. It includes the
actual definiton of the remark nodes, their printing as well as basic parameter
handling. We are reusing the existing diagnostic parameters which means a remark
can be enabled with normal '-Wdiagnostic-name' flags and can be upgraded to
an error using '-Werror=diagnostic-name'. '-Werror' alone does not upgrade
remarks.

This patch is by intention minimal in terms of parameter handling. More
experience and more discussions will most likely lead to further enhancements
in the parameter handling.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202475 91177308-0d34-0410-b5e6-96231b3b80d8
CFG: Also apply the filter to the first block in a FilteredCFGBlockIterator.

PR18999.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202491 91177308-0d34-0410-b5e6-96231b3b80d8
Now that llvm's build system sets -install_name, we don't need to.

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