clang  3.7.0
Public Member Functions | Public Attributes | List of all members
clang::Expr::EvalStatus Struct Reference

EvalStatus is a struct with detailed info about an evaluation in progress. More...

#include <Expr.h>

Inheritance diagram for clang::Expr::EvalStatus:
[legend]
Collaboration diagram for clang::Expr::EvalStatus:
[legend]

Public Member Functions

 EvalStatus ()
 
bool hasSideEffects () const
 

Public Attributes

bool HasSideEffects
 
SmallVectorImpl
< PartialDiagnosticAt > * 
Diag
 

Detailed Description

EvalStatus is a struct with detailed info about an evaluation in progress.

Definition at line 531 of file Expr.h.

Constructor & Destructor Documentation

clang::Expr::EvalStatus::EvalStatus ( )
inline

Definition at line 545 of file Expr.h.

Member Function Documentation

bool clang::Expr::EvalStatus::hasSideEffects ( ) const
inline

Member Data Documentation

SmallVectorImpl<PartialDiagnosticAt>* clang::Expr::EvalStatus::Diag

Diag - If this is non-null, it will be filled in with a stack of notes indicating why evaluation failed (or why it failed to produce a constant expression). If the expression is unfoldable, the notes will indicate why it's not foldable. If the expression is foldable, but not a constant expression, the notes will describes why it isn't a constant expression. If the expression is a constant expression, no notes will be produced.

Definition at line 543 of file Expr.h.

Referenced by CheckConvertedConstantExpression(), clang::Expr::EvaluateAsInitializer(), isNullPointerValueTemplateArgument(), clang::Expr::isPotentialConstantExpr(), clang::Expr::isPotentialConstantExprUnevaluated(), and clang::Sema::VerifyIntegerConstantExpression().

bool clang::Expr::EvalStatus::HasSideEffects

The documentation for this struct was generated from the following file: