• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/CodeGen/AsmPrinter/

Lines Matching refs:dwarf

9 // This file contains support for constructing a dwarf compile unit.
54 CU.addUInt(getActiveDIE(), dwarf::DW_FORM_data1, Op);
58 CU.addSInt(getActiveDIE(), dwarf::DW_FORM_sdata, Value);
62 CU.addUInt(getActiveDIE(), dwarf::DW_FORM_udata, Value);
66 CU.addUInt(getActiveDIE(), dwarf::DW_FORM_data1, Value);
91 DwarfUnit::DwarfUnit(dwarf::Tag UnitTag, const DICompileUnit *Node,
100 : DwarfUnit(dwarf::DW_TAG_type_unit, CU.getCUNode(), A, DW, DWU), CU(CU),
117 case dwarf::DW_LANG_C:
118 case dwarf::DW_LANG_C89:
119 case dwarf::DW_LANG_C_plus_plus:
122 case dwarf::DW_LANG_Fortran77:
123 case dwarf::DW_LANG_Fortran90:
127 case dwarf::DW_LANG_C99:
128 case dwarf::DW_LANG_ObjC:
129 case dwarf::DW_LANG_ObjC_plus_plus:
134 case dwarf::DW_LANG_Fortran95:
140 case dwarf::DW_LANG_D:
141 case dwarf::DW_LANG_Java:
142 case dwarf::DW_LANG_Python:
143 case dwarf::DW_LANG_UPC:
148 case dwarf::DW_LANG_Ada83:
149 case dwarf::DW_LANG_Ada95:
150 case dwarf::DW_LANG_Cobol74:
151 case dwarf::DW_LANG_Cobol85:
152 case dwarf::DW_LANG_Modula2:
153 case dwarf::DW_LANG_Pascal83:
154 case dwarf::DW_LANG_PLI:
160 case dwarf::DW_LANG_BLISS:
161 case dwarf::DW_LANG_C11:
162 case dwarf::DW_LANG_C_plus_plus_03:
163 case dwarf::DW_LANG_C_plus_plus_11:
164 case dwarf::DW_LANG_C_plus_plus_14:
165 case dwarf::DW_LANG_Dylan:
166 case dwarf::DW_LANG_Go:
167 case dwarf::DW_LANG_Haskell:
168 case dwarf::DW_LANG_OCaml:
169 case dwarf::DW_LANG_OpenCL:
170 case dwarf::DW_LANG_RenderScript:
171 case dwarf::DW_LANG_Rust:
172 case dwarf::DW_LANG_Swift:
177 case dwarf::DW_LANG_Fortran03:
178 case dwarf::DW_LANG_Fortran08:
179 case dwarf::DW_LANG_Julia:
180 case dwarf::DW_LANG_Modula3:
222 void DwarfUnit::addFlag(DIE &Die, dwarf::Attribute Attribute) {
224 Die.addValue(DIEValueAllocator, Attribute, dwarf::DW_FORM_flag_present,
227 Die.addValue(DIEValueAllocator, Attribute, dwarf::DW_FORM_flag,
231 void DwarfUnit::addUInt(DIEValueList &Die, dwarf::Attribute Attribute,
232 Optional<dwarf::Form> Form, uint64_t Integer) {
235 assert(Form != dwarf::DW_FORM_implicit_const &&
240 void DwarfUnit::addUInt(DIEValueList &Block, dwarf::Form Form,
242 addUInt(Block, (dwarf::Attribute)0, Form, Integer);
245 void DwarfUnit::addSInt(DIEValueList &Die, dwarf::Attribute Attribute,
246 Optional<dwarf::Form> Form, int64_t Integer) {
252 void DwarfUnit::addSInt(DIELoc &Die, Optional<dwarf::Form> Form,
254 addSInt(Die, (dwarf::Attribute)0, Form, Integer);
257 void DwarfUnit::addString(DIE &Die, dwarf::Attribute Attribute,
263 Die.addValue(DIEValueAllocator, Attribute, dwarf::DW_FORM_string,
268 dwarf::Form IxForm =
269 isDwoUnit() ? dwarf::DW_FORM_GNU_str_index : dwarf::DW_FORM_strp;
272 useSegmentedStringOffsetsTable() || IxForm == dwarf::DW_FORM_GNU_str_index
278 IxForm = dwarf::DW_FORM_strx1;
281 IxForm = dwarf::DW_FORM_strx4;
283 IxForm = dwarf::DW_FORM_strx3;
285 IxForm = dwarf::DW_FORM_strx2;
292 dwarf::Attribute Attribute,
293 dwarf::Form Form,
298 void DwarfUnit::addLabel(DIELoc &Die, dwarf::Form Form, const MCSymbol *Label) {
299 addLabel(Die, (dwarf::Attribute)0, Form, Label);
302 void DwarfUnit::addSectionOffset(DIE &Die, dwarf::Attribute Attribute,
305 addUInt(Die, Attribute, dwarf::DW_FORM_sec_offset, Integer);
307 addUInt(Die, Attribute, dwarf::DW_FORM_data4, Integer);
333 addSectionOffset(getUnitDie(), dwarf::DW_AT_stmt_list, 0);
343 addUInt(Die, dwarf::DW_FORM_data1, dwarf::DW_OP_addrx);
344 addUInt(Die, dwarf::DW_FORM_addrx, DD->getAddressPool().getIndex(Sym));
349 addUInt(Die, dwarf::DW_FORM_data1, dwarf::DW_OP_GNU_addr_index);
350 addUInt(Die, dwarf::DW_FORM_GNU_addr_index,
355 addUInt(Die, dwarf::DW_FORM_data1, dwarf::DW_OP_addr);
356 addLabel(Die, dwarf::DW_FORM_udata, Sym);
359 void DwarfUnit::addLabelDelta(DIE &Die, dwarf::Attribute Attribute,
361 Die.addValue(DIEValueAllocator, Attribute, dwarf::DW_FORM_data4,
365 void DwarfUnit::addDIEEntry(DIE &Die, dwarf::Attribute Attribute, DIE &Entry) {
374 addFlag(Die, dwarf::DW_AT_declaration);
376 Die.addValue(DIEValueAllocator, dwarf::DW_AT_signature,
377 dwarf::DW_FORM_ref_sig8, DIEInteger(Signature));
380 void DwarfUnit::addDIEEntry(DIE &Die, dwarf::Attribute Attribute,
390 EntryCU == CU ? dwarf::DW_FORM_ref4 : dwarf::DW_FORM_ref_addr,
395 DIE &Die = Parent.addChild(DIE::get(DIEValueAllocator, (dwarf::Tag)Tag));
401 void DwarfUnit::addBlock(DIE &Die, dwarf::Attribute Attribute, DIELoc *Loc) {
408 void DwarfUnit::addBlock(DIE &Die, dwarf::Attribute Attribute,
420 addUInt(Die, dwarf::DW_AT_decl_file, None, FileID);
421 addUInt(Die, dwarf::DW_AT_decl_line, None, Line);
465 if (CTy->getTag() == dwarf::DW_TAG_enumeration_type)
474 dwarf::Tag T = (dwarf::Tag)Ty->getTag();
480 if (T == dwarf::DW_TAG_pointer_type ||
481 T == dwarf::DW_TAG_ptr_to_member_type ||
482 T == dwarf::DW_TAG_reference_type ||
483 T == dwarf::DW_TAG_rvalue_reference_type)
485 assert(T == dwarf::DW_TAG_typedef || T == dwarf::DW_TAG_const_type ||
486 T == dwarf::DW_TAG_volatile_type ||
487 T == dwarf::DW_TAG_restrict_type || T == dwarf::DW_TAG_atomic_type);
494 assert((Encoding == dwarf::DW_ATE_unsigned ||
495 Encoding == dwarf::DW_ATE_unsigned_char ||
496 Encoding == dwarf::DW_ATE_signed ||
497 Encoding == dwarf::DW_ATE_signed_char ||
498 Encoding == dwarf::DW_ATE_float || Encoding == dwarf::DW_ATE_UTF ||
499 Encoding == dwarf::DW_ATE_boolean ||
500 (Ty->getTag() == dwarf::DW_TAG_unspecified_type &&
503 return Encoding == dwarf::DW_ATE_unsigned ||
504 Encoding == dwarf::DW_ATE_unsigned_char ||
505 Encoding == dwarf::DW_ATE_UTF || Encoding == dwarf::DW_ATE_boolean ||
506 Ty->getTag() == dwarf::DW_TAG_unspecified_type;
526 addUInt(*Block, dwarf::DW_FORM_data1, (unsigned char)0xFF & FltPtr[Start]);
528 addBlock(Die, dwarf::DW_AT_const_value, Block);
555 addUInt(Die, dwarf::DW_AT_const_value,
556 Unsigned ? dwarf::DW_FORM_udata : dwarf::DW_FORM_sdata, Val);
586 addUInt(*Block, dwarf::DW_FORM_data1, c);
589 addBlock(Die, dwarf::DW_AT_const_value, Block);
595 DD->getDwarfVersion() >= 4 ? dwarf::DW_AT_linkage_name
596 : dwarf::DW_AT_MIPS_linkage_name,
613 DIE &TT = createAndAddDIE(dwarf::DW_TAG_thrown_type, Die);
686 if (Ty->getTag() == dwarf::DW_TAG_restrict_type && DD->getDwarfVersion() <= 2)
690 if (Ty->getTag() == dwarf::DW_TAG_atomic_type && DD->getDwarfVersion() < 5)
715 unsigned Flags = IsImplementation ? dwarf::DW_FLAG_type_implementation : 0;
725 dwarf::Attribute Attribute) {
735 if (!dwarf::isCPlusPlus((dwarf::SourceLanguage)getLanguage()))
769 addString(Buffer, dwarf::DW_AT_name, Name);
772 if (BTy->getTag() == dwarf::DW_TAG_unspecified_type)
775 addUInt(Buffer, dwarf::DW_AT_encoding, dwarf::DW_FORM_data1,
779 addUInt(Buffer, dwarf::DW_AT_byte_size, None, Size);
782 addUInt(Buffer, dwarf::DW_AT_endianity, None, dwarf::DW_END_big);
784 addUInt(Buffer, dwarf::DW_AT_endianity, None, dwarf::DW_END_little);
800 addString(Buffer, dwarf::DW_AT_name, Name);
804 if (Tag == dwarf::DW_TAG_typedef && DD->getDwarfVersion() >= 5) {
807 addUInt(Buffer, dwarf::DW_AT_alignment, dwarf::DW_FORM_udata,
812 if (Size && Tag != dwarf::DW_TAG_pointer_type
813 && Tag != dwarf::DW_TAG_ptr_to_member_type
814 && Tag != dwarf::DW_TAG_reference_type
815 && Tag != dwarf::DW_TAG_rvalue_reference_type)
816 addUInt(Buffer, dwarf::DW_AT_byte_size, None, Size);
818 if (Tag == dwarf::DW_TAG_ptr_to_member_type)
819 addDIEEntry(Buffer, dwarf::DW_AT_containing_type,
829 addUInt(Buffer, dwarf::DW_AT_address_class, dwarf::DW_FORM_data4,
838 createAndAddDIE(dwarf::DW_TAG_unspecified_parameters, Buffer);
840 DIE &Arg = createAndAddDIE(dwarf::DW_TAG_formal_parameter, Buffer);
843 addFlag(Arg, dwarf::DW_AT_artificial);
865 (Language == dwarf::DW_LANG_C89 || Language == dwarf::DW_LANG_C99 ||
866 Language == dwarf::DW_LANG_ObjC))
867 addFlag(Buffer, dwarf::DW_AT_prototyped);
870 if (CTy->getCC() && CTy->getCC() != dwarf::DW_CC_normal)
871 addUInt(Buffer, dwarf::DW_AT_calling_convention, dwarf::DW_FORM_data1,
875 addFlag(Buffer, dwarf::DW_AT_reference);
878 addFlag(Buffer, dwarf::DW_AT_rvalue_reference);
889 case dwarf::DW_TAG_array_type:
892 case dwarf::DW_TAG_enumeration_type:
895 case dwarf::DW_TAG_variant_part:
896 case dwarf::DW_TAG_structure_type:
897 case dwarf::DW_TAG_union_type:
898 case dwarf::DW_TAG_class_type: {
901 if (Tag == dwarf::DW_TAG_variant_part) {
909 addDIEEntry(Buffer, dwarf::DW_AT_discr, DiscMember);
921 if (DDTy->getTag() == dwarf::DW_TAG_friend) {
922 DIE &ElemDie = createAndAddDIE(dwarf::DW_TAG_friend, Buffer);
923 addType(ElemDie, DDTy->getBaseType(), dwarf::DW_AT_friend);
926 } else if (Tag == dwarf::DW_TAG_variant_part) {
929 DIE &Variant = createAndAddDIE(dwarf::DW_TAG_variant, Buffer);
933 addUInt(Variant, dwarf::DW_AT_discr_value, None, CI->getZExtValue());
935 addSInt(Variant, dwarf::DW_AT_discr_value, None, CI->getSExtValue());
944 addString(ElemDie, dwarf::DW_AT_APPLE_property_name, PropertyName);
950 addString(ElemDie, dwarf::DW_AT_APPLE_property_getter, GetterName);
953 addString(ElemDie, dwarf::DW_AT_APPLE_property_setter, SetterName);
955 addUInt(ElemDie, dwarf::DW_AT_APPLE_property_attribute, None,
958 if (Composite->getTag() == dwarf::DW_TAG_variant_part) {
966 addFlag(Buffer, dwarf::DW_AT_APPLE_block);
969 addFlag(Buffer, dwarf::DW_AT_export_symbols);
976 addDIEEntry(Buffer, dwarf::DW_AT_containing_type,
980 addFlag(Buffer, dwarf::DW_AT_APPLE_objc_complete_type);
984 if (Tag == dwarf::DW_TAG_class_type ||
985 Tag == dwarf::DW_TAG_structure_type || Tag == dwarf::DW_TAG_union_type)
991 CC = dwarf::DW_CC_pass_by_value;
993 CC = dwarf::DW_CC_pass_by_reference;
995 addUInt(Buffer, dwarf::DW_AT_calling_convention, dwarf::DW_FORM_data1,
1005 addString(Buffer, dwarf::DW_AT_name, Name);
1007 if (Tag == dwarf::DW_TAG_enumeration_type ||
1008 Tag == dwarf::DW_TAG_class_type || Tag == dwarf::DW_TAG_structure_type ||
1009 Tag == dwarf::DW_TAG_union_type) {
1013 addUInt(Buffer, dwarf::DW_AT_byte_size, None, Size);
1016 addUInt(Buffer, dwarf::DW_AT_byte_size, None, 0);
1020 addFlag(Buffer, dwarf::DW_AT_declaration);
1029 addUInt(Buffer, dwarf::DW_AT_APPLE_runtime_class, dwarf::DW_FORM_data1,
1034 addUInt(Buffer, dwarf::DW_AT_alignment, dwarf::DW_FORM_udata,
1042 createAndAddDIE(dwarf::DW_TAG_template_type_parameter, Buffer);
1047 addString(ParamDIE, dwarf::DW_AT_name, TP->getName());
1049 addFlag(ParamDIE, dwarf::DW_AT_default_value);
1058 if (VP->getTag() == dwarf::DW_TAG_template_value_parameter)
1061 addString(ParamDIE, dwarf::DW_AT_name, VP->getName());
1063 addFlag(ParamDIE, dwarf::DW_AT_default_value);
1077 addUInt(*Loc, dwarf::DW_FORM_data1, dwarf::DW_OP_stack_value);
1078 addBlock(ParamDIE, dwarf::DW_AT_location, Loc);
1080 } else if (VP->getTag() == dwarf::DW_TAG_GNU_template_template_param) {
1082 addString(ParamDIE, dwarf::DW_AT_GNU_template_name,
1084 } else if (VP->getTag() == dwarf::DW_TAG_GNU_template_parameter_pack) {
1097 DIE &NDie = createAndAddDIE(dwarf::DW_TAG_namespace, *ContextDIE, NS);
1101 addString(NDie, dwarf::DW_AT_name, NS->getName());
1107 addFlag(NDie, dwarf::DW_AT_export_symbols);
1118 DIE &MDie = createAndAddDIE(dwarf::DW_TAG_module, *ContextDIE, M);
1121 addString(MDie, dwarf::DW_AT_name, M->getName());
1125 addString(MDie, dwarf::DW_AT_LLVM_config_macros,
1128 addString(MDie, dwarf::DW_AT_LLVM_include_path, M->getIncludePath());
1130 addString(MDie, dwarf::DW_AT_LLVM_apinotes, M->getAPINotesFile());
1132 addUInt(MDie, dwarf::DW_AT_decl_file, None,
1135 addUInt(MDie, dwarf::DW_AT_decl_line, None, M->getLineNo());
1160 DIE &SPDie = createAndAddDIE(dwarf::DW_TAG_subprogram, *ContextDIE, SP);
1195 addUInt(SPDie, dwarf::DW_AT_decl_file, None, DefID);
1198 addUInt(SPDie, dwarf::DW_AT_decl_line, None, SP->getLine());
1219 addDIEEntry(SPDie, dwarf::DW_AT_specification, *DeclDie);
1235 addString(SPDie, dwarf::DW_AT_name, SP->getName());
1248 (Language == dwarf::DW_LANG_C89 || Language == dwarf::DW_LANG_C99 ||
1249 Language == dwarf::DW_LANG_ObjC))
1250 addFlag(SPDie, dwarf::DW_AT_prototyped);
1253 addFlag(SPDie, dwarf::DW_AT_APPLE_objc_direct);
1263 if (CC && CC != dwarf::DW_CC_normal)
1264 addUInt(SPDie, dwarf::DW_AT_calling_convention, dwarf::DW_FORM_data1, CC);
1274 addUInt(SPDie, dwarf::DW_AT_virtuality, dwarf::DW_FORM_data1, VK);
1277 addUInt(*Block, dwarf::DW_FORM_data1, dwarf::DW_OP_constu);
1278 addUInt(*Block, dwarf::DW_FORM_udata, SP->getVirtualIndex());
1279 addBlock(SPDie, dwarf::DW_AT_vtable_elem_location, Block);
1285 addFlag(SPDie, dwarf::DW_AT_declaration);
1295 addFlag(SPDie, dwarf::DW_AT_artificial);
1298 addFlag(SPDie, dwarf::DW_AT_external);
1302 addFlag(SPDie, dwarf::DW_AT_APPLE_optimized);
1305 addUInt(SPDie, dwarf::DW_AT_APPLE_isa, dwarf::DW_FORM_flag, isa);
1309 addFlag(SPDie, dwarf::DW_AT_reference);
1312 addFlag(SPDie, dwarf::DW_AT_rvalue_reference);
1315 addFlag(SPDie, dwarf::DW_AT_noreturn);
1318 addUInt(SPDie, dwarf::DW_AT_accessibility, dwarf::DW_FORM_data1,
1319 dwarf::DW_ACCESS_protected);
1321 addUInt(SPDie, dwarf::DW_AT_accessibility, dwarf::DW_FORM_data1,
1322 dwarf::DW_ACCESS_private);
1324 addUInt(SPDie, dwarf::DW_AT_accessibility, dwarf::DW_FORM_data1,
1325 dwarf::DW_ACCESS_public);
1328 addFlag(SPDie, dwarf::DW_AT_explicit);
1331 addFlag(SPDie, dwarf::DW_AT_main_subprogram);
1333 addFlag(SPDie, dwarf::DW_AT_pure);
1335 addFlag(SPDie, dwarf::DW_AT_elemental);
1337 addFlag(SPDie, dwarf::DW_AT_recursive);
1340 addFlag(SPDie, dwarf::DW_AT_deleted);
1345 DIE &DW_Subrange = createAndAddDIE(dwarf::DW_TAG_subrange_type, Buffer);
1346 addDIEEntry(DW_Subrange, dwarf::DW_AT_type, *IndexTy);
1357 auto addBoundTypeEntry = [&](dwarf::Attribute Attr,
1369 if (Attr != dwarf::DW_AT_lower_bound || DefaultLowerBound == -1 ||
1371 addSInt(DW_Subrange, Attr, dwarf::DW_FORM_sdata, BI->getSExtValue());
1375 addBoundTypeEntry(dwarf::DW_AT_lower_bound, SR->getLowerBound());
1379 addDIEEntry(DW_Subrange, dwarf::DW_AT_count, *CountVarDIE);
1381 addUInt(DW_Subrange, dwarf::DW_AT_count, None, Count);
1383 addBoundTypeEntry(dwarf::DW_AT_upper_bound, SR->getUpperBound());
1385 addBoundTypeEntry(dwarf::DW_AT_byte_stride, SR->getStride());
1392 IndexTyDie = &createAndAddDIE(dwarf::DW_TAG_base_type, getUnitDie());
1394 addString(*IndexTyDie, dwarf::DW_AT_name, Name);
1395 addUInt(*IndexTyDie, dwarf::DW_AT_byte_size, None, sizeof(int64_t));
1396 addUInt(*IndexTyDie, dwarf::DW_AT_encoding, dwarf::DW_FORM_data1,
1397 dwarf::DW_ATE_unsigned);
1417 Elements[0]->getTag() == dwarf::DW_TAG_subrange_type &&
1433 addFlag(Buffer, dwarf::DW_AT_GNU_vector);
1435 addUInt(Buffer, dwarf::DW_AT_byte_size, None,
1441 addDIEEntry(Buffer, dwarf::DW_AT_data_location, *VarDIE);
1447 addBlock(Buffer, dwarf::DW_AT_data_location, DwarfExpr.finalize());
1463 if (Element->getTag() == dwarf::DW_TAG_subrange_type)
1475 addFlag(Buffer, dwarf::DW_AT_enum_class);
1487 DIE &Enumerator = createAndAddDIE(dwarf::DW_TAG_enumerator, Buffer);
1489 addString(Enumerator, dwarf::DW_AT_name, Name);
1507 addDIEEntry(SPDie, dwarf::DW_AT_containing_type, *NDie);
1515 addString(MemberDie, dwarf::DW_AT_name, Name);
1522 if (DT->getTag() == dwarf::DW_TAG_inheritance && DT->isVirtual()) {
1529 addUInt(*VBaseLocationDie, dwarf::DW_FORM_data1, dwarf::DW_OP_dup);
1530 addUInt(*VBaseLocationDie, dwarf::DW_FORM_data1, dwarf::DW_OP_deref);
1531 addUInt(*VBaseLocationDie, dwarf::DW_FORM_data1, dwarf::DW_OP_constu);
1532 addUInt(*VBaseLocationDie, dwarf::DW_FORM_udata, DT->getOffsetInBits());
1533 addUInt(*VBaseLocationDie, dwarf::DW_FORM_data1, dwarf::DW_OP_minus);
1534 addUInt(*VBaseLocationDie, dwarf::DW_FORM_data1, dwarf::DW_OP_deref);
1535 addUInt(*VBaseLocationDie, dwarf::DW_FORM_data1, dwarf::DW_OP_plus);
1537 addBlock(MemberDie, dwarf::DW_AT_data_member_location, VBaseLocationDie);
1548 addUInt(MemberDie, dwarf::DW_AT_byte_size, None, FieldSize/8);
1549 addUInt(MemberDie, dwarf::DW_AT_bit_size, None, Size);
1571 addUInt(MemberDie, dwarf::DW_AT_bit_offset, None, Offset);
1574 addUInt(MemberDie, dwarf::DW_AT_data_bit_offset, None, Offset);
1580 addUInt(MemberDie, dwarf::DW_AT_alignment, dwarf::DW_FORM_udata,
1586 addUInt(*MemLocationDie, dwarf::DW_FORM_data1, dwarf::DW_OP_plus_uconst);
1587 addUInt(*MemLocationDie, dwarf::DW_FORM_udata, OffsetInBytes);
1588 addBlock(MemberDie, dwarf::DW_AT_data_member_location, MemLocationDie);
1590 addUInt(MemberDie, dwarf::DW_AT_data_member_location, None,
1595 addUInt(MemberDie, dwarf::DW_AT_accessibility, dwarf::DW_FORM_data1,
1596 dwarf::DW_ACCESS_protected);
1598 addUInt(MemberDie, dwarf::DW_AT_accessibility, dwarf::DW_FORM_data1,
1599 dwarf::DW_ACCESS_private);
1602 addUInt(MemberDie, dwarf::DW_AT_accessibility, dwarf::DW_FORM_data1,
1603 dwarf::DW_ACCESS_public);
1605 addUInt(MemberDie, dwarf::DW_AT_virtuality, dwarf::DW_FORM_data1,
1606 dwarf::DW_VIRTUALITY_virtual);
1611 MemberDie.addValue(DIEValueAllocator, dwarf::DW_AT_APPLE_property,
1612 dwarf::DW_FORM_ref4, DIEEntry(*PDie));
1615 addFlag(MemberDie, dwarf::DW_AT_artificial);
1627 assert(dwarf::isType(ContextDIE->getTag()) &&
1637 addString(StaticMemberDIE, dwarf::DW_AT_name, DT->getName());
1640 addFlag(StaticMemberDIE, dwarf::DW_AT_external);
1641 addFlag(StaticMemberDIE, dwarf::DW_AT_declaration);
1646 addUInt(StaticMemberDIE, dwarf::DW_AT_accessibility, dwarf::DW_FORM_data1,
1647 dwarf::DW_ACCESS_protected);
1649 addUInt(StaticMemberDIE, dwarf::DW_AT_accessibility, dwarf::DW_FORM_data1,
1650 dwarf::DW_ACCESS_private);
1652 addUInt(StaticMemberDIE, dwarf::DW_AT_accessibility, dwarf::DW_FORM_data1,
1653 dwarf::DW_ACCESS_public);
1661 addUInt(StaticMemberDIE, dwarf::DW_AT_alignment, dwarf::DW_FORM_udata,
1667 void DwarfUnit::emitCommonHeader(bool UseOffsets, dwarf::UnitType UT) {
1710 DD->useSplitDwarf() ? dwarf::DW_UT_split_type
1711 : dwarf::DW_UT_type);
1721 DwarfUnit::addSectionDelta(DIE &Die, dwarf::Attribute Attribute,
1724 DD->getDwarfVersion() >= 4 ? dwarf::DW_FORM_sec_offset
1725 : dwarf::DW_FORM_data4,
1730 DwarfUnit::addSectionLabel(DIE &Die, dwarf::Attribute Attribute,
1734 DD->getDwarfVersion() >= 4 ? dwarf::DW_FORM_sec_offset
1735 : dwarf::DW_FORM_data4,
1766 addSectionLabel(getUnitDie(), dwarf::DW_AT_str_offsets_base,
1775 addSectionLabel(getUnitDie(), dwarf::DW_AT_rnglists_base,
1781 addFlag(D, dwarf::DW_AT_declaration);
1784 addString(D, dwarf::DW_AT_name, Name);