From: Douglas Raillard <douglas.raillard@xxxxxxx> Add an --inner_anonymous pahole CLI option to make inner struct/enum/union anonymous. This allows turning this: struct foo { ... }; struct bar { struct foo { .... } a; }; into this: struct foo { ... }; struct bar { struct /* foo */ { .... } a; }; This avoids any conflict between the two definitions of struct foo. The case arises when dumping multiple types at once with -E, all depending on a same inner struct: struct bar { struct foo { .... } a; }; struct bar2 { struct foo { .... } b; }; On top of that, struct foo could already be defined in a public header already imported in the compilation unit, leading to a redefinition error, while another nested struct is private and would still need -E for the type to be usable. Douglas Raillard (2): fprintf: Allow making struct/enum/union anonymous pahole.c: Add --inner_anonymous option dwarves.h | 4 +++- dwarves_emit.c | 2 +- dwarves_fprintf.c | 52 ++++++++++++++++++++++++++++++----------------- pahole.c | 8 ++++++++ 4 files changed, 45 insertions(+), 21 deletions(-) -- 2.25.1