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