xref: /minix3/external/bsd/llvm/dist/clang/test/SemaCXX/constexpr-ackermann.cpp (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -std=c++11 -fsyntax-only %s
2*f4a2713aSLionel Sambuc 
A(unsigned long long m,unsigned long long n)3*f4a2713aSLionel Sambuc constexpr unsigned long long A(unsigned long long m, unsigned long long n) {
4*f4a2713aSLionel Sambuc   return m == 0 ? n + 1 : n == 0 ? A(m-1, 1) : A(m - 1, A(m, n - 1));
5*f4a2713aSLionel Sambuc }
6*f4a2713aSLionel Sambuc 
7*f4a2713aSLionel Sambuc using X = int[A(3,4)];
8*f4a2713aSLionel Sambuc using X = int[125];
9