[analyzer] Add a FIXME about devirtualization in ctors/dtors.
llvm-svn: 161058
This commit is contained in:
parent
008eaf8460
commit
1f8c0b4587
|
|
@ -393,6 +393,10 @@ const Decl *CXXInstanceCall::getRuntimeDefinition() const {
|
|||
|
||||
// If the method is virtual, see if we can find the actual implementation
|
||||
// based on context-sensitivity.
|
||||
// FIXME: Virtual method calls behave differently when an object is being
|
||||
// constructed or destructed. It's not as simple as "no devirtualization"
|
||||
// because a /partially/ constructed object can be referred to through a
|
||||
// base pointer. We'll eventually want to use DynamicTypeInfo here.
|
||||
if (const CXXMethodDecl *Devirtualized = devirtualize(MD, getCXXThisVal()))
|
||||
return Devirtualized;
|
||||
|
||||
|
|
@ -527,6 +531,10 @@ const Decl *CXXDestructorCall::getRuntimeDefinition() const {
|
|||
|
||||
// If the method is virtual, see if we can find the actual implementation
|
||||
// based on context-sensitivity.
|
||||
// FIXME: Virtual method calls behave differently when an object is being
|
||||
// constructed or destructed. It's not as simple as "no devirtualization"
|
||||
// because a /partially/ constructed object can be referred to through a
|
||||
// base pointer. We'll eventually want to use DynamicTypeInfo here.
|
||||
if (const CXXMethodDecl *Devirtualized = devirtualize(MD, getCXXThisVal()))
|
||||
return Devirtualized;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue