This is an archive of the discontinued LLVM Phabricator instance.

[libcxx] Cleanup and fix is_destructible and tests in C++03.
AbandonedPublic

Authored by EricWF on Nov 18 2014, 6:23 PM.

Details

Summary

There are a couple of changes in this patch:

  1. Fix is_nothrow_destructible<int[]> in C++03 mode to be false.
  2. Wrap access control tests in #ifdef block
  3. Wrap deleted function tests in #ifdef block.
  4. Make the destructor public for the Abstract and AbstractDestructor types.

Diff Detail

Event Timeline

EricWF updated this revision to Diff 16364.Nov 18 2014, 6:23 PM
EricWF retitled this revision from to [libcxx] Cleanup and fix is_destructible and tests in C++03. .
EricWF updated this object.
EricWF edited the test plan for this revision. (Show Details)
EricWF added reviewers: mclow.lists, danalbert.
EricWF added a subscriber: Unknown Object (MLST).
mclow.lists edited edge metadata.Nov 19 2014, 8:10 AM

I'm unsure why we're testing for __has_feature(cxx_noexcept) in is_nothrow_destructible.pass.cpp

test/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_destructible.pass.cpp
72

I like the idea of adding a test for an array of known bound, but did you mean [3] or [][3] ??

I'm unsure why we're testing for __has_feature(cxx_noexcept) in is_nothrow_destructible.pass.cpp

The toggle between the C++11 and C++03 implementation of is_nothrow_destructible is __has_feature(cxx_noexcept). I think it is silly, but that is the way it currently works.

test/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_destructible.pass.cpp
72

There is a test for an array of a known bound below. I just wanted to make sure a multi-dimensional array with an unknown bound was handled as I expected.

test/utilities/meta/meta.unary/meta.unary.prop/is_trivially_destructible.pass.cpp
40

I think this change sneaked in. Is this dtor meant to be private?

EricWF abandoned this revision.Jul 18 2015, 1:03 PM

This is a duplicate of an already closed review. Abandoning. Sorry for the noise.