| 
    clang 22.0.0git
    
   | 
 
A helper class of ConstantInitBuilder, used for building constant array initializers. More...
#include "clang/CodeGen/ConstantInitBuilder.h"
Friends | |
| template<class Traits> | |
| class | ConstantInitBuilderTemplateBase | 
| template<class Impl, class Traits> | |
| class | CodeGen::ConstantAggregateBuilderTemplateBase | 
Additional Inherited Members | |
| Public Types inherited from clang::CodeGen::ConstantArrayBuilderTemplateBase< ConstantInitBuilderTraits > | |
| using | InitBuilder | 
| using | AggregateBuilderBase | 
| Public Types inherited from clang::CodeGen::ConstantAggregateBuilderTemplateBase< ConstantInitBuilderTraits::ArrayBuilder, ConstantInitBuilderTraits > | |
| using | InitBuilder | 
| using | ArrayBuilder | 
| using | StructBuilder | 
| using | AggregateBuilderBase | 
| Public Member Functions inherited from clang::CodeGen::ConstantAggregateBuilderTemplateBase< ConstantInitBuilderTraits::ArrayBuilder, ConstantInitBuilderTraits > | |
| ArrayBuilder | beginArray (llvm::Type *eltTy=nullptr) | 
| StructBuilder | beginStruct (llvm::StructType *ty=nullptr) | 
| void | finishAndAddTo (AggregateBuilderBase &parent) | 
| Given that this builder was created by beginning an array or struct component on the given parent builder, finish the array/struct component and add it to the parent.   | |
| llvm::GlobalVariable * | finishAndCreateGlobal (As &&...args) | 
| Given that this builder was created by beginning an array or struct directly on a ConstantInitBuilder, finish the array/struct and create a global variable with it as the initializer.   | |
| void | finishAndSetAsInitializer (llvm::GlobalVariable *global) | 
| Given that this builder was created by beginning an array or struct directly on a ConstantInitBuilder, finish the array/struct and set it as the initializer of the given global variable.   | |
| ConstantInitFuture | finishAndCreateFuture () | 
| Given that this builder was created by beginning an array or struct directly on a ConstantInitBuilder, finish the array/struct and return a future which can be used to install the initializer in a global later.   | |
| Public Member Functions inherited from clang::CodeGen::ConstantAggregateBuilderBase | |
| ConstantAggregateBuilderBase (const ConstantAggregateBuilderBase &)=delete | |
| ConstantAggregateBuilderBase & | operator= (const ConstantAggregateBuilderBase &)=delete | 
| ConstantAggregateBuilderBase (ConstantAggregateBuilderBase &&other) | |
| ConstantAggregateBuilderBase & | operator= (ConstantAggregateBuilderBase &&other)=delete | 
| size_t | size () const | 
| Return the number of elements that have been added to this struct or array.   | |
| bool | empty () const | 
| Return true if no elements have yet been added to this struct or array.   | |
| void | abandon () | 
| Abandon this builder completely.   | |
| void | add (llvm::Constant *value) | 
| Add a new value to this initializer.   | |
| void | addSize (CharUnits size) | 
| Add an integer value of type size_t.   | |
| void | addInt (llvm::IntegerType *intTy, uint64_t value, bool isSigned=false) | 
| Add an integer value of a specific type.   | |
| void | addSignedPointer (llvm::Constant *Pointer, const PointerAuthSchema &Schema, GlobalDecl CalleeDecl, QualType CalleeType) | 
| Add a signed pointer using the given pointer authentication schema.   | |
| void | addNullPointer (llvm::PointerType *ptrTy) | 
| Add a null pointer of a specific type.   | |
| void | addAll (llvm::ArrayRef< llvm::Constant * > values) | 
| Add a bunch of new values to this initializer.   | |
| void | addRelativeOffset (llvm::IntegerType *type, llvm::Constant *target) | 
| Add a relative offset to the given target address, i.e.   | |
| void | addRelativeOffsetToPosition (llvm::IntegerType *type, llvm::Constant *target, size_t position) | 
| Same as addRelativeOffset(), but instead relative to an element in this aggregate, identified by its index.   | |
| void | addTaggedRelativeOffset (llvm::IntegerType *type, llvm::Constant *address, unsigned tag) | 
| Add a relative offset to the target address, plus a small constant offset.   | |
| CharUnits | getNextOffsetFromGlobal () const | 
| Return the offset from the start of the initializer to the next position, assuming no padding is required prior to it.   | |
| PlaceholderPosition | addPlaceholder () | 
| Add a placeholder value to the structure.   | |
| PlaceholderPosition | addPlaceholderWithSize (llvm::Type *expectedType) | 
| Add a placeholder, giving the expected type that will be filled in.   | |
| void | fillPlaceholderWithInt (PlaceholderPosition position, llvm::IntegerType *type, uint64_t value, bool isSigned=false) | 
| Fill a previously-added placeholder.   | |
| void | fillPlaceholder (PlaceholderPosition position, llvm::Constant *value) | 
| Fill a previously-added placeholder.   | |
| llvm::Constant * | getAddrOfCurrentPosition (llvm::Type *type) | 
| Produce an address which will eventually point to the next position to be filled.   | |
| llvm::Constant * | getAddrOfPosition (llvm::Type *type, size_t position) | 
| Produce an address which points to a position in the aggregate being constructed.   | |
| llvm::ArrayRef< llvm::Constant * > | getGEPIndicesToCurrentPosition (llvm::SmallVectorImpl< llvm::Constant * > &indices) | 
| Protected Member Functions inherited from clang::CodeGen::ConstantArrayBuilderTemplateBase< ConstantInitBuilderTraits > | |
| ConstantArrayBuilderTemplateBase (InitBuilder &builder, AggregateBuilderBase *parent, llvm::Type *eltTy) | |
| Protected Member Functions inherited from clang::CodeGen::ConstantAggregateBuilderTemplateBase< ConstantInitBuilderTraits::ArrayBuilder, ConstantInitBuilderTraits > | |
| ConstantAggregateBuilderTemplateBase (InitBuilder &builder, AggregateBuilderBase *parent) | |
| ConstantInitBuilderTraits::ArrayBuilder & | asImpl () | 
| Protected Member Functions inherited from clang::CodeGen::ConstantAggregateBuilderBase | |
| llvm::SmallVectorImpl< llvm::Constant * > & | getBuffer () | 
| const llvm::SmallVectorImpl< llvm::Constant * > & | getBuffer () const | 
| ConstantAggregateBuilderBase (ConstantInitBuilderBase &builder, ConstantAggregateBuilderBase *parent) | |
| ~ConstantAggregateBuilderBase () | |
| void | markFinished () | 
| llvm::Constant * | finishArray (llvm::Type *eltTy) | 
| llvm::Constant * | finishStruct (llvm::StructType *structTy) | 
| Protected Attributes inherited from clang::CodeGen::ConstantAggregateBuilderBase | |
| ConstantInitBuilderBase & | Builder | 
| ConstantAggregateBuilderBase * | Parent | 
| size_t | Begin | 
| size_t | CachedOffsetEnd = 0 | 
| bool | Finished = false | 
| bool | Frozen = false | 
| bool | Packed = false | 
| CharUnits | CachedOffsetFromGlobal | 
A helper class of ConstantInitBuilder, used for building constant array initializers.
Definition at line 547 of file ConstantInitBuilder.h.
      
  | 
  friend | 
Definition at line 554 of file ConstantInitBuilder.h.
      
  | 
  friend | 
Definition at line 550 of file ConstantInitBuilder.h.
References ConstantInitBuilderTemplateBase.
Referenced by ConstantInitBuilderTemplateBase.