This is an archive of the discontinued LLVM Phabricator instance.

[libc++] Fix problems with GCC 13 and switch to it in the CI
ClosedPublic

Authored by philnik on Aug 3 2023, 5:47 PM.

Details

Reviewers
Mordante
Group Reviewers
Restricted Project
Restricted Project
Commits
rGf29c54998d23: [libc++] Fix problems with GCC 13 and switch to it in the CI

Diff Detail

Event Timeline

philnik created this revision.Aug 3 2023, 5:47 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 3 2023, 5:47 PM
Herald added a subscriber: arichardson. · View Herald Transcript
philnik requested review of this revision.Aug 3 2023, 5:47 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 3 2023, 5:47 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
philnik added inline comments.Aug 3 2023, 5:55 PM
libcxx/test/std/utilities/meta/meta.rel/is_convertible.pass.cpp
117–126

This code seems bogus to me and GCC disagrees with clang here. I've filed https://github.com/llvm/llvm-project/issues/64402, since I'm quite certain that the typedef above shouldn't be accepted. If the clang folks agree with me I'll also file a bug report against GCC.

philnik updated this revision to Diff 547128.Aug 4 2023, 12:55 AM

Try to fix CI

philnik updated this revision to Diff 547275.Aug 4 2023, 10:44 AM

Try to fix CI

Herald added a project: Restricted Project. · View Herald TranscriptAug 4 2023, 10:44 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
philnik updated this revision to Diff 547279.Aug 4 2023, 11:08 AM

Fixes

libcxx/test/std/utilities/meta/meta.rel/is_convertible.pass.cpp
117–126

Never mind. This is actually valid code and GCC probably has a bug in __is_convertible.

Thanks for working on this! Please update the official supported GCC version in the libc++ documentation,

libcxx/test/std/utilities/meta/meta.rel/is_convertible.pass.cpp
121

All versions of GCC or just 13?

philnik updated this revision to Diff 547865.Aug 7 2023, 10:56 AM

Address comments

philnik added inline comments.Aug 7 2023, 10:56 AM
libcxx/test/std/utilities/meta/meta.rel/is_convertible.pass.cpp
121

Just GCC 13

In general happy, but I would like to have a short look after my comment has been addressed.

libcxx/test/std/utilities/meta/meta.rel/is_convertible.pass.cpp
121

Maybe add that information in the comment and in the header too. something like
TODO Enable again when https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110904 is fixed. The bug was introduced in GCC 13.

philnik updated this revision to Diff 548783.Aug 9 2023, 3:16 PM
philnik marked 2 inline comments as done.

Address comments

libcxx/test/std/utilities/meta/meta.rel/is_convertible.pass.cpp
121

It's already fixed in the GCC trunk. I've just made this an LLVM 19 TODO, since we will probably switch to GCC 14 then.

Mordante accepted this revision.Aug 11 2023, 11:01 AM

LGTM!

libcxxabi/test/catch_member_function_pointer_02.pass.cpp
18

After you land this can you make a follow-up draft review to remove the gcc-11 and gcc-12 XFAILS here and elsewhere.
I think it's good to give it a CI spin and land it when the CI happy.

philnik accepted this revision as: Restricted Project.Aug 14 2023, 4:51 PM
philnik added inline comments.
libcxxabi/test/catch_member_function_pointer_02.pass.cpp
18

That was my plan.

This revision is now accepted and ready to land.Aug 14 2023, 4:51 PM
This revision was landed with ongoing or failed builds.Aug 14 2023, 4:54 PM
This revision was automatically updated to reflect the committed changes.