[roll] Roll fuchsia [stdcompat] Fix to_address for LLVM iterator changes

Recent LLVM change to __wrap_iter (
https://github.com/llvm/llvm-project/pull/178864) caused our
to_address polyfill to fail, as pointer_traits no longer
matches the iterator's actual return type.

This change:

1) Fixes C++17 builds by using a custom detection trait.

2) Updates the static_assert to use std::is_pointer_v.
This keeps the anti-chaining fix
(https://fxbug.dev/42149777) while supporting updated
LLVM metadata.

3) Adds the standard std::addressof fallback path.

4) Adds tests to memory_test.cc

Original-Bug: 504654778
Test: stdcompat-tests
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1585173
Original-Revision: 3c1765a0219c9a5a1a9f5f4de4e2080b598a3ab7
GitOrigin-RevId: b7d2a085a741220c4c3fc33ed3bb49d2c4775657
Change-Id: I8a0168fc127a3cb15dbb3325015d93e309b7340b
1 file changed
tree: 78d7a95286f19b85dcf21f4347bea4e7a9b7b2ce
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cobalt
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. 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.