This is an archive of the discontinued LLVM Phabricator instance.

[libcxx] Initializer list support for MSVC
AbandonedPublic

Authored by K-ballo on Aug 29 2014, 12:23 PM.

Details

Summary

MSVC expects std::initializer_list to have a publicly accessible constructor taking the begin and end pointers.

Diff Detail

Event Timeline

K-ballo updated this revision to Diff 13101.Aug 29 2014, 12:23 PM
K-ballo retitled this revision from to [libcxx] Initializer list support for MSVC.
K-ballo updated this object.
K-ballo edited the test plan for this revision. (Show Details)
K-ballo added reviewers: mclow.lists, EricWF.
K-ballo added a subscriber: Unknown Object (MLST).
mclow.lists edited edge metadata.Oct 23 2014, 9:44 AM

Do we need tests for this change?

Do we need tests for this change?

The existing tests will do fine, the problem is that the test wont just run with libc++ as is. I had to make a number of changes and add workarounds to get it to work with MSVC, as well as hacked lit.cfg to just work. I'm not sure how to proceed with these changes.

Do we need tests for this change?

include/initializer_list
83

Can we make this private?
We don't want anyone calling it inadvertently.

Regarding my "private" comment: I checked with MS, and the answer is "no". Even thought this is only called by compiler-generated code, the compiler still pays attention to the access permissions.

This is, of course, fixable in their compiler, and I will enter a DR for this vs MSVC. But that doesn't help us today.

mclow.lists accepted this revision.Feb 13 2015, 1:14 PM
mclow.lists edited edge metadata.
This revision is now accepted and ready to land.Feb 13 2015, 1:14 PM

Waiting for VS2015RTM

K-ballo abandoned this revision.Oct 12 2017, 4:11 PM