aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp1z/constexpr-96575.C
blob: 5820c18bec335385227ea1a770675eb4358c0ce2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// PR c++/96575
// { dg-do compile { target c++17 } }

struct S { };

constexpr auto g = [] (S s) {
  if (__builtin_is_constant_evaluated())
    return s;
};

template <class T>
constexpr auto f (T cb) {
  return [=] {
    auto ret = cb({});
    return ret;
  }();
}

constexpr auto x = f(g);