public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/101078] New: [11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721
@ 2021-06-15 10:17 marxin at gcc dot gnu.org
  2021-06-15 10:17 ` [Bug c++/101078] " marxin at gcc dot gnu.org
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-06-15 10:17 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 101078
           Summary: [11/12 Regression] Rejected code since
                    r12-1272-gf07edb5d7f3e7721
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: jason at gcc dot gnu.org
  Target Milestone: ---

I noticed that in ceph package, note the patch was backported to 11 branch:

$ cat HttpClient.ii
namespace system {
struct error_code {};
} // namespace system
int async_initiate_token, operator0_handler2;
struct async_result {
  template <typename Initiation, typename RawCompletionToken, typename... Args>
  static void initiate(Initiation initiation, RawCompletionToken token,
                       Args... args) {
    initiation(token, args...);
  }
};
template <typename, typename, typename Initiation, typename... Args>
void async_initiate(Initiation initiation, Args... args) {
  async_result::initiate(initiation, async_initiate_token, args...);
}
using system::error_code;
struct stream_base {
  using time_point = struct op_state { bool pending; };
  struct pending_guard {
    pending_guard(bool);
  };
  static time_point never();
};
template <class, class = int, class = int>
struct basic_stream : private stream_base {
  struct ops;
  template <class MutableBufferSequence, typename ReadHandler>
  auto async_read_some(MutableBufferSequence const &, ReadHandler &&);
};
struct async_base {
  template <class Handler_> async_base(Handler_, int);
};
template <class Protocol, class Executor, class RatePolicy>
struct basic_stream<Protocol, Executor, RatePolicy>::ops {
  struct transfer_op : async_base {
    pending_guard pg_;
    op_state state();
    template <class Handler_>
    transfer_op(Handler_, basic_stream, int)
        : async_base(0, 0), pg_(state().pending) {
      (*this)({});
    }
    void operator()(long) { never(); }
  };
  struct run_read_op {
    template <class ReadHandler, class Buffers>
    void operator()(ReadHandler, basic_stream *s, Buffers b) {
      transfer_op(0, *s, b);
    }
  };
};
template <class Protocol, class Executor, class RatePolicy>
template <class MutableBufferSequence, class ReadHandler>
auto basic_stream<Protocol, Executor, RatePolicy>::async_read_some(
    MutableBufferSequence const &buffers, ReadHandler &&) {
  async_initiate<ReadHandler, void>(typename ops::run_read_op{}, this,
buffers);
}
template <typename Stream, typename Operation, typename Handler> struct io_op {
  io_op(Stream, int, Operation, Handler);
  void operator()(error_code) { next_layer_.async_read_some(0, this); }
  Stream next_layer_;
};
template <typename Stream, typename Operation, typename Handler>
void async_io(Stream next_layer, int core, Operation op, Handler handler) {
  io_op(next_layer, core, op, handler)(error_code());
}
struct stream {
  void operator0() { async_io(next_layer_, core_, int(), operator0_handler2); }
  basic_stream<int> next_layer_;
  int core_;
};

$ g++ HttpClient.ii -c -std=c++17
HttpClient.ii: In instantiation of ‘void basic_stream<
<template-parameter-1-1>, <template-parameter-1-2>, <template-parameter-1-3>
>::ops::transfer_op::operator()(long int) [with Protocol = int; Executor = int;
RatePolicy = int]’:
HttpClient.ii:41:14:   required from ‘basic_stream< <template-parameter-1-1>,
<template-parameter-1-2>, <template-parameter-1-3>
>::ops::transfer_op::transfer_op(Handler_, basic_stream<
<template-parameter-1-1>, <template-parameter-1-2>, <template-parameter-1-3> >,
int) [with Handler_ = int; Protocol = int; Executor = int; RatePolicy = int;
basic_stream< <template-parameter-1-1>, <template-parameter-1-2>,
<template-parameter-1-3> > = basic_stream<int>]’
HttpClient.ii:48:7:   required from ‘void basic_stream<
<template-parameter-1-1>, <template-parameter-1-2>, <template-parameter-1-3>
>::ops::run_read_op::operator()(ReadHandler, basic_stream<
<template-parameter-1-1>, <template-parameter-1-2>, <template-parameter-1-3>
>*, Buffers) [with ReadHandler = int; Buffers = int; Protocol = int; Executor =
int; RatePolicy = int]’
HttpClient.ii:9:15:   required from ‘static void
async_result::initiate(Initiation, RawCompletionToken, Args ...) [with
Initiation = basic_stream<int>::ops::run_read_op; RawCompletionToken = int;
Args = {basic_stream<int, int, int>*, int}]’
HttpClient.ii:14:25:   required from ‘void async_initiate(Initiation, Args ...)
[with <template-parameter-1-1> = io_op<basic_stream<int>, int, int>*;
<template-parameter-1-2> = void; Initiation =
basic_stream<int>::ops::run_read_op; Args = {basic_stream<int, int, int>*,
int}]’
HttpClient.ii:56:36:   required from ‘auto basic_stream<
<template-parameter-1-1>, <template-parameter-1-2>, <template-parameter-1-3>
>::async_read_some(const MutableBufferSequence&, ReadHandler&&) [with
MutableBufferSequence = int; ReadHandler = io_op<basic_stream<int>, int, int>*;
<template-parameter-1-1> = int; <template-parameter-1-2> = int;
<template-parameter-1-3> = int]’
HttpClient.ii:60:60:   required from ‘void io_op<Stream, Operation,
Handler>::operator()(system::error_code) [with Stream = basic_stream<int>;
Operation = int; Handler = int]’
HttpClient.ii:65:39:   required from ‘void async_io(Stream, int, Operation,
Handler) [with Stream = basic_stream<int>; Operation = int; Handler = int]’
HttpClient.ii:68:30:   required from here
HttpClient.ii:43:34: error: ‘static stream_base::time_point
stream_base::never()’ is inaccessible within this context
   43 |     void operator()(long) { never(); }
      |                             ~~~~~^~
HttpClient.ii:22:21: note: declared here
   22 |   static time_point never();
      |                     ^~~~~

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

* [Bug c++/101078] [11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721
  2021-06-15 10:17 [Bug c++/101078] New: [11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721 marxin at gcc dot gnu.org
@ 2021-06-15 10:17 ` marxin at gcc dot gnu.org
  2021-06-15 11:32 ` marxin at gcc dot gnu.org
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-06-15 10:17 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
           Priority|P3                          |P1
   Target Milestone|---                         |11.2
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2021-06-15

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

* [Bug c++/101078] [11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721
  2021-06-15 10:17 [Bug c++/101078] New: [11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721 marxin at gcc dot gnu.org
  2021-06-15 10:17 ` [Bug c++/101078] " marxin at gcc dot gnu.org
@ 2021-06-15 11:32 ` marxin at gcc dot gnu.org
  2021-06-15 15:03 ` ppalka at gcc dot gnu.org
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-06-15 11:32 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu.org

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
*** Bug 101077 has been marked as a duplicate of this bug. ***

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

* [Bug c++/101078] [11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721
  2021-06-15 10:17 [Bug c++/101078] New: [11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721 marxin at gcc dot gnu.org
  2021-06-15 10:17 ` [Bug c++/101078] " marxin at gcc dot gnu.org
  2021-06-15 11:32 ` marxin at gcc dot gnu.org
@ 2021-06-15 15:03 ` ppalka at gcc dot gnu.org
  2021-06-16 17:43 ` [Bug c++/101078] [9/10/11/12 " jakub at gcc dot gnu.org
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: ppalka at gcc dot gnu.org @ 2021-06-15 15:03 UTC (permalink / raw)
  To: gcc-bugs

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

Patrick Palka <ppalka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ppalka at gcc dot gnu.org

--- Comment #2 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Reduced rejects-valid testcase:

struct A {
  static void f();
};

template<class>
struct B : private A {
  struct C {
    void g() { f(); }
  };
};

int main() {
  B<int>::C().g();
}


This might be a latent bug, for if the call f() is replaced with B::f(), then
we started rejecting after r8-5270.

If the call f() is replaced with A::f(), we accept.

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

* [Bug c++/101078] [9/10/11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721
  2021-06-15 10:17 [Bug c++/101078] New: [11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721 marxin at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2021-06-15 15:03 ` ppalka at gcc dot gnu.org
@ 2021-06-16 17:43 ` jakub at gcc dot gnu.org
  2021-06-16 18:19 ` jason at gcc dot gnu.org
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-06-16 17:43 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|11.2                        |9.5
                 CC|                            |jakub at gcc dot gnu.org
            Summary|[11/12 Regression] Rejected |[9/10/11/12 Regression]
                   |code since                  |Rejected code since
                   |r12-1272-gf07edb5d7f3e7721  |r12-1272-gf07edb5d7f3e7721

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Indeed.  When the f call is in a method of B rather than of a nested class, it
works fine and when it isn't in a template too.
Extending to 9/10 too because of the B::f() case but should be kept P1 because
the f() case is a regression since 11.1.

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

* [Bug c++/101078] [9/10/11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721
  2021-06-15 10:17 [Bug c++/101078] New: [11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721 marxin at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2021-06-16 17:43 ` [Bug c++/101078] [9/10/11/12 " jakub at gcc dot gnu.org
@ 2021-06-16 18:19 ` jason at gcc dot gnu.org
  2021-06-16 21:29 ` cvs-commit at gcc dot gnu.org
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: jason at gcc dot gnu.org @ 2021-06-16 18:19 UTC (permalink / raw)
  To: gcc-bugs

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

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |jason at gcc dot gnu.org

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

* [Bug c++/101078] [9/10/11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721
  2021-06-15 10:17 [Bug c++/101078] New: [11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721 marxin at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2021-06-16 18:19 ` jason at gcc dot gnu.org
@ 2021-06-16 21:29 ` cvs-commit at gcc dot gnu.org
  2021-06-16 21:34 ` [Bug c++/101078] [9/10/11 " jason at gcc dot gnu.org
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-06-16 21:29 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jason Merrill <jason@gcc.gnu.org>:

https://gcc.gnu.org/g:6816a44dfe1b5fa9414490a18a4aa723b6f38f18

commit r12-1543-g6816a44dfe1b5fa9414490a18a4aa723b6f38f18
Author: Jason Merrill <jason@redhat.com>
Date:   Wed Jun 16 16:09:59 2021 -0400

    c++: static memfn from non-dependent base [PR101078]

    After my patch for PR91706, or before that with the qualified call,
    tsubst_baselink returned a BASELINK with BASELINK_BINFO indicating a base
of
    a still-dependent derived class.  We need to look up the relevant base
binfo
    in the substituted class.

            PR c++/101078
            PR c++/91706

    gcc/cp/ChangeLog:

            * pt.c (tsubst_baselink): Update binfos in non-dependent case.

    gcc/testsuite/ChangeLog:

            * g++.dg/template/access39.C: New test.

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

* [Bug c++/101078] [9/10/11 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721
  2021-06-15 10:17 [Bug c++/101078] New: [11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721 marxin at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2021-06-16 21:29 ` cvs-commit at gcc dot gnu.org
@ 2021-06-16 21:34 ` jason at gcc dot gnu.org
  2021-06-16 21:35 ` cvs-commit at gcc dot gnu.org
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: jason at gcc dot gnu.org @ 2021-06-16 21:34 UTC (permalink / raw)
  To: gcc-bugs

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

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[9/10/11/12 Regression]     |[9/10/11 Regression]
                   |Rejected code since         |Rejected code since
                   |r12-1272-gf07edb5d7f3e7721  |r12-1272-gf07edb5d7f3e7721

--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> ---
Fixed for 12 so far.

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

* [Bug c++/101078] [9/10/11 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721
  2021-06-15 10:17 [Bug c++/101078] New: [11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721 marxin at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2021-06-16 21:34 ` [Bug c++/101078] [9/10/11 " jason at gcc dot gnu.org
@ 2021-06-16 21:35 ` cvs-commit at gcc dot gnu.org
  2021-06-16 21:35 ` [Bug c++/101078] [9/10 " jason at gcc dot gnu.org
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-06-16 21:35 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Jason Merrill
<jason@gcc.gnu.org>:

https://gcc.gnu.org/g:84171488f5eed37020f0ecf8ef9b7a466e501da0

commit r11-8584-g84171488f5eed37020f0ecf8ef9b7a466e501da0
Author: Jason Merrill <jason@redhat.com>
Date:   Wed Jun 16 16:09:59 2021 -0400

    c++: static memfn from non-dependent base [PR101078]

    After my patch for PR91706, or before that with the qualified call,
    tsubst_baselink returned a BASELINK with BASELINK_BINFO indicating a base
of
    a still-dependent derived class.  We need to look up the relevant base
binfo
    in the substituted class.

            PR c++/101078

    gcc/cp/ChangeLog:

            * pt.c (tsubst_baselink): Update binfos in non-dependent case.

    gcc/testsuite/ChangeLog:

            * g++.dg/template/access39.C: New test.

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

* [Bug c++/101078] [9/10 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721
  2021-06-15 10:17 [Bug c++/101078] New: [11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721 marxin at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2021-06-16 21:35 ` cvs-commit at gcc dot gnu.org
@ 2021-06-16 21:35 ` jason at gcc dot gnu.org
  2021-06-16 21:36 ` jason at gcc dot gnu.org
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: jason at gcc dot gnu.org @ 2021-06-16 21:35 UTC (permalink / raw)
  To: gcc-bugs

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

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[9/10/11 Regression]        |[9/10 Regression] Rejected
                   |Rejected code since         |code since
                   |r12-1272-gf07edb5d7f3e7721  |r12-1272-gf07edb5d7f3e7721

--- Comment #7 from Jason Merrill <jason at gcc dot gnu.org> ---
And 11.

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

* [Bug c++/101078] [9/10 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721
  2021-06-15 10:17 [Bug c++/101078] New: [11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721 marxin at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2021-06-16 21:35 ` [Bug c++/101078] [9/10 " jason at gcc dot gnu.org
@ 2021-06-16 21:36 ` jason at gcc dot gnu.org
  2022-05-13 19:53 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: jason at gcc dot gnu.org @ 2021-06-16 21:36 UTC (permalink / raw)
  To: gcc-bugs

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

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P2

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

* [Bug c++/101078] [9/10 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721
  2021-06-15 10:17 [Bug c++/101078] New: [11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721 marxin at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2021-06-16 21:36 ` jason at gcc dot gnu.org
@ 2022-05-13 19:53 ` cvs-commit at gcc dot gnu.org
  2022-05-13 20:10 ` cvs-commit at gcc dot gnu.org
  2022-05-13 20:10 ` jason at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-05-13 19:53 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Jason Merrill
<jason@gcc.gnu.org>:

https://gcc.gnu.org/g:259852261ed0044af584da91d30ae80f069a77c8

commit r10-10739-g259852261ed0044af584da91d30ae80f069a77c8
Author: Jason Merrill <jason@redhat.com>
Date:   Wed Jun 16 16:09:59 2021 -0400

    c++: static memfn from non-dependent base [PR101078]

    After my patch for PR91706, or before that with the qualified call,
    tsubst_baselink returned a BASELINK with BASELINK_BINFO indicating a base
of
    a still-dependent derived class.  We need to look up the relevant base
binfo
    in the substituted class.

            PR c++/101078

    gcc/cp/ChangeLog:

            * pt.c (tsubst_baselink): Update binfos in non-dependent case.

    gcc/testsuite/ChangeLog:

            * g++.dg/template/access39.C: New test.

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

* [Bug c++/101078] [9/10 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721
  2021-06-15 10:17 [Bug c++/101078] New: [11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721 marxin at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2022-05-13 19:53 ` cvs-commit at gcc dot gnu.org
@ 2022-05-13 20:10 ` cvs-commit at gcc dot gnu.org
  2022-05-13 20:10 ` jason at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-05-13 20:10 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Jason Merrill
<jason@gcc.gnu.org>:

https://gcc.gnu.org/g:5b98dd6703aa1c4aa54de7b6079fd3dc39f7e66d

commit r9-10180-g5b98dd6703aa1c4aa54de7b6079fd3dc39f7e66d
Author: Jason Merrill <jason@redhat.com>
Date:   Wed Jun 16 16:09:59 2021 -0400

    c++: static memfn from non-dependent base [PR101078]

    After my patch for PR91706, or before that with the qualified call,
    tsubst_baselink returned a BASELINK with BASELINK_BINFO indicating a base
of
    a still-dependent derived class.  We need to look up the relevant base
binfo
    in the substituted class.

            PR c++/101078

    gcc/cp/ChangeLog:

            * pt.c (tsubst_baselink): Update binfos in non-dependent case.

    gcc/testsuite/ChangeLog:

            * g++.dg/template/access39.C: New test.

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

* [Bug c++/101078] [9/10 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721
  2021-06-15 10:17 [Bug c++/101078] New: [11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721 marxin at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2022-05-13 20:10 ` cvs-commit at gcc dot gnu.org
@ 2022-05-13 20:10 ` jason at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: jason at gcc dot gnu.org @ 2022-05-13 20:10 UTC (permalink / raw)
  To: gcc-bugs

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

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #10 from Jason Merrill <jason at gcc dot gnu.org> ---
Fixed for 9.5/10.4/11.2/12.

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

end of thread, other threads:[~2022-05-13 20:11 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-15 10:17 [Bug c++/101078] New: [11/12 Regression] Rejected code since r12-1272-gf07edb5d7f3e7721 marxin at gcc dot gnu.org
2021-06-15 10:17 ` [Bug c++/101078] " marxin at gcc dot gnu.org
2021-06-15 11:32 ` marxin at gcc dot gnu.org
2021-06-15 15:03 ` ppalka at gcc dot gnu.org
2021-06-16 17:43 ` [Bug c++/101078] [9/10/11/12 " jakub at gcc dot gnu.org
2021-06-16 18:19 ` jason at gcc dot gnu.org
2021-06-16 21:29 ` cvs-commit at gcc dot gnu.org
2021-06-16 21:34 ` [Bug c++/101078] [9/10/11 " jason at gcc dot gnu.org
2021-06-16 21:35 ` cvs-commit at gcc dot gnu.org
2021-06-16 21:35 ` [Bug c++/101078] [9/10 " jason at gcc dot gnu.org
2021-06-16 21:36 ` jason at gcc dot gnu.org
2022-05-13 19:53 ` cvs-commit at gcc dot gnu.org
2022-05-13 20:10 ` cvs-commit at gcc dot gnu.org
2022-05-13 20:10 ` jason 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).