// PR c++/49172 // { dg-do compile { target c++11 } } #define SA(X) static_assert((X),#X) constexpr int g() { return 42; } constexpr int(&rg)() = g; // #1 SA(rg() == 42); constexpr int i = 24; constexpr int const& ri = i; // #2 SA(&ri == &i); SA(ri == 24); void f() { constexpr int(&rg)() = g; // #1 SA(rg() == 42); constexpr static int i = 24; constexpr int const& ri = i; // #2 SA(&ri == &i); SA(ri == 24); } template void f2() { constexpr int(&rg)() = g; // #1 SA(rg() == 42); constexpr static int i = 24; constexpr int const& ri = i; // #2 SA(&ri == &i); SA(ri == 24); } template void f2();