clang 10.0.0git

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

EvalResult is a struct with detailed info about an evaluated expression. More...

`#include "clang/AST/Expr.h"`

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

## Public Member Functions
bool | isGlobalLValue () const
Public Member Functions inherited from clang::Expr::EvalStatus
| EvalStatus ()
bool | hasSideEffects () const

## Public Attributes
APValue | Val
| Val - This is the value the expression can be folded to. More...
Public Attributes inherited from clang::Expr::EvalStatus
bool | HasSideEffects
| Whether the evaluated expression has side effects. More...
bool | HasUndefinedBehavior
| Whether the evaluation hit undefined behavior. More...
SmallVectorImpl< PartialDiagnosticAt > * | 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). More...

## Detailed Description

EvalResult is a struct with detailed info about an evaluated expression.

Definition at line 586 of file Expr.h.

## Member Function Documentation

## ◆ isGlobalLValue()

bool Expr::EvalResult::isGlobalLValue | ( |  | ) | const

Definition at line 14005 of file ExprConstant.cpp.

References IsGlobalLValue().

## Member Data Documentation

## ◆ Val

APValue clang::Expr::EvalResult::Val

Val - This is the value the expression can be folded to.

Definition at line 588 of file Expr.h.

Referenced by AddVariableConstraints(), AnalyzeBitFieldAssignment(), canConvertIntToOtherIntTy(), canConvertIntTyToFloatTy(), checkArrayExpressionDoesNotReferToUnitySize(), checkArrayExpressionDoesNotReferToWholeSize(), CheckConvertedConstantExpression(), checkFormatStringExpr(), CheckImplicitConversion(), checkMapClauseExpressionBase(), checkOpenMPLoop(), checkSimdlenSafelenSpecified(), clang::CodeGen::CodeGenFunction::ConstantFoldsToSimpleInteger(), DiagnoseBadDivideOrRemainderValues(), DiagnoseBadFunctionCast(), DiagnoseBadShiftValues(), DiagnoseIntInBoolContext(), clang::CodeGen::CodeGenFunction::EmitARMBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), clang::CodeGen::emitDeclareSimdFunction(), EvaluateAsFixedPoint(), EvaluateAsInt(), EvaluateAsRValue(), FastEvaluateAsRValue(), getBytesReturnedByAllocSizeCall(), clang::ento::SValBuilder::getConstantVal(), GetExprRange(), hasDefaultSetterName(), isInLoop(), isNullPointerValueTemplateArgument(), shouldAddCase(), clang::CodeGen::CodeGenFunction::ShouldNullCheckClassCastValue(), clang::CodeGen::CodeGenFunction::tryEmitAsConstant(), and clang::CodeGen::ConstantEmitter::tryEmitPrivate().

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

- include/clang/AST/Expr.h
- lib/AST/ExprConstant.cpp