clang 24.0.0git
ExprUtils.cpp File Reference

Go to the source code of this file.

Namespaces

namespace  clang
 Top level wrappers for InstallAPI frontend operations.
namespace  clang::CodeGenUtils

Functions

QualType clang::CodeGenUtils::getFixedSizeElementType (const ASTContext &Ctx, const VariableArrayType *VLA)
 Strip off the variably-modified array types wrapping VLA and return the first element type that has a fixed size.
bool clang::CodeGenUtils::isBlockVarRef (const Expr *E)
 Check whether the value of E is possibly a reference to or into a __block variable.
bool clang::CodeGenUtils::isCheapEnoughToEvaluateUnconditionally (const Expr *E, const ASTContext &Ctx)
 Check whether E is cheap enough and side-effect-free enough to evaluate unconditionally instead of conditionally.
bool clang::CodeGenUtils::isTrivialFiller (const Expr *E)
 Check whether E is a trivial array filler, that is, one that is equivalent to zero-initialization.
bool clang::CodeGenUtils::onlyHasInlineBuiltinDeclaration (const FunctionDecl *FD)
 Detect the unusual situation where an inline version of a builtin is shadowed by a non-inline version.
bool clang::CodeGenUtils::isConstantEmittableObjectType (QualType Type)
 Given an object of the canonical type Type, can we safely copy a value out of it based on its initializer?
ConstantEmissionKind clang::CodeGenUtils::checkVarTypeForConstantEmission (QualType Type)
 Can we constant-emit a load of a reference to a variable of the given type?