http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33763
--- Comment #31 from Richard Guenther rguenth at gcc dot gnu.org 2012-01-13
09:26:45 UTC ---
Ok, so the following patch makes
extern __inline __attribute__ ((__always_inline__))
void open ()
{
}
void bar ()
{
open ();
}
void open ()
{
open
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33763
Richard Guenther rguenth at gcc dot gnu.org changed:
What|Removed |Added
Keywords||wrong-code
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33763
--- Comment #24 from Jan Hubicka hubicka at ucw dot cz 2012-01-12 14:22:52
UTC ---
OTOH, it is time to deprecate this extension and warn about it (after
all we miscompile this since quite some time, GCC 3.3 and 4.1 already produce
the
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33763
--- Comment #25 from rguenther at suse dot de rguenther at suse dot de
2012-01-12 14:27:12 UTC ---
On Thu, 12 Jan 2012, hubicka at ucw dot cz wrote:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33763
--- Comment #24 from Jan Hubicka hubicka
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33763
--- Comment #26 from Richard Guenther rguenth at gcc dot gnu.org 2012-01-12
14:30:31 UTC ---
The patch fails to bootstrap in libquadmath btw:
/space/rguenther/src/svn/trunk/libquadmath/math/cimagq.c:24:1: error:
redefinition of 'cimagq'
In file
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33763
--- Comment #27 from Richard Guenther rguenth at gcc dot gnu.org 2012-01-12
14:31:28 UTC ---
(In reply to comment #25)
On Thu, 12 Jan 2012, hubicka at ucw dot cz wrote:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33763
--- Comment #24
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33763
--- Comment #28 from joseph at codesourcery dot com joseph at codesourcery dot
com 2012-01-12 14:35:58 UTC ---
On Thu, 12 Jan 2012, rguenther at suse dot de wrote:
I think extern inlines are sadly rather common to be deprecated...
Well, not
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33763
--- Comment #29 from Richard Guenther rguenth at gcc dot gnu.org 2012-01-12
14:49:42 UTC ---
Btw, GCC 3.2.3 produces for
extern __inline __attribute__ ((__always_inline__))
void open ()
{
}
void open ()
{
open ();
}
open:
pushl %ebp
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33763
--- Comment #30 from Richard Guenther rguenth at gcc dot gnu.org 2012-01-12
14:54:04 UTC ---
Of course the question is what we should really do here wrt name-lookup.