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,
4131 if (parseStructInstList(Contents.Structure, Initializers, in parseFieldInitializer()
4136 if (parseStructInstList(Contents.Structure, Initializers, in parseFieldInitializer()
4145 if (parseStructInitializer(Contents.Structure, Initializers.back())) in parseFieldInitializer()
4159 Initializer = FieldInitializer(std::move(Initializers), Contents.Structure); in parseFieldInitializer()
4176 bool MasmParser::parseStructInitializer(const StructInfo &Structure, in parseStructInitializer() argument
4199 while (getTok().isNot(*EndToken) && FieldIndex < Structure.Fields.size()) { in parseStructInitializer()
4200 const FieldInfo &Field = Structure.Fields[FieldIndex++]; in parseStructInitializer()
4216 if (FieldIndex == Structure.Fields.size()) in parseStructInitializer()
4217 return Error(CommaLoc, "'" + Structure.Name + in parseStructInitializer()
4223 for (const FieldInfo &Field : llvm::drop_begin(Structure.Fields, FieldIndex)) in parseStructInitializer()
4237 const StructInfo &Structure, std::vector<StructInitializer> &Initializers, in parseStructInstList() argument
4260 parseStructInstList(Structure, DuplicatedValues) || parseRParen()) in parseStructInstList()
4267 if (parseStructInitializer(Structure, Initializers.back())) in parseStructInstList()
4303 for (const auto &SubField : Contents.Structure.Fields) { in emitFieldValue()
4360 if (emitStructInitializer(Contents.Structure, Init)) in emitFieldInitializer()
4366 if (emitStructInitializer(Contents.Structure, Init)) in emitFieldInitializer()
4388 bool MasmParser::emitStructInitializer(const StructInfo &Structure, in emitStructInitializer() argument
4390 if (!Structure.Initializable) in emitStructInitializer()
4392 "cannot initialize a value of type '" + Structure.Name + in emitStructInitializer()
4396 const auto &Field = Structure.Fields[Index++]; in emitStructInitializer()
4404 Structure.Fields, Initializer.FieldInitializers.size())) { in emitStructInitializer()
4411 if (Offset != Structure.Size) in emitStructInitializer()
4412 getStreamer().emitZeros(Structure.Size - Offset); in emitStructInitializer()
4417 bool MasmParser::emitStructValues(const StructInfo &Structure, in emitStructValues() argument
4420 if (parseStructInstList(Structure, Initializers)) in emitStructValues()
4424 if (emitStructInitializer(Structure, Initializer)) in emitStructValues()
4434 bool MasmParser::addStructField(StringRef Name, const StructInfo &Structure) { in addStructField() argument
4437 OwningStruct.addField(Name, FT_STRUCT, Structure.AlignmentSize); in addStructField()
4440 StructInfo.Structure = Structure; in addStructField()
4441 Field.Type = Structure.Size; in addStructField()
4443 if (parseStructInstList(Structure, StructInfo.Initializers)) in addStructField()
4461 bool MasmParser::parseDirectiveStructValue(const StructInfo &Structure, in parseDirectiveStructValue() argument
4464 if (emitStructValues(Structure)) in parseDirectiveStructValue()
4466 } else if (addStructField("", Structure)) { in parseDirectiveStructValue()
4475 bool MasmParser::parseDirectiveNamedStructValue(const StructInfo &Structure, in parseDirectiveNamedStructValue() argument
4483 if (emitStructValues(Structure, &Count)) in parseDirectiveNamedStructValue()
4486 Type.Name = Structure.Name; in parseDirectiveNamedStructValue()
4487 Type.Size = Structure.Size * Count; in parseDirectiveNamedStructValue()
4488 Type.ElementSize = Structure.Size; in parseDirectiveNamedStructValue()
4491 } else if (addStructField(Name, Structure)) { in parseDirectiveNamedStructValue()
4575 StructInfo Structure = StructInProgress.pop_back_val(); in parseDirectiveEnds() local
4578 Structure.Size = llvm::alignTo( in parseDirectiveEnds()
4579 Structure.Size, std::min(Structure.Alignment, Structure.AlignmentSize)); in parseDirectiveEnds()
4580 Structs[Name.lower()] = Structure; in parseDirectiveEnds()
4597 StructInfo Structure = StructInProgress.pop_back_val(); in parseDirectiveNestedEnds() local
4599 Structure.Size = llvm::alignTo(Structure.Size, Structure.Alignment); in parseDirectiveNestedEnds()
4602 if (Structure.Name.empty()) { in parseDirectiveNestedEnds()
4608 std::make_move_iterator(Structure.Fields.begin()), in parseDirectiveNestedEnds()
4609 std::make_move_iterator(Structure.Fields.end())); in parseDirectiveNestedEnds()
4610 for (const auto &FieldByName : Structure.FieldsByName) { in parseDirectiveNestedEnds()
4616 if (!Structure.Fields.empty() && !ParentStruct.IsUnion) { in parseDirectiveNestedEnds()
4619 std::min(ParentStruct.Alignment, Structure.AlignmentSize)); in parseDirectiveNestedEnds()
4623 ParentStruct.Size = std::max(ParentStruct.Size, Structure.Size); in parseDirectiveNestedEnds()
4628 const unsigned StructureEnd = FirstFieldOffset + Structure.Size; in parseDirectiveNestedEnds()
4635 FieldInfo &Field = ParentStruct.addField(Structure.Name, FT_STRUCT, in parseDirectiveNestedEnds()
4636 Structure.AlignmentSize); in parseDirectiveNestedEnds()
4638 Field.Type = Structure.Size; in parseDirectiveNestedEnds()
4640 Field.SizeOf = Structure.Size; in parseDirectiveNestedEnds()
4648 StructInfo.Structure = Structure; in parseDirectiveNestedEnds()
4651 for (const auto &SubField : Structure.Fields) { in parseDirectiveNestedEnds()
4677 StructInfo &Structure = StructInProgress.back(); in parseDirectiveOrg() local
4687 Structure.NextOffset = static_cast<unsigned>(OffsetRes); in parseDirectiveOrg()
4690 Structure.Initializable = false; in parseDirectiveOrg()
4718 StructInfo &Structure = StructInProgress.back(); in emitAlignTo() local
4719 Structure.NextOffset = llvm::alignTo(Structure.NextOffset, Alignment); in emitAlignTo()
7264 bool MasmParser::lookUpField(const StructInfo &Structure, StringRef Member, in lookUpField() argument
7267 Info.Type.Name = Structure.Name; in lookUpField()
7268 Info.Type.Size = Structure.Size; in lookUpField()
7269 Info.Type.ElementSize = Structure.Size; in lookUpField()
7281 auto FieldIt = Structure.FieldsByName.find(FieldName.lower()); in lookUpField()
7282 if (FieldIt == Structure.FieldsByName.end()) in lookUpField()
7285 const FieldInfo &Field = Structure.Fields[FieldIt->second]; in lookUpField()
7292 Info.Type.Name = Field.Contents.StructInfo.Structure.Name; in lookUpField()
7302 if (lookUpField(StructInfo.Structure, FieldMember, Info)) in lookUpField()
7330 const StructInfo &Structure = StructIt->second; in lookUpType() local
7332 Info.ElementSize = Structure.Size; in lookUpType()
7334 Info.Size = Structure.Size; in lookUpType()