https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114819
Bug ID: 114819 Summary: 'constructor', 'destructor' function attributes vs. function signature Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: diagnostic, documentation Severity: minor Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: tschwinge at gcc dot gnu.org Target Milestone: --- In context of PR114818 "'constructor', 'destructor' function attributes vs. 'extern'", I also found that there's no user documentation that the constructor, destructor function signature has to match 'void FN(void)', and GCC currently doesn't check/diagnose this. Should we update 'gcc/doc/extend.texi' for this, and implement a diagnostic (warning or even error, enabled by default)? I found that we only document in 'gcc/target.def': /* Output a constructor for a symbol with a given priority. */ DEFHOOK (constructor, "If defined, a function that outputs assembler code to arrange to call\n\ the function referenced by @var{symbol} at initialization time.\n\ \n\ Assume that @var{symbol} is a @code{SYMBOL_REF} for a function taking\n\ no arguments and with no return value. [...] Note "a function taking no arguments and with no return value".