view gcc/testsuite/g++.dg/other/pr94326.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 2b5abeee2509
children
line wrap: on
line source

// PR c++/94326
// { dg-do compile { target c++11 } }
// { dg-options "-fcompare-debug" }

template <typename = int> struct A {
  const int &foo() { return 0; }	// { dg-warning "returning reference to temporary" }
  template <typename _Kt> void bar(_Kt) { foo(); }
};
struct B {
  A<> b;
  template <typename _Kt> auto baz(_Kt p1) -> decltype(b.bar(p1)) {
    b.bar(p1);
  }
};
struct C {};
void operator<(C, int) {
  B a;
  a.baz(C{});
}