Hi,

TotalView has a customer that has C++ code that produces the following DWARF with the Intel 12.1 compiler:

 <0><1192a2>: Abbrev Number: 1 (DW_TAG_compile_unit)
     DW_AT_comp_dir    : ...SNIPPED...
     DW_AT_language    : 4    (C++)
     DW_AT_name        :
...SNIPPED...
     DW_AT_producer    : Intel(R) C++ Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 12.1 Build 20110811
 Fixes SameLinkageName MemberPointers
   
     DW_AT_stmt_list   : 0x5d20   
 <1><119376>: Abbrev Number: 2 (DW_TAG_namespace)
     DW_AT_name        : std   
...SNIPPED...
 <2><268209>: Abbrev Number: 37 (DW_TAG_lexical_block)
     DW_AT_decl_line   : 1301   
     DW_AT_decl_column : 79   
     DW_AT_decl_file   : 1   
     DW_AT_low_pc      : 0xb02a1   
     DW_AT_high_pc     : 0xb02d4   
 <3><26821e>: Abbrev Number: 38 (DW_TAG_lexical_block)
     DW_AT_decl_line   : 1351   
     DW_AT_decl_column : 31   
     DW_AT_decl_file   : 1   
     DW_AT_low_pc      : 0xb03a7   
     DW_AT_high_pc     : 0xb03f7   
<2><268234>: Abbrev Number: 16 (DW_TAG_inlined_subroutine)
...SNIPPED...


Notice:
  1. The lexical block at <268209> is at "std" namespace scope. What does it mean to have a lexical block at namespace scope? Note that that lexical block contains only another lexical block at <26821e>; no subroutines or variables.
  2. The lexical block at <26821e> has an address range that is not nested inside its containing lexical block's address range. Is that legal, and if so, what does that mean? Note that that lexical block contains nothing else; no subroutines, blocks, or variables.
Thanks, John D.

_______________________________________________
Dwarf-Discuss mailing list
Dwarf-Discuss@lists.dwarfstd.org
http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org

Reply via email to