http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56563
Bug #: 56563 Summary: no debuginfo for "explicit" operator Classification: Unclassified Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug AssignedTo: unassig...@gcc.gnu.org ReportedBy: tro...@gcc.gnu.org Consider this: struct q { explicit operator int(); }; q::operator int() { return 23; } compile with -g and examine the debuginfo with readelf. There is no mention of the "explicit": <2><37>: Abbrev Number: 3 (DW_TAG_subprogram) <38> DW_AT_external : 1 <38> DW_AT_name : (indirect string, offset: 0x0): operator int <3c> DW_AT_decl_file : 1 <3d> DW_AT_decl_line : 2 <3e> DW_AT_linkage_name: (indirect string, offset: 0x12): _ZN1qcviEv <42> DW_AT_type : <0x51> <46> DW_AT_declaration : 1 <46> DW_AT_object_pointer: <0x4a> [...] <1><5e>: Abbrev Number: 7 (DW_TAG_subprogram) <5f> DW_AT_specification: <0x37> <63> DW_AT_decl_line : 5 <64> DW_AT_low_pc : 0x0 <6c> DW_AT_high_pc : 0xf 0x0 <74> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa) <76> DW_AT_object_pointer: <0x7e> <7a> DW_AT_GNU_all_call_sites: 1 <7a> DW_AT_sibling : <0x8b> This prevents gdb from properly implementing this part of c++ expressions.