view gcc/testsuite/g++.dg/cpp1y/constexpr-initlist1.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// PR c++/64333
// { dg-do compile { target c++14 } }
#include <initializer_list>

constexpr int max(std::initializer_list<int> ints)
{
        int ret = *(ints.begin());
        for (int i = 0; i < ints.size(); ++i) {
                if (*(ints.begin()+i) > ret) {
                        ret = *(ints.begin()+i);
                }
        }
        return ret;
}

int main()
{
        constexpr int z = max({7,6,5,4,3,2,1});
        constexpr int z2 = max({5,4,3,2,1});
        static_assert(z == 7, "");
        static_assert(z2 == 5, "");
}