Simplify CXXMethodDecl::isVirtual() for __interface case


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197643 91177308-0d34-0410-b5e6-96231b3b80d8
PCH: fix a crash caused by a circular deserialization dependency

We started by trying to deserialize decltype(func-param) in a trailing return
type, which causes the function parameter decl to be deserialized, which pulls
in the function decl, which pulls the function type, which pulls the same
decltype() in the return type, and then we crashed.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197644 91177308-0d34-0410-b5e6-96231b3b80d8
Replacing calls to getAttr with calls to hasAttr for clarity. No functional change intended -- this only replaces Boolean uses of getAttr.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197648 91177308-0d34-0410-b5e6-96231b3b80d8
Switched code from using hasAttr followed by getAttr to simply call getAttr directly and check the resulting value. Also fixes some minor formatting issues surrounding the getAttr code.

No functional changes intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197649 91177308-0d34-0410-b5e6-96231b3b80d8
Switched code from using hasAttr followed by getAttr to simply call getAttr directly and check the resulting value.

No functional changes intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197650 91177308-0d34-0410-b5e6-96231b3b80d8
On spacv8 f128 is only aligned to 64 bits.

LLVM already got this right.

Found on "Figure 3-1: Scalar Types" on http://sparc.com/standards/psABI3rd.pdf.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197651 91177308-0d34-0410-b5e6-96231b3b80d8
Switched code from using hasAttr followed by getAttr to simply call getAttr directly and check the resulting value.

No functional changes intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197652 91177308-0d34-0410-b5e6-96231b3b80d8
Update SI datalayout for 32-bit private pointers

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197660 91177308-0d34-0410-b5e6-96231b3b80d8
Fix usage description of clang-format-diff.py.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197668 91177308-0d34-0410-b5e6-96231b3b80d8
Hosting a call to getAttr so that we don't call it multiple times for the same attribute. Also removes a hasAttr that's not required. No functional changes intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197675 91177308-0d34-0410-b5e6-96231b3b80d8
Switched code from using hasAttr followed by getAttr to simply call getAttr directly.

No functional changes intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197676 91177308-0d34-0410-b5e6-96231b3b80d8
Switched code from using hasAttr followed by getAttr to simply call getAttr directly and check the resulting value.

No functional changes intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197678 91177308-0d34-0410-b5e6-96231b3b80d8
Switching getAttrs calls over to using a specific_attr_iterator. No functional changes intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197681 91177308-0d34-0410-b5e6-96231b3b80d8
[CMake] check-clang: Deprecate --path, according to r197576.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197686 91177308-0d34-0410-b5e6-96231b3b80d8
[CMake] check-clang: Append items to CLANG_TEST_DEPS rather than set. CLANG_TEST_DEPS can be set in parent scope.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197687 91177308-0d34-0410-b5e6-96231b3b80d8
[CMake] check-clang: Include ClangUnitTests if it can be built. Check existence of gtest.h then.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197688 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Slightly adapt decision of when to break before <<.

Before:
  Diag(aaaaaaaaaaaaaaaaaaaa, aaaaaaaa) << aaaaaaaaaaaaaaaaaaaaaaaaa(
                                              aaaaaaaaaaaaa);

After:
  Diag(aaaaaaaaaaaaaaaaaaaa, aaaaaaaa)
      << aaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaa);

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197695 91177308-0d34-0410-b5e6-96231b3b80d8
[CMake][Standalone] Rewrite standalone build based on llvm-config. CLANG_PATH_TO_LLVM_*(s) are deprecated.

Checked on VS10(multiconfig) and some singleconfig builders.

* Assumptions

  - You should specify llvm-config as LLVM_CONFIG.
    CMake could find one in $PATH by default.

  - ENABLE_ASSERTIONS obeys LLVM's.

* Use cases

  a) With LLVM build tree

    Assume llvm-config is in your build tree.
    Everything should work as ever.

  b) With *installed* LLVM

    Assume distributions. The source tree can be optional.

    b1) The source tree is provided on the location `llvm-config --src-root`

      - Test utils, FileCheck &c., are imported and built in the new tree.
      - Gtest is built in the tree if gtest library is not found.
      - Lit is used in $(SRCROOT)/utils/lit/lit.py.

    b2) The source tree is not provided

      - clang and utilities can be built.
      - All tests, unittests and check-clang are invalidated and not built.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197697 91177308-0d34-0410-b5e6-96231b3b80d8
clang-format: Increase penalty for breaking comments.

Unexpectedly, it seems that people commonly know what they were doing
when writing a comment.

Also, being more conservative about comment breaking has the advantage
of giving more flexibility. If a linebreak within the comment can
improve formatting, the author can add it (after which clang-format
won't undo it). There is no way to override clang-format's behavior if
it breaks a comment.

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