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

struct g {
  constexpr operator int() { return true; }
};
template <typename T, typename U> constexpr bool m = true;
template <long L> struct C { typedef double q; };
void ao() {
  [](auto i) {
      using ar = typename C<i>::q;
      [](auto j) {
	using as = typename C<j>::q;
	if constexpr (m<ar, as>) {}
	// { dg-bogus "'i' is not captured" "PR107437" { xfail { *-*-* } } .-1 }
      }(g());
  }(g());
}