Page MenuHomePhabricator

[libc++] Mark LWG3211 as complete: default constructor of tuple<> should be trivial
ClosedPublic

Authored by jloser on Oct 28 2021, 11:35 AM.

Details

Summary

libc++ has had the guarantee of the default constructor of tuple<> being
trivial since 405570dc7a95cdf43cdee14b8a9f9c1657a6ad13. Now, the
standard mandates it as of LWG3211. So, move the file out of
libcxx/test/libcxx and into libcxx/test/std since it's no longer
libc++-specific. Rename it to be .compile.pass.cpp instead of
.pass.cpp while we're at it.

Diff Detail

Event Timeline

jloser requested review of this revision.Oct 28 2021, 11:35 AM
jloser created this revision.
Herald added a project: Restricted Project. · View Herald TranscriptOct 28 2021, 11:35 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
jloser retitled this revision from [libc++] Mark LWG3211 as complete: tuple<> default ctor of should be trivial to [libc++] Mark LWG3211 as complete: default constructor of tuple<> should be trivial.Oct 28 2021, 11:37 AM
jloser edited the summary of this revision. (Show Details)
ldionne accepted this revision.Oct 28 2021, 11:46 AM

Thanks a lot for the archeology!

This revision is now accepted and ready to land.Oct 28 2021, 11:46 AM
Mordante accepted this revision.Oct 28 2021, 12:03 PM

One minor nit, other than that LGTM!

libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/empty_tuple_trivial.compile.pass.cpp
14

Since it's compilation only main can be removed.

jloser added inline comments.Oct 28 2021, 12:07 PM
libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/empty_tuple_trivial.compile.pass.cpp
14

Good call. I plan on rebasing once CI is fixed/green and then if if this is still green after rebasing, I'll remove the main and land this.

jloser updated this revision to Diff 383153.Oct 28 2021, 1:45 PM

Rebase after CI fixes
Remove main

jloser marked an inline comment as done.Oct 28 2021, 1:46 PM
Quuxplusone accepted this revision.Oct 28 2021, 2:03 PM