public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c++/58045] New: gcc 4.8 produces an undefined reference to an inline function @ 2013-08-01 14:08 rafael.espindola at gmail dot com 2013-09-09 8:55 ` [Bug c++/58045] " hubicka at gcc dot gnu.org ` (2 more replies) 0 siblings, 3 replies; 4+ messages in thread From: rafael.espindola at gmail dot com @ 2013-08-01 14:08 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58045 Bug ID: 58045 Summary: gcc 4.8 produces an undefined reference to an inline function Product: gcc Version: 4.8.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rafael.espindola at gmail dot com CC: hubicka at gcc dot gnu.org, jason at redhat dot com Created attachment 30582 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30582&action=edit testcase This may or may not be a duplicate of bug 53808. When compiling this testcase with cc1plus llvm-ar.ii -quiet -std=c++11 -fprofile-arcs -o test.s -O2 The produced assembly has an undefined reference to _ZNK4llvm14raw_fd_ostream11current_posEv, but this function is defined inline: virtual uint64_t current_pos() const { return pos; } This causes the link to fail when building with -fvisibility-inlines-hidden and shared libraries. GCC should avoid devirtualizing or emit a copy of the callee. ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c++/58045] gcc 4.8 produces an undefined reference to an inline function 2013-08-01 14:08 [Bug c++/58045] New: gcc 4.8 produces an undefined reference to an inline function rafael.espindola at gmail dot com @ 2013-09-09 8:55 ` hubicka at gcc dot gnu.org 2021-07-22 18:54 ` pinskia at gcc dot gnu.org 2021-09-10 7:09 ` pinskia at gcc dot gnu.org 2 siblings, 0 replies; 4+ messages in thread From: hubicka at gcc dot gnu.org @ 2013-09-09 8:55 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58045 Jan Hubicka <hubicka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2013-09-09 Ever confirmed|0 |1 --- Comment #1 from Jan Hubicka <hubicka at gcc dot gnu.org> --- This is different from the other PR. Here C++ FE declare the function as: _ZNK4llvm14raw_fd_ostream11current_posEv/6 (virtual uint64_t llvm::raw_fd_ostream::current_pos() const) @0x7ffff7047980 Type: function definition analyzed Visibility: external public weak comdat comdat_group:_ZNK4llvm14raw_fd_ostream11current_posEv one_only virtual References: __gcov0._ZNK4llvm14raw_fd_ostream11current_posEv/78 (read)__gcov0._ZNK4llvm14raw_fd_ostream11current_posEv/78 (write) Referring: Availability: available Profile id: 1497168468 Function flags: body Called by: _ZL16writeStringTableRN4llvm14raw_fd_ostreamENS_8ArrayRefIN12_GLOBAL__N_118NewArchiveIteratorEEERSt6vectorIjSaIjEE.isra.8.constprop.12/90 (1.47 per call) (can throw external) The meaning of external comdat does not make that much sense to me but I can definitely make can_refer_decl_in_current_unit_p to declare the function non-referable. That would untimately prevent inlining while it is certainly possible, since body is around. Jason, why the function is external and isn't there way to simply make it comdat? ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c++/58045] gcc 4.8 produces an undefined reference to an inline function 2013-08-01 14:08 [Bug c++/58045] New: gcc 4.8 produces an undefined reference to an inline function rafael.espindola at gmail dot com 2013-09-09 8:55 ` [Bug c++/58045] " hubicka at gcc dot gnu.org @ 2021-07-22 18:54 ` pinskia at gcc dot gnu.org 2021-09-10 7:09 ` pinskia at gcc dot gnu.org 2 siblings, 0 replies; 4+ messages in thread From: pinskia at gcc dot gnu.org @ 2021-07-22 18:54 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58045 --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I cannot reproduce this in the released version of GCC 4.8.0. ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c++/58045] gcc 4.8 produces an undefined reference to an inline function 2013-08-01 14:08 [Bug c++/58045] New: gcc 4.8 produces an undefined reference to an inline function rafael.espindola at gmail dot com 2013-09-09 8:55 ` [Bug c++/58045] " hubicka at gcc dot gnu.org 2021-07-22 18:54 ` pinskia at gcc dot gnu.org @ 2021-09-10 7:09 ` pinskia at gcc dot gnu.org 2 siblings, 0 replies; 4+ messages in thread From: pinskia at gcc dot gnu.org @ 2021-09-10 7:09 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58045 Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |DUPLICATE Status|NEW |RESOLVED --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Dup of bug 61214. *** This bug has been marked as a duplicate of bug 61214 *** ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-09-10 7:10 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-08-01 14:08 [Bug c++/58045] New: gcc 4.8 produces an undefined reference to an inline function rafael.espindola at gmail dot com 2013-09-09 8:55 ` [Bug c++/58045] " hubicka at gcc dot gnu.org 2021-07-22 18:54 ` pinskia at gcc dot gnu.org 2021-09-10 7:09 ` pinskia 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).