This is an archive of the discontinued LLVM Phabricator instance.

[libcxx] Split locale management out of newlib/xlocale.h. NFCI
ClosedPublic

Authored by bcraig on Feb 18 2016, 7:57 AM.

Details

Summary

This is one part of many of a locale refactor. See http://reviews.llvm.org/D17146 for an idea of where this is going.

For the locale refactor, the locale management functions (newlocale, freelocale, uselocale) are needed in a separate header from the various _l functions. This is because some platforms implement the _l functions in terms of a locale switcher RAII helper, and the locale switcher RAII helper needs the locale management functions. This patch helps pave the way by getting all the functions in the right files, so that later diffs aren't completely horrible.

The "do-nothing" / "nop" locale functions are also useful on their own for other lightweight platforms. Putting these nop implementations in support/xlocale should enable code sharing.

Unfortunately, I have no access to a newlib system to build and test with, so this change has been made blind.

Diff Detail

Event Timeline

bcraig updated this revision to Diff 48317.Feb 18 2016, 7:57 AM
bcraig retitled this revision from to [libcxx] Split locale management out of newlib/xlocale.h. NFCI.
bcraig updated this object.
bcraig added reviewers: jroelofs, mclow.lists.
bcraig added a subscriber: cfe-commits.
jroelofs accepted this revision.Feb 18 2016, 8:14 AM
jroelofs edited edge metadata.

LGTM

This revision is now accepted and ready to land.Feb 18 2016, 8:14 AM
bcraig closed this revision.Feb 18 2016, 9:50 AM