public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/63532] New: Cannot increase access of member function template.
@ 2014-10-14  9:45 bugs at qult dot net
  2014-10-14 10:52 ` [Bug c++/63532] " redi at gcc dot gnu.org
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: bugs at qult dot net @ 2014-10-14  9:45 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63532

            Bug ID: 63532
           Summary: Cannot increase access of member function template.
           Product: gcc
           Version: 4.9.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: bugs at qult dot net

The following code is rejected by GCC while it is accepted by Clang.

struct Foo {
  template <typename>
  void    meth();
};

struct Bar : private Foo {
  using Foo::meth;
};

int main()
{
  (void) &Bar::meth<int>;
}

GCC accepts a variant where Foo::meth is a plain (i.e., non-template) member
function.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug c++/63532] Cannot increase access of member function template.
  2014-10-14  9:45 [Bug c++/63532] New: Cannot increase access of member function template bugs at qult dot net
@ 2014-10-14 10:52 ` redi at gcc dot gnu.org
  2021-12-11  8:56 ` pinskia at gcc dot gnu.org
  2022-02-10 22:03 ` pinskia at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: redi at gcc dot gnu.org @ 2014-10-14 10:52 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="UTF-8", Size: 3792 bytes --]

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63532

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |rejects-valid
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2014-10-14
     Ever confirmed|0                           |1

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
G++ accepts the using declaration but it seems to have no effect when forming a
pointer to member for a specialization:

in.cc: In function ‘int main()’:
in.cc:3:11: error: ‘void Foo::meth() [with <template-parameter-1-1> = int]’ is
inaccessible
   void    meth();
           ^
in.cc:12:16: error: within this context
   (void) &Bar::meth<int>;
                ^
>From gcc-bugs-return-464031-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Oct 14 11:31:45 2014
Return-Path: <gcc-bugs-return-464031-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 29666 invoked by alias); 14 Oct 2014 11:31:45 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 29631 invoked by uid 48); 14 Oct 2014 11:31:40 -0000
From: "y.gribov at samsung dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug ipa/63533] New: Function splitter causes unnecessary splits
Date: Tue, 14 Oct 2014 11:31:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: ipa
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: y.gribov at samsung dot com
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter cc attachments.created
Message-ID: <bug-63533-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-10/txt/msg01052.txt.bz2
Content-length: 1081

https://gcc.gnu.org/bugzilla/show_bug.cgi?idc533

            Bug ID: 63533
           Summary: Function splitter causes unnecessary splits
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ipa
          Assignee: unassigned at gcc dot gnu.org
          Reporter: y.gribov at samsung dot com
                CC: hubicka at gcc dot gnu.org, khlebnikov at openvz dot org,
                    ryabinin.a.a at gmail dot com

Created attachment 33712
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id3712&actioníit
Short repro

The attached reprocase contains an innocent function which can not ever benefit
from inlining. But fnsplit pass still jumps on it and splits it to two
functions thus hurting performance and code size:
 gcc -O2 -fconserve-stack -S repro.i -o-
 ...g.part.0:
 ...
 g:
 ...
     call    g.part.0
This can not be recovered later by inliner because of -fconserve-stack option.
The reprocase is a reduced version of a real-world code (from Linux kernel).


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug c++/63532] Cannot increase access of member function template.
  2014-10-14  9:45 [Bug c++/63532] New: Cannot increase access of member function template bugs at qult dot net
  2014-10-14 10:52 ` [Bug c++/63532] " redi at gcc dot gnu.org
@ 2021-12-11  8:56 ` pinskia at gcc dot gnu.org
  2022-02-10 22:03 ` pinskia at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-12-11  8:56 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63532

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=56152

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This is similar issue to PR 56152 (static call vs non-static).

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug c++/63532] Cannot increase access of member function template.
  2014-10-14  9:45 [Bug c++/63532] New: Cannot increase access of member function template bugs at qult dot net
  2014-10-14 10:52 ` [Bug c++/63532] " redi at gcc dot gnu.org
  2021-12-11  8:56 ` pinskia at gcc dot gnu.org
@ 2022-02-10 22:03 ` pinskia at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-02-10 22:03 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63532

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |me at elchris dot org

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
*** Bug 104488 has been marked as a duplicate of this bug. ***

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-02-10 22:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-14  9:45 [Bug c++/63532] New: Cannot increase access of member function template bugs at qult dot net
2014-10-14 10:52 ` [Bug c++/63532] " redi at gcc dot gnu.org
2021-12-11  8:56 ` pinskia at gcc dot gnu.org
2022-02-10 22:03 ` 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).