This is an archive of the discontinued LLVM Phabricator instance.

[libc++] Add a libc++ configuration that does not support localization
ClosedPublic

Authored by ldionne on Oct 23 2020, 12:55 PM.

Details

Reviewers
None
Group Reviewers
Restricted Project
Commits
rG88ffc72717c3: [libc++] Add a libc++ configuration that does not support localization
Summary

When porting libc++ to embedded systems, it can be useful to drop support for localization, which these systems don't implement or care about.

Diff Detail

Event Timeline

ldionne created this revision.Oct 23 2020, 12:55 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 23 2020, 12:55 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
ldionne requested review of this revision.Oct 23 2020, 12:55 PM
ldionne retitled this revision from [WIP][libc++] Add a libc++ configuration that does not support localization to [libc++] Add a libc++ configuration that does not support localization.Oct 27 2020, 8:49 AM
ldionne edited the summary of this revision. (Show Details)
ldionne updated this revision to Diff 301013.Oct 27 2020, 8:50 AM

Rebase and finish missing UNSUPPORTED markup

ldionne updated this revision to Diff 301054.Oct 27 2020, 10:36 AM

Rebase onto master and skip some modules tests

ldionne accepted this revision as: Restricted Project.Oct 27 2020, 11:55 AM

All CI passed after restarting some jobs. I'll be committing this.

This revision was not accepted when it landed; it landed in state Needs Review.Oct 27 2020, 11:57 AM
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
libcxx/test/libcxx/double_include.sh.cpp
152

I would expect all stream/regex still support. only the encoding/format conversion or wide char version has to be skipped.

ldionne added inline comments.Nov 2 2020, 3:33 PM
libcxx/test/libcxx/double_include.sh.cpp
152

Good luck pulling those out of the library. If you're willing to spend the time and make that work, I'll be more than happy to expand the no-localization mode to include some of <iostream>. Just make sure it doesn't become too complex.

Also note that this is primarily aimed at people doing embedded development. I would expect most of them probably don't care about <iostream> at all.

xiaoxiang781216 added inline comments.Nov 3 2020, 2:13 AM
libcxx/test/libcxx/double_include.sh.cpp
152

Ok, it's fine to disable the whole iostream/regex in the initial patch, we can do more fine tune in the furture.