On Thu, Jan 27, 2022 at 02:01:40PM +0100, František Šumšal wrote:
Looks like the culprit is:
In file included from common/mptPathString.cpp:13:
./src/mpt/uuid/uuid.hpp: In constructor 'constexpr
mpt::mpt_libopenmpt::UUID::UUID()':
./src/mpt/uuid/uuid.hpp:195:17: error: 'goto' is not a constant expression
195 | return;
| ^~~~~~
./src/mpt/uuid/uuid.hpp: In constructor 'constexpr
mpt::mpt_libopenmpt::UUID::UUID(mpt::mpt_libopenmpt::uint32, mpt::mpt_libopenmpt::uint16,
mpt::mpt_libopenmpt::uint16, mpt::mpt_libopenmpt::uint64)':
./src/mpt/uuid/uuid.hpp:202:17: error: 'goto' is not a constant expression
202 | return;
| ^~~~~~
That is weird.
Tried
struct UUID
{
private:
unsigned int Data1;
unsigned short Data2;
unsigned short Data3;
unsigned long long Data4;
public:
constexpr inline UUID() noexcept : Data1(0), Data2(0), Data3(0), Data4(0) { return; }
constexpr inline explicit UUID(unsigned int Data1, unsigned short Data2, unsigned short
Data3, unsigned long long Data4) noexcept : Data1(Data1), Data2(Data2), Data3(Data3),
Data4(Data4) { return; }
};
constexpr UUID a;
constexpr UUID b{1, 2, 3, 4};
constexpr UUID c(1, 2, 3, 4);
but that compiles just fine, so I'll need a preprocessed source
+ g++ command line options.
Jakub