c/10320: [3.4 regression] gcc 3.4 gets rid of static inline function that does not get inlined
pinskia@physics.uc.edu
pinskia@physics.uc.edu
Sun Apr 6 16:46:00 GMT 2003
>Number: 10320
>Category: c
>Synopsis: [3.4 regression] gcc 3.4 gets rid of static inline function that does not get inlined
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Apr 06 16:46:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: Andrew Pinski
>Release: gcc version 3.4 20030406 (experimental)
>Organization:
>Environment:
i686-pc-linux-gnu and powerpc-apple-darwin6.4, it should not matter.
>Description:
If a function that is declared inline is defined without inline after where it is called, the function is not inlined and is not emited.
Note with -funit-at-a-time or -finline-functions, it works.
It does not work at -O0, -O1, or -O2 or -O3 -fno-unit-at-a-time -fno-inline-functions.
Note this causes ssa-branch bootstrap failure on powerpc-apple-darwin6.4.
Note this also works right with `gcc version 3.2.1 20021207 (Red Hat Linux 8.0 3.2.1-2)' and `Apple Computer, Inc. GCC version 1175, based on gcc version 3.1 20020420 (prerelease)' and `gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)' so this is regression.
>How-To-Repeat:
compile and link and run (try at least) the following source:
static inline void temp();
int main()
{
temp();
return 0;
}
static void temp(){}
>Fix:
Do not know.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the Gcc-bugs
mailing list