view gcc/testsuite/g++.dg/cpp1z/constexpr-if25.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
line wrap: on
line source

// PR c++/86740
// { dg-do compile { target c++17 } }

struct Constant
{
  static constexpr int value = 0;
};
template<typename F>
void invokeWithConstant(F &&f)
{
  f(Constant{});
}
int foo()
{
  int count = 0;
  invokeWithConstant
    ([&] (auto id1)
     {
       invokeWithConstant
	 ([&] (auto id2)
	  {
	    if constexpr (id1.value == 0  &&  id2.value == 0)
	      [&] { count = 1; } ();
	  });
     });
  return count;
}