[C++11] Replacing DeclStmt iterators decl_begin() and decl_end() with iterator_range decls(). Updating all of the usages of the iterators with range-based for loops.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203947 91177308-0d34-0410-b5e6-96231b3b80d8
NFC: remove unused variables from r203938, r203942, and r203947

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203948 91177308-0d34-0410-b5e6-96231b3b80d8
Fix PR19104: Incorrect handling of non-virtual calls of virtual methods

Reviewed at http://llvm-reviews.chandlerc.com/D3054

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203949 91177308-0d34-0410-b5e6-96231b3b80d8
Fix a crash (assertion failure) in EvaluateAsRValue.

Summary:
Gracefully fail to evaluate a constant expression if its type is
unknown, rather than failing an assertion trying to access the type.

Reviewers: klimek

Reviewed By: klimek

CC: chandlerc, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203950 91177308-0d34-0410-b5e6-96231b3b80d8
Fix VS2012 build after r203881

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