[Bug c/33763] [4.4/4.5/4.6/4.7 Regression] Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining

2012-01-13 Thread rguenth at gcc dot gnu.org
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

[Bug c/33763] [4.4/4.5/4.6/4.7 Regression] Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining

2012-01-12 Thread rguenth at gcc dot gnu.org
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

[Bug c/33763] [4.4/4.5/4.6/4.7 Regression] Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining

2012-01-12 Thread hubicka at ucw dot cz
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

[Bug c/33763] [4.4/4.5/4.6/4.7 Regression] Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining

2012-01-12 Thread rguenther at suse dot de
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

[Bug c/33763] [4.4/4.5/4.6/4.7 Regression] Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining

2012-01-12 Thread rguenth at gcc dot gnu.org
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

[Bug c/33763] [4.4/4.5/4.6/4.7 Regression] Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining

2012-01-12 Thread rguenth at gcc dot gnu.org
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

[Bug c/33763] [4.4/4.5/4.6/4.7 Regression] Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining

2012-01-12 Thread joseph at codesourcery dot com
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

[Bug c/33763] [4.4/4.5/4.6/4.7 Regression] Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining

2012-01-12 Thread rguenth at gcc dot gnu.org
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

[Bug c/33763] [4.4/4.5/4.6/4.7 Regression] Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining

2012-01-12 Thread rguenth at gcc dot gnu.org
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.