aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/InlineFunction.cpp
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2016-03-11 18:59:12 +0000
committerReid Kleckner <rnk@google.com>2016-03-11 18:59:12 +0000
commit1af391df138f39decde88b9517c741496fed7dd8 (patch)
tree831a63363b2e6f0e02748afe31c874f3c2981765 /llvm/lib/Transforms/Utils/InlineFunction.cpp
parente5a9a275d36b20f68bc6e015f83914126004ccf8 (diff)
downloadllvm-1af391df138f39decde88b9517c741496fed7dd8.zip
llvm-1af391df138f39decde88b9517c741496fed7dd8.tar.gz
llvm-1af391df138f39decde88b9517c741496fed7dd8.tar.bz2
Allow sizeof(UnrelatedClass::field) in C++11 class template methods
This feature works outside of templates by forming a DeclRefExpr to a FieldDecl instead of a MemberExpr, which requires a base object in addition to the FieldDecl. Previously, while building up the template AST before instantiation, we formed a CXXDependentScopeMemberExpr, which always instantiates to a MemberExpr. Now, in unevaluated contexts we form a DependentScopeDeclRefExpr, which is a more flexible node that can instantiate to either a MemberExpr or a DeclRefExpr depending on lookup results. Fixes PR26893. llvm-svn: 263279
Diffstat (limited to 'llvm/lib/Transforms/Utils/InlineFunction.cpp')
0 files changed, 0 insertions, 0 deletions