[roll] Roll fuchsia [roll] Roll llvm-project/libc [libc] Templatize strtointeger implementation. (#165884)

* Removes the copy-pasta implementation of wcstointeger,
  and migrate the wcsto* family of functions to use a template
  version of strtointeger.
* Fixes the out-of-bound read in the original implementation(s)
  when the entire input string consists of whitespaces
  (then the sign check can access OOB memory)

The code is currently slightly peppered with "if constexpr" statements
to distinguish between char and wchar_t. We can probably
simplify it in subsequent changes by:
* using overrides, so that internal::isalnum() is overriden for
  both char and wchar_t (since C++ luckily allows us to reuse names).
* this wouldn't help for direct comparison with literals -
for this as a somewhat ugly workaround like is_char_literal(c, '0',
L'0')

GitOrigin-RevId: 315dfe5865962d8a3d60e21d1fffce5214fe54ef
Original-Revision: b743e45e4c6f511308e6422f88f1db6f9b115aa8

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1409699
Original-Revision: 4879afb903818e6bc53ec523827457f4ff091cb1
GitOrigin-RevId: 912eec52c442dc95f46cf0f12ac4f598feb0e556
Change-Id: If2d4364b592d8fd0e4d616c17e734ce9f9cbfbde
1 file changed
tree: 8c66e51e864b1c416031fe77ae689a87d9b5de34
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. flower
  6. jiri.lock
  7. MILESTONE
  8. minimal
  9. prebuilts
  10. README.md
  11. stem
  12. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.