// 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};
};