public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/105488] New: Function definition is not generated OR function is not inlined
@ 2022-05-04 22:31 pavel.morozkin at gmail dot com
2022-05-04 22:36 ` [Bug c/105488] " pinskia at gcc dot gnu.org
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: pavel.morozkin at gmail dot com @ 2022-05-04 22:31 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105488
Bug ID: 105488
Summary: Function definition is not generated OR function is
not inlined
Product: gcc
Version: 11.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: pavel.morozkin at gmail dot com
Target Milestone: ---
Note: probably this is a duplicate.
This code:
inline void f(void)
{
}
int main(void)
{
f();
}
leads to this code:
.file "t609.c"
.text
.def __main; .scl 2; .type 32; .endef
.globl main
.def main; .scl 2; .type 32; .endef
.seh_proc main
main:
pushq %rbp
.seh_pushreg %rbp
movq %rsp, %rbp
.seh_setframe %rbp, 0
subq $32, %rsp
.seh_stackalloc 32
.seh_endprologue
call __main
call f
movl $0, %eax
addq $32, %rsp
popq %rbp
ret
.seh_endproc
.ident "GCC: (GNU) 11.1.0"
.def f; .scl 2; .type 32; .endef
Here we see that "call f" is present, while "f:" is absent.
As a result:
$ gcc t609.c
ld: /tmp/cc8z1GjU.o:t609.c:(.text+0xe): undefined reference to `f'
collect2: error: ld returned 1 exit status
I think that:
- either function definition is not generated,
- either function is not inlined.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c/105488] Function definition is not generated OR function is not inlined
2022-05-04 22:31 [Bug c/105488] New: Function definition is not generated OR function is not inlined pavel.morozkin at gmail dot com
@ 2022-05-04 22:36 ` pinskia at gcc dot gnu.org
2022-05-04 22:48 ` redi at gcc dot gnu.org
2022-05-05 14:58 ` pavel.morozkin at gmail dot com
2 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-05-04 22:36 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105488
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |INVALID
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Right, in C99, inline by itself just says inline or emit a call to the function
and have the definition in a different Translation unit.
Note C90 didn't have inline and GNU90 has different sematics for inline than
C99.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c/105488] Function definition is not generated OR function is not inlined
2022-05-04 22:31 [Bug c/105488] New: Function definition is not generated OR function is not inlined pavel.morozkin at gmail dot com
2022-05-04 22:36 ` [Bug c/105488] " pinskia at gcc dot gnu.org
@ 2022-05-04 22:48 ` redi at gcc dot gnu.org
2022-05-05 14:58 ` pavel.morozkin at gmail dot com
2 siblings, 0 replies; 4+ messages in thread
From: redi at gcc dot gnu.org @ 2022-05-04 22:48 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105488
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
See https://gcc.gnu.org/gcc-5/porting_to.html#inline
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c/105488] Function definition is not generated OR function is not inlined
2022-05-04 22:31 [Bug c/105488] New: Function definition is not generated OR function is not inlined pavel.morozkin at gmail dot com
2022-05-04 22:36 ` [Bug c/105488] " pinskia at gcc dot gnu.org
2022-05-04 22:48 ` redi at gcc dot gnu.org
@ 2022-05-05 14:58 ` pavel.morozkin at gmail dot com
2 siblings, 0 replies; 4+ messages in thread
From: pavel.morozkin at gmail dot com @ 2022-05-05 14:58 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105488
--- Comment #3 from Pavel M <pavel.morozkin at gmail dot com> ---
To: Andrew Pinski
Indeed, per C11:
> It is unspecified whether a call to the function uses the inline definition or the external definition.
Thanks!
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-05-05 14:58 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-04 22:31 [Bug c/105488] New: Function definition is not generated OR function is not inlined pavel.morozkin at gmail dot com
2022-05-04 22:36 ` [Bug c/105488] " pinskia at gcc dot gnu.org
2022-05-04 22:48 ` redi at gcc dot gnu.org
2022-05-05 14:58 ` pavel.morozkin at gmail dot com
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).