[all-commits] [llvm/llvm-project] cbf190: Upstream Bionic definitions of ctype_base/regex.

Dan Albert via All-commits all-commits at lists.llvm.org
Mon Apr 6 13:38:24 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: cbf1904a3e054357806163b12547e1bed1641d5c
      https://github.com/llvm/llvm-project/commit/cbf1904a3e054357806163b12547e1bed1641d5c
  Author: Dan Albert <danalbert at google.com>
  Date:   2020-04-06 (Mon, 06 Apr 2020)

  Changed paths:
    M libcxx/include/__locale
    M libcxx/include/regex

  Log Message:
  -----------
  Upstream Bionic definitions of ctype_base/regex.

Summary:
This is a patch that Android has been carrying in its tree for several
years. This patch upstreams the existing ABI.

There's some historical cruft here. __regex_word used to be a part of
regex_traits rather than ctype_base. Bionic also used to use its own
ctype implementation because the libc++ builtin one wasn't available
yet. Bionic's ctype masks were 8 bits wide and already saturated, so a
wider type needed to be used for the regex mask, and the existing
value was already used so Android needed to specify its own.

Since then Android has migrated to the builtin ctype implementation
and this patch probably should have been dropped then. Unfortunately
that was not noticed at the time, so now we need to keep this to
maintain the current ABI.

Reviewers: EricWF, #libc, ldionne

Reviewed By: #libc, ldionne

Subscribers: dexonsmith, ldionne, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D76171




More information about the All-commits mailing list