Skip to content

Conversation

@spoonincode
Copy link
Contributor

With clang 20 + libstdc++15 this code is erroring out with

error: constructor for 'eosio::chain::platform_timer' must explicitly initialize the member '_state' which does not have a default constructor

afaict the code is correct for c++20, but this combination of compiler + stdlib seems to be unable to determine that timer_state_t is default constructable (well I think that's the problem). The annoying thing is I wasn't able to reproduce this in a smaller test case, so I wonder if something else is goofy. I don't really want to make this change so sending up as draft to see if anyone else has thoughts.

Copy link
Contributor

@heifner heifner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks harmless enough to me.

@greg7mdp
Copy link
Contributor

Yes, it seems that the change should not be needed. Related discussion which was adopted in Belfast https://wg21.link/P0883. I wonder why clang-20 is not happy.

@spoonincode
Copy link
Contributor Author

i've still been snooping around what the upstream problem may be as I'd rather not commit this (easy to become cruft which is never removed). I did find gcc-mirror/gcc@613f8dd which for a moment I thought was the fix, but that is actually in gcc15... so maybe that's what broke things 😁

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants