view gcc/testsuite/g++.dg/cpp1y/lambda-generic-const4a.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// PR c++/81525
// { dg-do run { target c++14 } }

template <int i> struct A {
  constexpr operator int () const { return i; }
};
template <int i> constexpr A<i> a = {};

template <typename F> void foo (F f) {
  f (42);
}
template <typename T>
void bar (T) {
  constexpr auto N = a<1>;
  auto f = [&] (auto i) {
    if (static_cast<decltype(i)>(N) != 1) __builtin_abort();
  };
  foo (f);
}
int main () { bar (0); }