public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/109110] New: Function Declaration Syntax errors at callsite
@ 2023-03-13 15:47 bthomas at brave dot com
  2023-03-13 15:50 ` [Bug c/109110] " pinskia at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: bthomas at brave dot com @ 2023-03-13 15:47 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 109110
           Summary: Function Declaration Syntax errors at callsite
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: bthomas at brave dot com
  Target Milestone: ---

https://godbolt.org/z/Y8rbd35xP

```C
void func1(a)
int a[];
{
}

void func2(int a[])
{
}

int main(void) {
    Foo f;

    func1(f);
    func1(1.0);

    func2(f);
    func2(1.0);
        return 0;
}
```

These two Syntax for declaring a function works fine, however they behave
completely different.

`func2` gives compilation errors:

```
error: incompatible type for argument 1 of 'func2'
expected 'int *' but argument is of type 'Foo'
expected 'int *' but argument is of type 'double'
```

However, `func1` compiles and runs just fine. In fact, if I put a printf to
print the argument, `func1` will also give no warnings even with `-Werror`
unless I explicitly specific `-Wformat`, but `func2` will.

in Clang, all of the above gives both errors and warnings and won't compile.

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

* [Bug c/109110] Function Declaration Syntax errors at callsite
  2023-03-13 15:47 [Bug c/109110] New: Function Declaration Syntax errors at callsite bthomas at brave dot com
@ 2023-03-13 15:50 ` pinskia at gcc dot gnu.org
  2023-03-13 15:51 ` pinskia at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-03-13 15:50 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Because this is a old style function definition and still not a prototype.

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

* [Bug c/109110] Function Declaration Syntax errors at callsite
  2023-03-13 15:47 [Bug c/109110] New: Function Declaration Syntax errors at callsite bthomas at brave dot com
  2023-03-13 15:50 ` [Bug c/109110] " pinskia at gcc dot gnu.org
@ 2023-03-13 15:51 ` pinskia at gcc dot gnu.org
  2023-03-13 15:58 ` [Bug c/109110] old style function declaration not causing incompatible type on calls jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-03-13 15:51 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |diagnostic

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
And almost nobody cares about old style function declarations ...

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

* [Bug c/109110] old style function declaration not causing incompatible type on calls
  2023-03-13 15:47 [Bug c/109110] New: Function Declaration Syntax errors at callsite bthomas at brave dot com
  2023-03-13 15:50 ` [Bug c/109110] " pinskia at gcc dot gnu.org
  2023-03-13 15:51 ` pinskia at gcc dot gnu.org
@ 2023-03-13 15:58 ` jakub at gcc dot gnu.org
  2023-03-13 15:59 ` schwab@linux-m68k.org
  2023-03-13 16:04 ` mpolacek at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: jakub at gcc dot gnu.org @ 2023-03-13 15:58 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
The GCC behavior is correct, it is as if you moved the func1 definition to a
different file, or just used void func1(); in the same file and the definition
in another one.

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

* [Bug c/109110] old style function declaration not causing incompatible type on calls
  2023-03-13 15:47 [Bug c/109110] New: Function Declaration Syntax errors at callsite bthomas at brave dot com
                   ` (2 preceding siblings ...)
  2023-03-13 15:58 ` [Bug c/109110] old style function declaration not causing incompatible type on calls jakub at gcc dot gnu.org
@ 2023-03-13 15:59 ` schwab@linux-m68k.org
  2023-03-13 16:04 ` mpolacek at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: schwab@linux-m68k.org @ 2023-03-13 15:59 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Andreas Schwab <schwab@linux-m68k.org> ---
14.8 Certain Changes We Don't Want to Make
==========================================

   * Checking the number and type of arguments to a function which has
     an old-fashioned definition and no prototype.

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

* [Bug c/109110] old style function declaration not causing incompatible type on calls
  2023-03-13 15:47 [Bug c/109110] New: Function Declaration Syntax errors at callsite bthomas at brave dot com
                   ` (3 preceding siblings ...)
  2023-03-13 15:59 ` schwab@linux-m68k.org
@ 2023-03-13 16:04 ` mpolacek at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2023-03-13 16:04 UTC (permalink / raw)
  To: gcc-bugs

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

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mpolacek at gcc dot gnu.org
         Resolution|---                         |WONTFIX
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #5 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Closing out then.

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

end of thread, other threads:[~2023-03-13 16:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-13 15:47 [Bug c/109110] New: Function Declaration Syntax errors at callsite bthomas at brave dot com
2023-03-13 15:50 ` [Bug c/109110] " pinskia at gcc dot gnu.org
2023-03-13 15:51 ` pinskia at gcc dot gnu.org
2023-03-13 15:58 ` [Bug c/109110] old style function declaration not causing incompatible type on calls jakub at gcc dot gnu.org
2023-03-13 15:59 ` schwab@linux-m68k.org
2023-03-13 16:04 ` mpolacek 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).