|
clang 23.0.0git
|
Hints for figuring out if a call should be inlined during evalCall(). More...
#include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h"
Public Member Functions | |
| EvalCallOptions () | |
Public Attributes | |
| bool | IsCtorOrDtorWithImproperlyModeledTargetRegion = false |
| This call is a constructor or a destructor for which we do not currently compute the this-region correctly. | |
| bool | IsArrayCtorOrDtor = false |
| This call is a constructor or a destructor for a single element within an array, a part of array construction or destruction. | |
| bool | IsTemporaryCtorOrDtor = false |
| This call is a constructor or a destructor of a temporary value. | |
| bool | IsTemporaryLifetimeExtendedViaAggregate = false |
| This call is a constructor for a temporary that is lifetime-extended by binding it to a reference-type field within an aggregate, for example 'A { const C &c; }; A a = { C() };'. | |
| bool | IsElidableCtorThatHasNotBeenElided = false |
| This call is a pre-C++17 elidable constructor that we failed to elide because we failed to compute the target region into which this constructor would have been ultimately elided. | |
Hints for figuring out if a call should be inlined during evalCall().
Definition at line 93 of file ExprEngine.h.
|
inline |
Definition at line 117 of file ExprEngine.h.
This call is a constructor or a destructor for a single element within an array, a part of array construction or destruction.
Definition at line 100 of file ExprEngine.h.
Referenced by clang::ento::ExprEngine::computeObjectUnderConstruction(), clang::ento::ExprEngine::ProcessAutomaticObjDtor(), clang::ento::ExprEngine::ProcessDeleteDtor(), and clang::ento::ExprEngine::ProcessMemberDtor().
This call is a constructor or a destructor for which we do not currently compute the this-region correctly.
Definition at line 96 of file ExprEngine.h.
Referenced by clang::ento::ExprEngine::computeObjectUnderConstruction(), clang::ento::ExprEngine::updateObjectsUnderConstruction(), and clang::ento::ExprEngine::VisitCXXDestructor().
This call is a pre-C++17 elidable constructor that we failed to elide because we failed to compute the target region into which this constructor would have been ultimately elided.
Analysis that we perform in this case is still correct but it behaves differently, as if copy elision is disabled.
Definition at line 115 of file ExprEngine.h.
Referenced by clang::ento::ExprEngine::computeObjectUnderConstruction(), and clang::ento::ExprEngine::updateObjectsUnderConstruction().
This call is a constructor or a destructor of a temporary value.
Definition at line 103 of file ExprEngine.h.
Referenced by clang::ento::ExprEngine::computeObjectUnderConstruction(), and clang::ento::ExprEngine::ProcessTemporaryDtor().
This call is a constructor for a temporary that is lifetime-extended by binding it to a reference-type field within an aggregate, for example 'A { const C &c; }; A a = { C() };'.
Definition at line 108 of file ExprEngine.h.
Referenced by clang::ento::ExprEngine::computeObjectUnderConstruction().