view gcc/testsuite/g++.dg/cpp1y/constexpr-initlist1.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +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, "");
}