[roll] Roll fuchsia [kernel][chainlock] Don't evaluate types during if constexpr (false)

Make some of the internal chainlock methods templated in order to
prevent type expansion from happening in the false half of an `if
constexpr` statement.  If an `if constexpr` occurs in a non-templated
entity, both halves of the statement are fully checked, which is
apparently something that has always been the rule, but which is just
now starting to be enforced in compilers.

See the (large) new comment included in the CL for details.

Original-Fixed: 339652126
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1046152
Original-Revision: 50a6426de756023787a4d8974c7b74b003a7935d
GitOrigin-RevId: 838810271711485a7695f0a27f10e82071458eb5
Change-Id: I2cdae611d0248d97e34f16fa0f093273c1eddf05
1 file changed
tree: 6fc12150e7fc0b12d3601a2e10c3f14c012bb9f6
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
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 via the IRC channel #fuchsia on Freenode.

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.