This is an archive of the discontinued LLVM Phabricator instance.

[libcxx] Fix std::vector construct_iter_iter.pass.cpp test (C++98/03)
ClosedPublic

Authored by miyuki on Jun 10 2020, 5:43 AM.

Details

Summary

The test is failing on 32-bit targets in C++03 mode. Clang produces
the following warning: 'integer literal is too large to be represented
in type 'long' and is subject to undefined behavior under C++98,
interpreting as 'unsigned long'; this literal will have type 'long
long' in C++11 onwards [-Wc++11-compat]' which is promoted to an error
and causes the test to fail.

There have been no changes in the test itself since 2019, so it looks
like the diagnostic has been updated.

Diff Detail

Event Timeline

miyuki created this revision.Jun 10 2020, 5:43 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 10 2020, 5:43 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
ldionne accepted this revision.Jun 10 2020, 6:21 AM
This revision is now accepted and ready to land.Jun 10 2020, 6:21 AM
This revision was automatically updated to reflect the committed changes.
miscco added a subscriber: miscco.Jun 10 2020, 6:46 AM

Do we need to reenable the test somewhere?

Do we need to reenable the test somewhere?

My understanding is that it was never disabled, it just started failing with a recent compiler. @miyuki is that correct?

Do we need to reenable the test somewhere?

My understanding is that it was never disabled, it just started failing with a recent compiler. @miyuki is that correct?

Yes. Probably C++03 + 32-bit target is not a common configuration, and it is not being tested by the public build bots, so it hasn't been reported.

Thanks, that was what i expected but wanted to be safe