diff options
Diffstat (limited to 'test/SemaCXX/constant-expression-cxx1z.cpp')
-rw-r--r-- | test/SemaCXX/constant-expression-cxx1z.cpp | 13 |
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>) {} +} +} |