PR c++/66639 - declare __func__ , __FUNCTION__ & __PRETTY_FUNCTION__ constexpr
[official-gcc.git] / gcc / testsuite / g++.dg / cpp1y / func_constexpr.C
blob2edcd01980f43c06f19f8e3b5af78d41476ffa93
1 // PR c++/66639 - declare __func__ , __FUNCTION__ & __PRETTY_FUNCTION__
2 // as constexpr
3 // { dg-do compile { target c++11 } }
5 #define Assert(expr)   static_assert ((expr), #expr)
6 #define Compare(a, b)  Assert (0 == __builtin_strcmp (a, b))
8 constexpr const char* func ()
10   return __func__;
13 constexpr const char* function ()
15   return __FUNCTION__;
18 constexpr const char* pretty_function ()
20   return __PRETTY_FUNCTION__;
23 constexpr const char* f0 = func ();
24 constexpr const char* f1 = function ();
25 constexpr const char* f2 = pretty_function ();
27 Compare (f0, "func");
28 Compare (f1, "function");
29 Compare (f2, "constexpr const char* pretty_function()");