This is an archive of the discontinued LLVM Phabricator instance.

[libcxx] Disable assert when building with newlib
AbandonedPublic

Authored by tomhughes on Oct 25 2022, 11:45 AM.

Details

Reviewers
ldionne
abidh
Group Reviewers
Restricted Project
Summary

newlib defines blank as 0200 (0x80) (see newlib/libc/include/ctype.h),
which is the same as __regex_word, so the static_assert fails. However,
"mask" is only a single byte, so we don't have room to expand.

Diff Detail

Event Timeline

tomhughes created this revision.Oct 25 2022, 11:45 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 25 2022, 11:45 AM
tomhughes requested review of this revision.Oct 25 2022, 11:45 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 25 2022, 11:45 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript

Updated commit message to include bug number.

I'm not sure what the implications of this static_assert failing are. Since we can't avoid overlap with newlib's current defines and mask size, do we need to get newlib to fix this upstream?

I think this is being superseded by https://reviews.llvm.org/D138195. If so, please abandon to clear the review queue. Otherwise, please let us know.

tomhughes abandoned this revision.Nov 28 2022, 8:08 AM

Yes, it looks like https://reviews.llvm.org/D138195 addresses this.