// { dg-options "-gdwarf-2 -dA" } // { dg-final { scan-assembler "DW_TAG_structure_type\[^\\r\\n\]*\[\\r\\n\]+\[^\\r\\n\]*\"S\[^\\r\\n\]*DW_AT_name" } } // { dg-final { scan-assembler "DW_TAG_typedef\[^\\r\\n\]*\[\\r\\n\]+\[^\\r\\n\]*\"T\[^\\r\\n\]*DW_AT_name" } }
typedef struct S { int i; } *T; #define M(p) ((T) (p)) void foo (void *p) { M (p)->i++; } used to work in 3.2 (the T typedef has been emitted into debug info), but doesn't work in 4.3/4.4/4.5. -- Summary: [4.3/4.4/4.5 Regression] Used pointer typedefs eliminated from debug info Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jakub at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43190