PR c++/66639 - declare __func__ , __FUNCTION__ & __PRETTY_FUNCTION__ constexpr
PR c++/66639 - declare __func__ , __FUNCTION__ & __PRETTY_FUNCTION__ constexpr * g++.dg/cpp1y/func_constexpr.C: New test. From-SVN: r235458
This commit is contained in:
parent
843ce8abaf
commit
8ac432938d
2 changed files with 34 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2016-04-26 Martin Sebor <msebor@redhat.com>
|
||||||
|
|
||||||
|
PR c++/66639
|
||||||
|
* g++.dg/cpp1y/func_constexpr.C: New test.
|
||||||
|
|
||||||
2016-04-26 Patrick Palka <ppalka@gcc.gnu.org>
|
2016-04-26 Patrick Palka <ppalka@gcc.gnu.org>
|
||||||
|
|
||||||
PR c++/70241
|
PR c++/70241
|
||||||
|
|
29
gcc/testsuite/g++.dg/cpp1y/func_constexpr.C
Normal file
29
gcc/testsuite/g++.dg/cpp1y/func_constexpr.C
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
// PR c++/66639 - declare __func__ , __FUNCTION__ & __PRETTY_FUNCTION__
|
||||||
|
// as constexpr
|
||||||
|
// { dg-do compile { target c++11 } }
|
||||||
|
|
||||||
|
#define Assert(expr) static_assert ((expr), #expr)
|
||||||
|
#define Compare(a, b) Assert (0 == __builtin_strcmp (a, b))
|
||||||
|
|
||||||
|
constexpr const char* func ()
|
||||||
|
{
|
||||||
|
return __func__;
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr const char* function ()
|
||||||
|
{
|
||||||
|
return __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr const char* pretty_function ()
|
||||||
|
{
|
||||||
|
return __PRETTY_FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr const char* f0 = func ();
|
||||||
|
constexpr const char* f1 = function ();
|
||||||
|
constexpr const char* f2 = pretty_function ();
|
||||||
|
|
||||||
|
Compare (f0, "func");
|
||||||
|
Compare (f1, "function");
|
||||||
|
Compare (f2, "constexpr const char* pretty_function()");
|
Loading…
Add table
Reference in a new issue