"Jean-Noël Avila via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > +inline void die_for_incompatible_opt3(int opt1, const char *opt1_name, > + int opt2, const char *opt2_name, > + int opt3, const char *opt3_name) > +{ > + die_for_incompatible_opt4(opt1, opt1_name, > + opt2, opt2_name, > + opt3, opt3_name, > + 0, ""); > +} I haven't seen a non-static inline function defined in a common header files. Does this actually work? In my build, ld choked on this one. Otherwise make it "static inline"? Or just #define die_for_incompatible_opt3(o1,n1,o2,n2,o3,n3) \ die_for_incompatible_opt4((o1), (n1), \ (o2), (n2), \ (o3), (n3), \ 0, "") perhaps?