Lines Matching refs:Structure

173   StructInfo Structure;  member
178 Structure = S; in StructFieldInfo()
182 Structure = S; in StructFieldInfo()
232 struct StructInfo Structure) in FieldInitializer() argument
234 new (&StructInfo) StructFieldInfo(Initializers, Structure); in FieldInitializer()
612 bool lookUpField(const StructInfo &Structure, StringRef Member,
881 bool parseStructInitializer(const StructInfo &Structure,
884 const StructInfo &Structure, std::vector<StructInitializer> &Initializers,
904 bool emitStructInitializer(const StructInfo &Structure,
908 bool emitStructValues(const StructInfo &Structure, unsigned *Count = nullptr);
909 bool addStructField(StringRef Name, const StructInfo &Structure);
910 bool parseDirectiveStructValue(const StructInfo &Structure,
912 bool parseDirectiveNamedStructValue(const StructInfo &Structure,
4186 if (parseStructInstList(Contents.Structure, Initializers, in parseFieldInitializer()
4191 if (parseStructInstList(Contents.Structure, Initializers, in parseFieldInitializer()
4200 if (parseStructInitializer(Contents.Structure, Initializers.back())) in parseFieldInitializer()
4214 Initializer = FieldInitializer(std::move(Initializers), Contents.Structure); in parseFieldInitializer()
4231 bool MasmParser::parseStructInitializer(const StructInfo &Structure, in parseStructInitializer() argument
4255 FieldIndex < Structure.Fields.size()) { in parseStructInitializer()
4256 const FieldInfo &Field = Structure.Fields[FieldIndex++]; in parseStructInitializer()
4272 if (FieldIndex == Structure.Fields.size()) in parseStructInitializer()
4273 return Error(CommaLoc, "'" + Structure.Name + in parseStructInitializer()
4279 for (auto It = Structure.Fields.begin() + FieldIndex; in parseStructInitializer()
4280 It != Structure.Fields.end(); ++It) { in parseStructInitializer()
4296 const StructInfo &Structure, std::vector<StructInitializer> &Initializers, in parseStructInstList() argument
4319 parseStructInstList(Structure, DuplicatedValues) || in parseStructInstList()
4327 if (parseStructInitializer(Structure, Initializers.back())) in parseStructInstList()
4363 for (const auto &SubField : Contents.Structure.Fields) { in emitFieldValue()
4422 if (emitStructInitializer(Contents.Structure, Init)) in emitFieldInitializer()
4430 if (emitStructInitializer(Contents.Structure, Init)) in emitFieldInitializer()
4452 bool MasmParser::emitStructInitializer(const StructInfo &Structure, in emitStructInitializer() argument
4454 if (!Structure.Initializable) in emitStructInitializer()
4456 "cannot initialize a value of type '" + Structure.Name + in emitStructInitializer()
4460 const auto &Field = Structure.Fields[Index++]; in emitStructInitializer()
4468 Structure.Fields.begin() + Initializer.FieldInitializers.size(); in emitStructInitializer()
4469 It != Structure.Fields.end(); ++It) { in emitStructInitializer()
4477 if (Offset != Structure.Size) in emitStructInitializer()
4478 getStreamer().emitZeros(Structure.Size - Offset); in emitStructInitializer()
4483 bool MasmParser::emitStructValues(const StructInfo &Structure, in emitStructValues() argument
4486 if (parseStructInstList(Structure, Initializers)) in emitStructValues()
4490 if (emitStructInitializer(Structure, Initializer)) in emitStructValues()
4500 bool MasmParser::addStructField(StringRef Name, const StructInfo &Structure) { in addStructField() argument
4503 OwningStruct.addField(Name, FT_STRUCT, Structure.AlignmentSize); in addStructField()
4506 StructInfo.Structure = Structure; in addStructField()
4507 Field.Type = Structure.Size; in addStructField()
4509 if (parseStructInstList(Structure, StructInfo.Initializers)) in addStructField()
4527 bool MasmParser::parseDirectiveStructValue(const StructInfo &Structure, in parseDirectiveStructValue() argument
4530 if (emitStructValues(Structure)) in parseDirectiveStructValue()
4532 } else if (addStructField("", Structure)) { in parseDirectiveStructValue()
4541 bool MasmParser::parseDirectiveNamedStructValue(const StructInfo &Structure, in parseDirectiveNamedStructValue() argument
4549 if (emitStructValues(Structure, &Count)) in parseDirectiveNamedStructValue()
4552 Type.Name = Structure.Name; in parseDirectiveNamedStructValue()
4553 Type.Size = Structure.Size * Count; in parseDirectiveNamedStructValue()
4554 Type.ElementSize = Structure.Size; in parseDirectiveNamedStructValue()
4557 } else if (addStructField(Name, Structure)) { in parseDirectiveNamedStructValue()
4641 StructInfo Structure = StructInProgress.pop_back_val(); in parseDirectiveEnds() local
4644 Structure.Size = llvm::alignTo( in parseDirectiveEnds()
4645 Structure.Size, std::min(Structure.Alignment, Structure.AlignmentSize)); in parseDirectiveEnds()
4646 Structs[Name.lower()] = Structure; in parseDirectiveEnds()
4663 StructInfo Structure = StructInProgress.pop_back_val(); in parseDirectiveNestedEnds() local
4665 Structure.Size = llvm::alignTo(Structure.Size, Structure.Alignment); in parseDirectiveNestedEnds()
4668 if (Structure.Name.empty()) { in parseDirectiveNestedEnds()
4674 std::make_move_iterator(Structure.Fields.begin()), in parseDirectiveNestedEnds()
4675 std::make_move_iterator(Structure.Fields.end())); in parseDirectiveNestedEnds()
4676 for (const auto &FieldByName : Structure.FieldsByName) { in parseDirectiveNestedEnds()
4682 if (!Structure.Fields.empty() && !ParentStruct.IsUnion) { in parseDirectiveNestedEnds()
4685 std::min(ParentStruct.Alignment, Structure.AlignmentSize)); in parseDirectiveNestedEnds()
4689 ParentStruct.Size = std::max(ParentStruct.Size, Structure.Size); in parseDirectiveNestedEnds()
4696 const unsigned StructureEnd = FirstFieldOffset + Structure.Size; in parseDirectiveNestedEnds()
4703 FieldInfo &Field = ParentStruct.addField(Structure.Name, FT_STRUCT, in parseDirectiveNestedEnds()
4704 Structure.AlignmentSize); in parseDirectiveNestedEnds()
4706 Field.Type = Structure.Size; in parseDirectiveNestedEnds()
4708 Field.SizeOf = Structure.Size; in parseDirectiveNestedEnds()
4716 StructInfo.Structure = Structure; in parseDirectiveNestedEnds()
4719 for (const auto &SubField : Structure.Fields) { in parseDirectiveNestedEnds()
4745 StructInfo &Structure = StructInProgress.back(); in parseDirectiveOrg() local
4755 Structure.NextOffset = static_cast<unsigned>(OffsetRes); in parseDirectiveOrg()
4758 Structure.Initializable = false; in parseDirectiveOrg()
4784 StructInfo &Structure = StructInProgress.back(); in emitAlignTo() local
4785 Structure.NextOffset = llvm::alignTo(Structure.NextOffset, Alignment); in emitAlignTo()
7312 bool MasmParser::lookUpField(const StructInfo &Structure, StringRef Member, in lookUpField() argument
7315 Info.Type.Name = Structure.Name; in lookUpField()
7316 Info.Type.Size = Structure.Size; in lookUpField()
7317 Info.Type.ElementSize = Structure.Size; in lookUpField()
7329 auto FieldIt = Structure.FieldsByName.find(FieldName.lower()); in lookUpField()
7330 if (FieldIt == Structure.FieldsByName.end()) in lookUpField()
7333 const FieldInfo &Field = Structure.Fields[FieldIt->second]; in lookUpField()
7340 Info.Type.Name = Field.Contents.StructInfo.Structure.Name; in lookUpField()
7350 if (lookUpField(StructInfo.Structure, FieldMember, Info)) in lookUpField()
7378 const StructInfo &Structure = StructIt->second; in lookUpType() local
7380 Info.ElementSize = Structure.Size; in lookUpType()
7382 Info.Size = Structure.Size; in lookUpType()