Skip to content
  • Manman Ren's avatar
    Debug Info: In DIBuilder, the derived-from field of a DW_TAG_pointer_type · b3388601
    Manman Ren authored
    is updated to use DITypeRef.
    
    Move isUnsignedDIType and getOriginalTypeSize from DebugInfo.h to be static
    helper functions in DwarfCompileUnit. We already have a static helper function
    "isTypeSigned" in DwarfCompileUnit, and a pointer to DwarfDebug is added to
    resolve the derived-from field. All three functions need to go across link
    for derived-from fields, so we need to get hold of a type identifier map.
    
    A pointer to DwarfDebug is also added to DbgVariable in order to resolve the
    derived-from field.
    
    Debug info verifier is updated to check a derived-from field is a TypeRef.
    Verifier will not go across link for derived-from fields, in debug info finder,
    we go across the link to add derived-from fields to types.
    
    Function getDICompositeType is only used by dragonegg and since dragonegg does
    not generate identifier for types, we use an empty map to resolve the
    derived-from field.
    
    When printing a derived-from field, we use DITypeRef::getName to either return
    the type identifier or getName of the DIType.
    
    A paired commit at clang is required due to changes to DIBuilder.
    
    llvm-svn: 192018
    b3388601
Loading