summaryrefslogtreecommitdiff
path: root/test/SemaCXX/constant-expression-cxx1z.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaCXX/constant-expression-cxx1z.cpp')
-rw-r--r--test/SemaCXX/constant-expression-cxx1z.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/SemaCXX/constant-expression-cxx1z.cpp b/test/SemaCXX/constant-expression-cxx1z.cpp
index a48c9b11b886b..2b366adf2e914 100644
--- a/test/SemaCXX/constant-expression-cxx1z.cpp
+++ b/test/SemaCXX/constant-expression-cxx1z.cpp
@@ -46,3 +46,16 @@ namespace Cxx17CD_NB_GB19 {
const int &r = 0;
constexpr int n = r;
}
+
+namespace PR37585 {
+template <class T> struct S { static constexpr bool value = true; };
+template <class T> constexpr bool f() { return true; }
+template <class T> constexpr bool v = true;
+
+void test() {
+ if constexpr (true) {}
+ else if constexpr (f<int>()) {}
+ else if constexpr (S<int>::value) {}
+ else if constexpr (v<int>) {}
+}
+}