Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Declaration of type alias acl::acl_impl::is_trivially_default_constructible fails to compile in configurations using Clang but not libcpp using c++20 standard libraries #509

Open
davidra opened this issue Jul 30, 2024 · 2 comments
Labels
Milestone

Comments

@davidra
Copy link

davidra commented Jul 30, 2024

std::has_trivial_default_constructor has been long deprecated and is now removed from C++20 libraries, which means that when the check #if !defined(__GNUG__) || defined(_LIBCPP_VERSION) || defined(_GLIBCXX_USE_CXX11_ABI) fails the code fails to compile when compiled for a standard library compliant with C++20 that is not libcxx (e.g., when building code with a PlayStation SDK).

@nfrechette nfrechette added this to the v2.2 milestone Aug 2, 2024
@nfrechette nfrechette added the bug label Aug 2, 2024
@nfrechette
Copy link
Owner

Hello and apologies for the late reply.
That is unfortunate :(

Perhaps it would be suitable to only use has_trivial_default_constructor if we compile C++11 since we can't guarantee standard compliance for compilers that partially implement it but anything using C++14 and up would require full C++11 coverage, avoiding your issue. Maybe something along the lines of #if RTM_CPP_VERSION < RTM_CPP_VERSION_14 && everything else. How does that sound?

@davidra
Copy link
Author

davidra commented Aug 5, 2024

Sorry for the delay on the reply.

That sounds good to me!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants