search for: dw_tag_class_type

Displaying 20 results from an estimated 37 matches for "dw_tag_class_type".

2019 Jul 30
2
Invalid DW_AT_calling_convention generated for a DW_TAG_class_type
In llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp, the compiler can emit a DW_AT_calling_convention attribute with a DW_TAG_class_type (and it looks like a DW_TAG_variant_part, DW_TAG_structure_type or DW_TAG_union_type as well), but the DWARF 4 specification says that DW_AT_calling_convention is not a valid attribute for any of those three DWARF tags. Downstream object consumers that check to verify that a DWARF attr is appropri...
2019 Jul 30
2
Invalid DW_AT_calling_convention generated for a DW_TAG_class_type
...t have such a mode, and the DWARF specification does not require it. --paulr From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Snider, Todd via llvm-dev Sent: Tuesday, July 30, 2019 12:59 PM To: llvm-dev Subject: Re: [llvm-dev] Invalid DW_AT_calling_convention generated for a DW_TAG_class_type I see now that this is a DWARF 5 addition. It is still invalid for DWARF 4 or earlier. From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Snider, Todd via llvm-dev Sent: Tuesday, July 30, 2019 11:54 AM To: llvm-dev Subject: [EXTERNAL] [llvm-dev] Invalid DW_AT_calling_conventi...
2018 Jul 30
2
ThinLTO Bug ?
...ople’s help if it’s a real bug. I > > am quite new to this part of LLVM. > > > > 1. DICompositeType “SHARED” in a.ll is ODRed with the one in b.ll at load > > time. > > I know relatively little about LTO but I see that in a.ll, "SHARED" is > described as a DW_TAG_class_type while in b.ll it is DW_TAG_array_type. > This suggests that you have an ODR violation in your source code. > Hi Paul Thanks for pointing it out. I fixed this by making in b.ll and the same failure persists. !9 = !DICompositeType(tag: DW_TAG_class_type, file: !3, identifier: "SHARED&quot...
2010 Nov 07
3
[LLVMdev] Next round of DWARF issues/questions
...d like to describe them here and get some advice on what I might be doing wrong. #1) Class sizes coming out as zero. In my frontend, I call DebugFactory::CreateCompositeTypeEx as follows: DICompositeType di = dbgFactory_.CreateCompositeTypeEx( type->typeClass() == Type::Class ? dwarf::DW_TAG_class_type : dwarf::DW_TAG_structure_type, dbgCompileUnit_, type->typeDefn()->linkageName().c_str(), genDIFile(type->typeDefn()), getSourceLineNumber(type->typeDefn()->location()), getSizeOfInBits(type->irType()), getAlignOfInBits(type->irType()),...
2018 Jul 28
2
ThinLTO Bug ?
...!{!2} !0 = !{i32 2, !"Debug Info Version", i32 3} !1 = !{i32 1, !"ThinLTO", i32 0} !2 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !3, retainedTypes: !4) !3 = !DIFile(filename: "f2", directory: "") !4 = !{!5} !5 = !DICompositeType(tag: DW_TAG_class_type, file: !3, flags: DIFlagFwdDecl, identifier: "SHARED") !6 = distinct !DISubprogram(unit: !2) [~/thinltobug]$ cat b.ll target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" %struct.TA = type opaque @gv = exter...
2010 Nov 08
0
[LLVMdev] Next round of DWARF issues/questions
...t some advice on what I might be doing wrong. > > #1) Class sizes coming out as zero. > > In my frontend, I call DebugFactory::CreateCompositeTypeEx as follows: > > DICompositeType di = dbgFactory_.CreateCompositeTypeEx( > type->typeClass() == Type::Class ? dwarf::DW_TAG_class_type : dwarf::DW_TAG_structure_type, > dbgCompileUnit_, > type->typeDefn()->linkageName().c_str(), > genDIFile(type->typeDefn()), > getSourceLineNumber(type->typeDefn()->location()), > getSizeOfInBits(type->irType()), > getAlignOfIn...
2010 Nov 09
2
[LLVMdev] Next round of DWARF issues/questions
...get some advice on what I might be doing wrong. > > #1) Class sizes coming out as zero. > > In my frontend, I call DebugFactory::CreateCompositeTypeEx as follows: > > DICompositeType di = dbgFactory_.CreateCompositeTypeEx( > type->typeClass() == Type::Class ? dwarf::DW_TAG_class_type : > dwarf::DW_TAG_structure_type, > dbgCompileUnit_, > type->typeDefn()->linkageName().c_str(), > genDIFile(type->typeDefn()), > getSourceLineNumber(type->typeDefn()->location()), > getSizeOfInBits(type->irType()), > getAlig...
2010 Nov 09
0
[LLVMdev] Next round of DWARF issues/questions
...t be doing wrong. >> >> #1) Class sizes coming out as zero. >> >> In my frontend, I call DebugFactory::CreateCompositeTypeEx as follows: >> >> DICompositeType di = dbgFactory_.CreateCompositeTypeEx( >> type->typeClass() == Type::Class ? dwarf::DW_TAG_class_type : dwarf::DW_TAG_structure_type, >> dbgCompileUnit_, >> type->typeDefn()->linkageName().c_str(), >> genDIFile(type->typeDefn()), >> getSourceLineNumber(type->typeDefn()->location()), >> getSizeOfInBits(type->irType()), &gt...
2010 Nov 26
3
[LLVMdev] Next round of DWARF issues/questions
...ight be doing wrong. >> >> #1) Class sizes coming out as zero. >> >> In my frontend, I call DebugFactory::CreateCompositeTypeEx as follows: >> >> DICompositeType di = dbgFactory_.CreateCompositeTypeEx( >> type->typeClass() == Type::Class ? dwarf::DW_TAG_class_type : >> dwarf::DW_TAG_structure_type, >> dbgCompileUnit_, >> type->typeDefn()->linkageName().c_str(), >> genDIFile(type->typeDefn()), >> getSourceLineNumber(type->typeDefn()->location()), >> getSizeOfInBits(type->irTyp...
2017 Jan 06
2
Link Struct to Metadata
...formation? For example: %2 = getelementptr inbounds %"class.std::thread", %"class.std::thread"* %this, i64 0, i32 0, i32 0, !dbg !2748 then I know the pointer operand type is class.std::thread. I want to find the associated metadata of this type: !217 = !DICompositeType(tag: DW_TAG_class_type, name: "thread", scope: !34, file: !218, line: 60, size: 64, align: 64, elements: !219, identifier: "_ZTSSt6thread") The challenge is that the structure name is different in the IR instruction, from the one in the metadata. One is class.std::thread, while another is _ZTSSt6thr...
2015 Nov 13
2
[PATCH] D14358: DWARF's forward decl of a template should have template parameters.
..._name DW_FORM_strp "B" > +-00000047 DW_TAG_member "p" > -DW_AT_name DW_FORM_strp "p" > +-DW_AT_type DW_FORM_ref4 0x00000054 > +-00000054 DW_TAG_pointer_type > +-DW_AT_type DW_FORM_ref4 0x00000059 > +-00000059 DW_TAG_class_type "A<MONKEY>" > -DW_AT_name DW_FORM_strp "A<MONKEY>" > -DW_AT_declaration DW_FORM_flag_present > > +-00000073 DW_TAG_structure_type "C" > -DW_AT_name DW_FORM_strp "C" > +-0000007b DW_TAG_member &...
2010 Nov 26
0
[LLVMdev] Next round of DWARF issues/questions
...;> >>> #1) Class sizes coming out as zero. >>> >>> In my frontend, I call DebugFactory::CreateCompositeTypeEx as follows: >>> >>> DICompositeType di = dbgFactory_.CreateCompositeTypeEx( >>> type->typeClass() == Type::Class ? dwarf::DW_TAG_class_type : >>> dwarf::DW_TAG_structure_type, >>> dbgCompileUnit_, >>> type->typeDefn()->linkageName().c_str(), >>> genDIFile(type->typeDefn()), >>> getSourceLineNumber(type->typeDefn()->location()), >>> getSiz...
2015 Dec 09
2
[PATCH] D14358: DWARF's forward decl of a template should have template parameters.
..._name DW_FORM_strp "B" > +-00000047 DW_TAG_member "p" > -DW_AT_name DW_FORM_strp "p" > +-DW_AT_type DW_FORM_ref4 0x00000054 > +-00000054 DW_TAG_pointer_type > +-DW_AT_type DW_FORM_ref4 0x00000059 > +-00000059 DW_TAG_class_type "A<MONKEY>" > -DW_AT_name DW_FORM_strp "A<MONKEY>" > -DW_AT_declaration DW_FORM_flag_present > > +-00000073 DW_TAG_structure_type "C" > -DW_AT_name DW_FORM_strp "C" > +-0000007b DW_TAG_member &...
2015 Nov 18
3
RFC: Supporting all entities declared in lexical scope in LLVM debug info
...(= "foo") DW_AT_low_pc DW_AT_low_high (2) LexicalBlock DW_AT_low_pc DW_AT_low_high (3) DW_TAG_imported_module DW_AT_import (=> N) (3) DW_TAG_imported_declaration DW_AT_import (=> N::D) (3) DW_TAG_typedef DW_AT_name (= "A") DW_AT_type (=> int) (3) DW_TAG_class_type DW_AT_name (= "B") (4) DW_TAG_variable DW_AT_name (= "x") DW_AT_type (= int) (3) DW_TAG_variable DW_AT_name (= "y") DW_AT_type (=> B) DW_AT_location (3) DW_TAG_variable DW_AT_name (= "z") DW_AT_type (= A) DW_AT_location Case (b) - T...
2012 Oct 02
0
[LLVMdev] Wrong type qualifier for this pointer in case of ARM compiled binary
.... > Seems to be problem with qualifier type but was wondering how is this > target dependent? I think it's the gdb programs that are printing different things for the same DWARF debug information. Dumping the information from the x86 binary gives: <1><6b>: Abbrev Number: 6 (DW_TAG_class_type) <6c> DW_AT_name : (indirect string, offset: 0x3e): Simple <70> DW_AT_byte_size : 1 <71> DW_AT_decl_file : 1 <72> DW_AT_decl_line : 1 [...] <3><7f>: Abbrev Number: 8 (DW_TAG_formal_parameter) <80> DW_AT_type...
2012 Oct 01
2
[LLVMdev] Wrong type qualifier for this pointer in case of ARM compiled binary
Hi All, Was looking into a simple program - class Simple { public: void fun() {} }; int main() { Simple s; s.fun(); return 0; } When compiled using clang++ for ARM- Expected result when we run - print Simple::fun in GDB is void fun(Simple* const this) as this should be a const pointer but in case of arm compiled binary we get void fun(Simple* this). Works fine when compiled using
2018 Jun 15
2
[lldb-dev] Adding DWARF5 accelerator table support to llvm
...are unusual so it would > save the performance cost a lot of the time right there. > > I don't know enough about Obj-C to say whether it can know up front > there are potentially other methods elsewhere. Another way to do the objective C solution would be to have an attribute on a DW_TAG_class_type that could specify a list of DIEs that are not contained in the class definition that are required for the class. In Objective C, the DW_TAG_subprogram for methods are outside of the class itself. This would involve DWARF changes, but it could be an attribute that specifies a section offset into a...
2015 Dec 09
2
[PATCH] D14358: DWARF's forward decl of a template should have template parameters.
..._name DW_FORM_strp "B" > +-00000047 DW_TAG_member "p" > -DW_AT_name DW_FORM_strp "p" > +-DW_AT_type DW_FORM_ref4 0x00000054 > +-00000054 DW_TAG_pointer_type > +-DW_AT_type DW_FORM_ref4 0x00000059 > +-00000059 DW_TAG_class_type "A<MONKEY>" > -DW_AT_name DW_FORM_strp "A<MONKEY>" > -DW_AT_declaration DW_FORM_flag_present > > +-00000073 DW_TAG_structure_type "C" > -DW_AT_name DW_FORM_strp "C" > +-0000007b DW_TAG_member &...
2016 Jan 19
2
RFC: Supporting all entities declared in lexical scope in LLVM debug info
...> > > (3) DW_TAG_imported_module > > DW_AT_import (=> N) > > > > (3) DW_TAG_imported_declaration > > DW_AT_import (=> N::D) > > > > (3) DW_TAG_typedef > > DW_AT_name (= "A") > > DW_AT_type (=> int) > > > > (3) DW_TAG_class_type > > DW_AT_name (= "B") > > > > (4) DW_TAG_variable > > DW_AT_name (= "x") > > DW_AT_type (= int) > > > > (3) DW_TAG_variable > > DW_AT_name (= "y") > > DW_AT_type (=> B) > > DW_AT_location > > > &...
2020 Nov 17
1
[DebugInfo] Enabling constructor homing by default
...xperimenting I was also interested to see that for DWARF and constructor homing, we emit skeleton type definitions if functions have an inlined copy in the translation unit. For example in [0] where I've uploaded a couple of dexter tests for constructor homing, in partial-type/main.cpp we get: DW_TAG_class_type DW_AT_name ("foo") DW_AT_declaration (true) DW_TAG_subprogram DW_AT_linkage_name ("_ZNK3foo8asStringB5cxx11Ev") DW_AT_name ("asString") DW_AT_decl_file ("./theclass.h") DW_AT_decl_line (12) DW_AT_type...