Lines Matching refs:Structure

165   StructInfo Structure;  member
186 struct StructInfo Structure);
220 Structure = S; in StructFieldInfo()
281 std::vector<StructInitializer> &&Initializers, struct StructInfo Structure) in FieldInitializer() argument
283 new (&StructInfo) StructFieldInfo(std::move(Initializers), Structure); in FieldInitializer()
628 bool lookUpField(const StructInfo &Structure, StringRef Member,
897 bool parseStructInitializer(const StructInfo &Structure,
900 const StructInfo &Structure, std::vector<StructInitializer> &Initializers,
920 bool emitStructInitializer(const StructInfo &Structure,
924 bool emitStructValues(const StructInfo &Structure, unsigned *Count = nullptr);
925 bool addStructField(StringRef Name, const StructInfo &Structure);
926 bool parseDirectiveStructValue(const StructInfo &Structure,
928 bool parseDirectiveNamedStructValue(const StructInfo &Structure,
4132 if (parseStructInstList(Contents.Structure, Initializers, in parseFieldInitializer()
4137 if (parseStructInstList(Contents.Structure, Initializers, in parseFieldInitializer()
4146 if (parseStructInitializer(Contents.Structure, Initializers.back())) in parseFieldInitializer()
4160 Initializer = FieldInitializer(std::move(Initializers), Contents.Structure); in parseFieldInitializer()
4177 bool MasmParser::parseStructInitializer(const StructInfo &Structure, in parseStructInitializer() argument
4200 while (getTok().isNot(*EndToken) && FieldIndex < Structure.Fields.size()) { in parseStructInitializer()
4201 const FieldInfo &Field = Structure.Fields[FieldIndex++]; in parseStructInitializer()
4217 if (FieldIndex == Structure.Fields.size()) in parseStructInitializer()
4218 return Error(CommaLoc, "'" + Structure.Name + in parseStructInitializer()
4224 for (const FieldInfo &Field : llvm::drop_begin(Structure.Fields, FieldIndex)) in parseStructInitializer()
4238 const StructInfo &Structure, std::vector<StructInitializer> &Initializers, in parseStructInstList() argument
4261 parseStructInstList(Structure, DuplicatedValues) || parseRParen()) in parseStructInstList()
4268 if (parseStructInitializer(Structure, Initializers.back())) in parseStructInstList()
4304 for (const auto &SubField : Contents.Structure.Fields) { in emitFieldValue()
4361 if (emitStructInitializer(Contents.Structure, Init)) in emitFieldInitializer()
4367 if (emitStructInitializer(Contents.Structure, Init)) in emitFieldInitializer()
4389 bool MasmParser::emitStructInitializer(const StructInfo &Structure, in emitStructInitializer() argument
4391 if (!Structure.Initializable) in emitStructInitializer()
4393 "cannot initialize a value of type '" + Structure.Name + in emitStructInitializer()
4397 const auto &Field = Structure.Fields[Index++]; in emitStructInitializer()
4405 Structure.Fields, Initializer.FieldInitializers.size())) { in emitStructInitializer()
4412 if (Offset != Structure.Size) in emitStructInitializer()
4413 getStreamer().emitZeros(Structure.Size - Offset); in emitStructInitializer()
4418 bool MasmParser::emitStructValues(const StructInfo &Structure, in emitStructValues() argument
4421 if (parseStructInstList(Structure, Initializers)) in emitStructValues()
4425 if (emitStructInitializer(Structure, Initializer)) in emitStructValues()
4435 bool MasmParser::addStructField(StringRef Name, const StructInfo &Structure) { in addStructField() argument
4438 OwningStruct.addField(Name, FT_STRUCT, Structure.AlignmentSize); in addStructField()
4441 StructInfo.Structure = Structure; in addStructField()
4442 Field.Type = Structure.Size; in addStructField()
4444 if (parseStructInstList(Structure, StructInfo.Initializers)) in addStructField()
4462 bool MasmParser::parseDirectiveStructValue(const StructInfo &Structure, in parseDirectiveStructValue() argument
4465 if (emitStructValues(Structure)) in parseDirectiveStructValue()
4467 } else if (addStructField("", Structure)) { in parseDirectiveStructValue()
4476 bool MasmParser::parseDirectiveNamedStructValue(const StructInfo &Structure, in parseDirectiveNamedStructValue() argument
4484 if (emitStructValues(Structure, &Count)) in parseDirectiveNamedStructValue()
4487 Type.Name = Structure.Name; in parseDirectiveNamedStructValue()
4488 Type.Size = Structure.Size * Count; in parseDirectiveNamedStructValue()
4489 Type.ElementSize = Structure.Size; in parseDirectiveNamedStructValue()
4492 } else if (addStructField(Name, Structure)) { in parseDirectiveNamedStructValue()
4576 StructInfo Structure = StructInProgress.pop_back_val(); in parseDirectiveEnds() local
4579 Structure.Size = llvm::alignTo( in parseDirectiveEnds()
4580 Structure.Size, std::min(Structure.Alignment, Structure.AlignmentSize)); in parseDirectiveEnds()
4581 Structs[Name.lower()] = Structure; in parseDirectiveEnds()
4598 StructInfo Structure = StructInProgress.pop_back_val(); in parseDirectiveNestedEnds() local
4600 Structure.Size = llvm::alignTo(Structure.Size, Structure.Alignment); in parseDirectiveNestedEnds()
4603 if (Structure.Name.empty()) { in parseDirectiveNestedEnds()
4609 std::make_move_iterator(Structure.Fields.begin()), in parseDirectiveNestedEnds()
4610 std::make_move_iterator(Structure.Fields.end())); in parseDirectiveNestedEnds()
4611 for (const auto &FieldByName : Structure.FieldsByName) { in parseDirectiveNestedEnds()
4617 if (!Structure.Fields.empty() && !ParentStruct.IsUnion) { in parseDirectiveNestedEnds()
4620 std::min(ParentStruct.Alignment, Structure.AlignmentSize)); in parseDirectiveNestedEnds()
4624 ParentStruct.Size = std::max(ParentStruct.Size, Structure.Size); in parseDirectiveNestedEnds()
4629 const unsigned StructureEnd = FirstFieldOffset + Structure.Size; in parseDirectiveNestedEnds()
4636 FieldInfo &Field = ParentStruct.addField(Structure.Name, FT_STRUCT, in parseDirectiveNestedEnds()
4637 Structure.AlignmentSize); in parseDirectiveNestedEnds()
4639 Field.Type = Structure.Size; in parseDirectiveNestedEnds()
4641 Field.SizeOf = Structure.Size; in parseDirectiveNestedEnds()
4649 StructInfo.Structure = Structure; in parseDirectiveNestedEnds()
4652 for (const auto &SubField : Structure.Fields) { in parseDirectiveNestedEnds()
4678 StructInfo &Structure = StructInProgress.back(); in parseDirectiveOrg() local
4688 Structure.NextOffset = static_cast<unsigned>(OffsetRes); in parseDirectiveOrg()
4691 Structure.Initializable = false; in parseDirectiveOrg()
4719 StructInfo &Structure = StructInProgress.back(); in emitAlignTo() local
4720 Structure.NextOffset = llvm::alignTo(Structure.NextOffset, Alignment); in emitAlignTo()
7265 bool MasmParser::lookUpField(const StructInfo &Structure, StringRef Member, in lookUpField() argument
7268 Info.Type.Name = Structure.Name; in lookUpField()
7269 Info.Type.Size = Structure.Size; in lookUpField()
7270 Info.Type.ElementSize = Structure.Size; in lookUpField()
7282 auto FieldIt = Structure.FieldsByName.find(FieldName.lower()); in lookUpField()
7283 if (FieldIt == Structure.FieldsByName.end()) in lookUpField()
7286 const FieldInfo &Field = Structure.Fields[FieldIt->second]; in lookUpField()
7293 Info.Type.Name = Field.Contents.StructInfo.Structure.Name; in lookUpField()
7303 if (lookUpField(StructInfo.Structure, FieldMember, Info)) in lookUpField()
7331 const StructInfo &Structure = StructIt->second; in lookUpType() local
7333 Info.ElementSize = Structure.Size; in lookUpType()
7335 Info.Size = Structure.Size; in lookUpType()