From 6f5df5fdf8bfc44c65c332d299d6bc345a74ede4 Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Thu, 21 Mar 2019 12:05:32 +0000 Subject: [PATCH] re PR c++/78645 (ICE on invalid code (Segmentation fault, cxx_eval_call_expression)) 2019-03-21 Paolo Carlini PR c++/78645 * g++.dg/cpp0x/constexpr-ice20.C: New. From-SVN: r269834 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/cpp0x/constexpr-ice20.C | 7 +++++++ 2 files changed, 12 insertions(+) create mode 100644 gcc/testsuite/g++.dg/cpp0x/constexpr-ice20.C diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 12fdbd0..5a343b6 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2019-03-21 Paolo Carlini + PR c++/78645 + * g++.dg/cpp0x/constexpr-ice20.C: New. + +2019-03-21 Paolo Carlini + PR c++/89571 * g++.dg/cpp0x/noexcept37.C: New. diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-ice20.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-ice20.C new file mode 100644 index 0000000..e2d4853 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-ice20.C @@ -0,0 +1,7 @@ +// PR c++/78645 +// { dg-do compile { target c++11 } } + +typedef bool (*Function)(int); +constexpr bool check(int x, Function p) { return p(x); } // { dg-message "in .constexpr. expansion of" } + +static_assert(check(2, check), ""); // { dg-error "conversion|constant|in .constexpr. expansion of" } -- 2.7.4