[all-commits] [llvm/llvm-project] 9c3a7a: [libc++] Cleanly implement the base locale API for...

Louis Dionne via All-commits all-commits at lists.llvm.org
Mon Nov 11 10:11:45 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9c3a7ad7faab0e172d08e5873b88141ab9866985
      https://github.com/llvm/llvm-project/commit/9c3a7ad7faab0e172d08e5873b88141ab9866985
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-11-11 (Mon, 11 Nov 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__locale_dir/locale_base_api.h
    R libcxx/include/__locale_dir/locale_base_api/apple.h
    R libcxx/include/__locale_dir/locale_base_api/freebsd.h
    A libcxx/include/__locale_dir/support/apple.h
    A libcxx/include/__locale_dir/support/bsd_like.h
    A libcxx/include/__locale_dir/support/freebsd.h
    M libcxx/include/iomanip
    M libcxx/include/module.modulemap
    M libcxx/test/std/input.output/iostream.format/input.streams/iostreamclass/iostream.assign/member_swap.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/iostreamclass/iostream.assign/move_assign.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/iostreamclass/iostream.cons/move.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/iostreamclass/iostream.cons/streambuf.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/bool.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/double.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/float.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/int.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_double.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_long.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/pointer.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/short.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_int.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long_long.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_short.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/chart.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/signed_char.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/signed_char_pointer.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/streambuf.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/unsigned_char.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/unsigned_char_pointer.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/wchar_t_pointer.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.manip/ws.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size_chart.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf_chart.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size_chart.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/peek.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/putback.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/readsome.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/sync.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/tellg.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/unget.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream/istream.assign/member_swap.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream/istream.assign/move_assign.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream/istream.cons/move.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream/istream.cons/streambuf.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream/istream_sentry/ctor.pass.cpp

  Log Message:
  -----------
  [libc++] Cleanly implement the base locale API for BSD-like platforms (#115176)

Instead of going through the old locale entry points, define the base
localization API for BSD-like platforms (Apple and FreeBSD) from
scratch, using <xlocale.h> as a basis. This doesn't actually change how
that functionality is implemented, it only avoids going through a maze
to do so.

This clean new support is implemented in a separate __locale_dir/support
directory, which mirrors what we do for the threading support API.
Eventually, everything under __locale_dir/locale_base_api will go away.

rdar://131476632



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list