(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
cpp1y/
auto-fn45.C
// PR c++/69057
// { dg-do compile { target c++14 } }

#include <cassert>

using GLenum = unsigned int;

template <typename T>
inline constexpr auto from_enum(const T& x) noexcept
{
    // Comment this line to prevent segmentation fault:
    assert(true);
    // ------------------------------------------------

    return (GLenum)x;
}

enum class buffer_target : GLenum
{
    array
};

struct vbo
{
    static constexpr GLenum target_value{from_enum(buffer_target::array)};
    GLenum x{target_value};
};