Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-94150

Update to latest clang-format

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Server Programmability

      There are a number of known issues with our current version especially with C++20 features like requires. While historically we have done this as part of a toolchain upgrade, there is no reason that it needs to be. We can upgrade clang-format independently from the rest of llvm, and it will be both less risky (should have zero impact on the generated code other than debug info), and be much easier (no worries about incompatible code in third party, and don't need to support our "exotic" platforms).

      One possible option for building clang-format would be to fork https://github.com/muttleyxd/clang-tools-static-binaries, remove the versions and tools we don't care about, and add the missing platforms that we do care about (eg linux arm64). That uses github actions to produce a small (~4MB), statically linked binary for clang-format that should work on all linuxes.

            Assignee:
            Unassigned Unassigned
            Reporter:
            mathias@mongodb.com Mathias Stearn
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: