public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/114819] New: 'constructor', 'destructor' function attributes vs. function signature
@ 2024-04-23  6:30 tschwinge at gcc dot gnu.org
  2024-04-23  6:37 ` [Bug c/114819] " pinskia at gcc dot gnu.org
  0 siblings, 1 reply; 2+ messages in thread
From: tschwinge at gcc dot gnu.org @ 2024-04-23  6:30 UTC (permalink / raw)
  To: gcc-bugs

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".

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Bug c/114819] 'constructor', 'destructor' function attributes vs. function signature
  2024-04-23  6:30 [Bug c/114819] New: 'constructor', 'destructor' function attributes vs. function signature tschwinge at gcc dot gnu.org
@ 2024-04-23  6:37 ` pinskia at gcc dot gnu.org
  0 siblings, 0 replies; 2+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-04-23  6:37 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114819

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note we incorrectly also accept it on nested functions too.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-04-23  6:37 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-23  6:30 [Bug c/114819] New: 'constructor', 'destructor' function attributes vs. function signature tschwinge at gcc dot gnu.org
2024-04-23  6:37 ` [Bug c/114819] " pinskia at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).