STL/.clang-format

323 строки
10 KiB
Plaintext
Исходник Постоянная ссылка Обычный вид История

2019-09-05 01:57:56 +03:00
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
# https://releases.llvm.org/18.1.8/tools/clang/docs/ClangFormatStyleOptions.html
# To update this .clang-format file for a new clang-format version:
# 1. Update the documentation link above.
# 2. Copy the output of `clang-format -dump-config` into a temporary file.
# a. Comment out all of its lines.
# b. Uncomment `BasedOnStyle: LLVM`.
# 3. Compare that temporary file to this .clang-format file.
# 4. Adjust this .clang-format file to record new and updated options.
# a. Read the new documentation to understand such changes.
# 5. The goal is for the comparison from the temporary file to this .clang-format file to be pure additions (green).
# a. That is, comments here are recording the defaults, while added lines are our customized settings.
2019-09-05 01:57:56 +03:00
---
# Language: Cpp
BasedOnStyle: LLVM
# AccessModifierOffset: -2
AccessModifierOffset: -4
# AlignAfterOpenBracket: Align
AlignAfterOpenBracket: DontAlign
# AlignArrayOfStructures: None
# AlignConsecutiveAssignments:
# Enabled: false
# AcrossEmptyLines: false
# AcrossComments: false
# AlignCompound: false
# AlignFunctionPointers: false
# PadOperators: true
AlignConsecutiveAssignments: Consecutive
# AlignConsecutiveBitFields:
# Enabled: false
# AcrossEmptyLines: false
# AcrossComments: false
# AlignCompound: false
# AlignFunctionPointers: false
# PadOperators: false
# AlignConsecutiveDeclarations:
# Enabled: false
# AcrossEmptyLines: false
# AcrossComments: false
# AlignCompound: false
# AlignFunctionPointers: false
# PadOperators: false
# AlignConsecutiveMacros:
# Enabled: false
# AcrossEmptyLines: false
# AcrossComments: false
# AlignCompound: false
# AlignFunctionPointers: false
# PadOperators: false
AlignConsecutiveMacros: Consecutive
# AlignConsecutiveShortCaseStatements:
# Enabled: false
# AcrossEmptyLines: false
# AcrossComments: false
# AlignCaseColons: false
2019-09-05 01:57:56 +03:00
# AlignEscapedNewlines: Right
AlignEscapedNewlines: Left
Toolset update: VS 2019 16.9 Preview 2 with Clang 11 * Fix #1471 by properly waiting for the Windows Driver Kit installation to finish. * Update `azure-pipelines.yml` to use the new pool `StlBuild-2020-12-08`. * Update `README.md` to mention Preview 2. (Its CMake and Ninja versions haven't changed, and we don't directly mention the Clang version.) * Update `yvals_core.h` to require Clang 11. (Note that MSVC's `_MSC_VER` is remaining `1928` for the 16.9 release.) * Remove the workaround for LLVM-37556. (We were treating it as an uncommented perma-workaround, but I remembered.) * Remove many workarounds in `P1502R1_standard_library_header_units`. * Remove the VSO-1225825 workaround in `<iterator>` and `<ranges>`. * Unrelated cleanup in `<valarray>`: `__cpp_aligned_new` implies `if constexpr`. * Update the vcpkg submodule for Boost 1.74.0. This is just their latest commit. * In `CMakeLists.txt`, require Boost 1.74.0. (This, combined with the toolset update, implies that contributors will need to `git submodule update`, clean out the `vcpkg` submodule with `git clean -x -d -f`, and then bootstrap vcpkg and build boost-math.) * Simplify conditional operators in `seed_seq::generate`. + Thanks to @AlexGuteniev for suggesting extracting `_Off` and noticing that `_Myvec[(_Kx - 1) % _Sx]` was unnecessarily complicated. Given `_Kx` in `[1, _Sx]`, then `_Kx - 1` is in `[0, _Sx - 1]`, so `% _Sx` does nothing. * Take advantage of clang-format 11. This sets `AlignOperands: AlignAfterOperator` and `IndentCaseBlocks: true`.
2020-12-03 05:19:14 +03:00
# AlignOperands: Align
AlignOperands: AlignAfterOperator
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# AlignTrailingComments:
# Kind: Always
# OverEmptyLines: 0
AlignTrailingComments:
Kind: Never
# AllowAllArgumentsOnNextLine: true
2019-09-05 01:57:56 +03:00
# AllowAllParametersOfDeclarationOnNextLine: true
# AllowBreakBeforeNoexceptSpecifier: Never
AllowBreakBeforeNoexceptSpecifier: OnlyWithParen
Update .clang-format for Clang 10 (#1075) * Remove unnecessary comments in ranges tests. We taught clang-format how to sort like this automatically. * Fix x86 compiler error in stljobs.h. This never compiled for x86 where size_t and SIZE_T are different types. * Update .clang-format for Clang 10. AllowShortBlocksOnASingleLine changed from false/true to Never/Empty/Always. We still want the default of Never, as Empty appears to misbehave. DeriveLineEnding was added, defaulting to true. We want to disable line ending auto-detection. SortPriority was added. Its documentation is difficult to understand, but it can be used to group includes together while modifying their otherwise-lexicographic ordering. Here, I'm using it to group WinSDK includes together, while still sorting WinIoCtl.h last. IncludeIsMainSourceRegex was added. This doesn't appear to be relevant to us. IndentGotoLabels was added. We've avoided goto. SpaceInEmptyBlock was added. We prefer the default of no space. SpacesInConditionalStatement was added. We definitely prefer the default of no space. SpaceBeforeSquareBrackets was added. Again, we definitely prefer the default of no space. The Standard option was overhauled. Previously, Cpp11 meant "use the latest supported standard". That was confusing, so it has been deprecated in favor of Latest. UseCRLF was added. We currently use CRLF for all files. (Previously, validate.cpp would detect LF files, but clang-format wouldn't fix them.) * In .clang-format, delete empty lines and move comment. The empty lines were intended to make it easier to see customized options, but they were actually making it harder to diff the default config against our config. Move the StatementMacros comment next to our customized settings, and rewrap it. * Reformat filesystem.cpp.
2020-07-27 21:38:12 +03:00
# AllowShortBlocksOnASingleLine: Never
2019-09-05 01:57:56 +03:00
# AllowShortCaseLabelsOnASingleLine: false
# AllowShortCompoundRequirementOnASingleLine: true
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# AllowShortEnumsOnASingleLine: true
2019-09-05 01:57:56 +03:00
# AllowShortFunctionsOnASingleLine: All
AllowShortFunctionsOnASingleLine: Empty
# AllowShortIfStatementsOnASingleLine: Never
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# AllowShortLambdasOnASingleLine: All
2019-09-05 01:57:56 +03:00
# AllowShortLoopsOnASingleLine: false
# AlwaysBreakAfterDefinitionReturnType: None
# AlwaysBreakAfterReturnType: None
# AlwaysBreakBeforeMultilineStrings: false
# AlwaysBreakTemplateDeclarations: MultiLine
AlwaysBreakTemplateDeclarations: Yes
# AttributeMacros:
# - __capability
2019-09-05 01:57:56 +03:00
# BinPackArguments: true
# BinPackParameters: true
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# BitFieldColonSpacing: Both
2019-09-05 01:57:56 +03:00
# BraceWrapping:
# AfterCaseLabel: false
2019-09-05 01:57:56 +03:00
# AfterClass: false
Toolset update: VS 2019 16.9 Preview 2 with Clang 11 * Fix #1471 by properly waiting for the Windows Driver Kit installation to finish. * Update `azure-pipelines.yml` to use the new pool `StlBuild-2020-12-08`. * Update `README.md` to mention Preview 2. (Its CMake and Ninja versions haven't changed, and we don't directly mention the Clang version.) * Update `yvals_core.h` to require Clang 11. (Note that MSVC's `_MSC_VER` is remaining `1928` for the 16.9 release.) * Remove the workaround for LLVM-37556. (We were treating it as an uncommented perma-workaround, but I remembered.) * Remove many workarounds in `P1502R1_standard_library_header_units`. * Remove the VSO-1225825 workaround in `<iterator>` and `<ranges>`. * Unrelated cleanup in `<valarray>`: `__cpp_aligned_new` implies `if constexpr`. * Update the vcpkg submodule for Boost 1.74.0. This is just their latest commit. * In `CMakeLists.txt`, require Boost 1.74.0. (This, combined with the toolset update, implies that contributors will need to `git submodule update`, clean out the `vcpkg` submodule with `git clean -x -d -f`, and then bootstrap vcpkg and build boost-math.) * Simplify conditional operators in `seed_seq::generate`. + Thanks to @AlexGuteniev for suggesting extracting `_Off` and noticing that `_Myvec[(_Kx - 1) % _Sx]` was unnecessarily complicated. Given `_Kx` in `[1, _Sx]`, then `_Kx - 1` is in `[0, _Sx - 1]`, so `% _Sx` does nothing. * Take advantage of clang-format 11. This sets `AlignOperands: AlignAfterOperator` and `IndentCaseBlocks: true`.
2020-12-03 05:19:14 +03:00
# AfterControlStatement: Never
2019-09-05 01:57:56 +03:00
# AfterEnum: false
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# AfterExternBlock: false
2019-09-05 01:57:56 +03:00
# AfterFunction: false
# AfterNamespace: false
# AfterObjCDeclaration: false
# AfterStruct: false
# AfterUnion: false
# BeforeCatch: false
# BeforeElse: false
Toolset update: VS 2019 16.9 Preview 2 with Clang 11 * Fix #1471 by properly waiting for the Windows Driver Kit installation to finish. * Update `azure-pipelines.yml` to use the new pool `StlBuild-2020-12-08`. * Update `README.md` to mention Preview 2. (Its CMake and Ninja versions haven't changed, and we don't directly mention the Clang version.) * Update `yvals_core.h` to require Clang 11. (Note that MSVC's `_MSC_VER` is remaining `1928` for the 16.9 release.) * Remove the workaround for LLVM-37556. (We were treating it as an uncommented perma-workaround, but I remembered.) * Remove many workarounds in `P1502R1_standard_library_header_units`. * Remove the VSO-1225825 workaround in `<iterator>` and `<ranges>`. * Unrelated cleanup in `<valarray>`: `__cpp_aligned_new` implies `if constexpr`. * Update the vcpkg submodule for Boost 1.74.0. This is just their latest commit. * In `CMakeLists.txt`, require Boost 1.74.0. (This, combined with the toolset update, implies that contributors will need to `git submodule update`, clean out the `vcpkg` submodule with `git clean -x -d -f`, and then bootstrap vcpkg and build boost-math.) * Simplify conditional operators in `seed_seq::generate`. + Thanks to @AlexGuteniev for suggesting extracting `_Off` and noticing that `_Myvec[(_Kx - 1) % _Sx]` was unnecessarily complicated. Given `_Kx` in `[1, _Sx]`, then `_Kx - 1` is in `[0, _Sx - 1]`, so `% _Sx` does nothing. * Take advantage of clang-format 11. This sets `AlignOperands: AlignAfterOperator` and `IndentCaseBlocks: true`.
2020-12-03 05:19:14 +03:00
# BeforeLambdaBody: false
# BeforeWhile: false
2019-09-05 01:57:56 +03:00
# IndentBraces: false
# SplitEmptyFunction: true
# SplitEmptyRecord: true
# SplitEmptyNamespace: true
# BreakAdjacentStringLiterals: true
# BreakAfterAttributes: Leave
BreakAfterAttributes: Never
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# BreakAfterJavaFieldAnnotations: false
# BreakArrays: true
2019-09-05 01:57:56 +03:00
# BreakBeforeBinaryOperators: None
BreakBeforeBinaryOperators: NonAssignment
# BreakBeforeConceptDeclarations: Always
2019-09-05 01:57:56 +03:00
# BreakBeforeBraces: Attach
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# BreakBeforeInlineASMColon: OnlyMultiline
2019-09-05 01:57:56 +03:00
# BreakBeforeTernaryOperators: true
# BreakConstructorInitializers: BeforeColon
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# BreakInheritanceList: BeforeColon
2019-09-05 01:57:56 +03:00
# BreakStringLiterals: true
# ColumnLimit: 80
ColumnLimit: 120
# CommentPragmas: '^ IWYU pragma:'
# CompactNamespaces: false
# ConstructorInitializerIndentWidth: 4
# ContinuationIndentWidth: 4
# Cpp11BracedListStyle: true
# DerivePointerAlignment: false
# DisableFormat: false
# EmptyLineAfterAccessModifier: Never
# EmptyLineBeforeAccessModifier: LogicalBlock
2019-09-05 01:57:56 +03:00
# ExperimentalAutoDetectBinPacking: false
# FixNamespaceComments: true
# ForEachMacros:
# - foreach
# - Q_FOREACH
# - BOOST_FOREACH
# IfMacros:
# - KJ_IF_MAYBE
2019-09-05 01:57:56 +03:00
# IncludeBlocks: Preserve
IncludeBlocks: Regroup
# IncludeCategories:
# - Regex: '^"(llvm|llvm-c|clang|clang-c)/'
# Priority: 2
Update .clang-format for Clang 10 (#1075) * Remove unnecessary comments in ranges tests. We taught clang-format how to sort like this automatically. * Fix x86 compiler error in stljobs.h. This never compiled for x86 where size_t and SIZE_T are different types. * Update .clang-format for Clang 10. AllowShortBlocksOnASingleLine changed from false/true to Never/Empty/Always. We still want the default of Never, as Empty appears to misbehave. DeriveLineEnding was added, defaulting to true. We want to disable line ending auto-detection. SortPriority was added. Its documentation is difficult to understand, but it can be used to group includes together while modifying their otherwise-lexicographic ordering. Here, I'm using it to group WinSDK includes together, while still sorting WinIoCtl.h last. IncludeIsMainSourceRegex was added. This doesn't appear to be relevant to us. IndentGotoLabels was added. We've avoided goto. SpaceInEmptyBlock was added. We prefer the default of no space. SpacesInConditionalStatement was added. We definitely prefer the default of no space. SpaceBeforeSquareBrackets was added. Again, we definitely prefer the default of no space. The Standard option was overhauled. Previously, Cpp11 meant "use the latest supported standard". That was confusing, so it has been deprecated in favor of Latest. UseCRLF was added. We currently use CRLF for all files. (Previously, validate.cpp would detect LF files, but clang-format wouldn't fix them.) * In .clang-format, delete empty lines and move comment. The empty lines were intended to make it easier to see customized options, but they were actually making it harder to diff the default config against our config. Move the StatementMacros comment next to our customized settings, and rewrap it. * Reformat filesystem.cpp.
2020-07-27 21:38:12 +03:00
# SortPriority: 0
# CaseSensitive: false
2019-09-05 01:57:56 +03:00
# - Regex: '^(<|"(gtest|gmock|isl|json)/)'
# Priority: 3
Update .clang-format for Clang 10 (#1075) * Remove unnecessary comments in ranges tests. We taught clang-format how to sort like this automatically. * Fix x86 compiler error in stljobs.h. This never compiled for x86 where size_t and SIZE_T are different types. * Update .clang-format for Clang 10. AllowShortBlocksOnASingleLine changed from false/true to Never/Empty/Always. We still want the default of Never, as Empty appears to misbehave. DeriveLineEnding was added, defaulting to true. We want to disable line ending auto-detection. SortPriority was added. Its documentation is difficult to understand, but it can be used to group includes together while modifying their otherwise-lexicographic ordering. Here, I'm using it to group WinSDK includes together, while still sorting WinIoCtl.h last. IncludeIsMainSourceRegex was added. This doesn't appear to be relevant to us. IndentGotoLabels was added. We've avoided goto. SpaceInEmptyBlock was added. We prefer the default of no space. SpacesInConditionalStatement was added. We definitely prefer the default of no space. SpaceBeforeSquareBrackets was added. Again, we definitely prefer the default of no space. The Standard option was overhauled. Previously, Cpp11 meant "use the latest supported standard". That was confusing, so it has been deprecated in favor of Latest. UseCRLF was added. We currently use CRLF for all files. (Previously, validate.cpp would detect LF files, but clang-format wouldn't fix them.) * In .clang-format, delete empty lines and move comment. The empty lines were intended to make it easier to see customized options, but they were actually making it harder to diff the default config against our config. Move the StatementMacros comment next to our customized settings, and rewrap it. * Reformat filesystem.cpp.
2020-07-27 21:38:12 +03:00
# SortPriority: 0
# CaseSensitive: false
2019-09-05 01:57:56 +03:00
# - Regex: '.*'
# Priority: 1
Update .clang-format for Clang 10 (#1075) * Remove unnecessary comments in ranges tests. We taught clang-format how to sort like this automatically. * Fix x86 compiler error in stljobs.h. This never compiled for x86 where size_t and SIZE_T are different types. * Update .clang-format for Clang 10. AllowShortBlocksOnASingleLine changed from false/true to Never/Empty/Always. We still want the default of Never, as Empty appears to misbehave. DeriveLineEnding was added, defaulting to true. We want to disable line ending auto-detection. SortPriority was added. Its documentation is difficult to understand, but it can be used to group includes together while modifying their otherwise-lexicographic ordering. Here, I'm using it to group WinSDK includes together, while still sorting WinIoCtl.h last. IncludeIsMainSourceRegex was added. This doesn't appear to be relevant to us. IndentGotoLabels was added. We've avoided goto. SpaceInEmptyBlock was added. We prefer the default of no space. SpacesInConditionalStatement was added. We definitely prefer the default of no space. SpaceBeforeSquareBrackets was added. Again, we definitely prefer the default of no space. The Standard option was overhauled. Previously, Cpp11 meant "use the latest supported standard". That was confusing, so it has been deprecated in favor of Latest. UseCRLF was added. We currently use CRLF for all files. (Previously, validate.cpp would detect LF files, but clang-format wouldn't fix them.) * In .clang-format, delete empty lines and move comment. The empty lines were intended to make it easier to see customized options, but they were actually making it harder to diff the default config against our config. Move the StatementMacros comment next to our customized settings, and rewrap it. * Reformat filesystem.cpp.
2020-07-27 21:38:12 +03:00
# SortPriority: 0
# CaseSensitive: false
2019-09-05 01:57:56 +03:00
IncludeCategories:
- Regex: '^<(yvals|yvals_core)\.h>$'
Priority: 10
- Regex: '^<__msvc_.*\.hpp>$'
Priority: 20
- Regex: '^<initguid\.h>$' # <initguid.h> should be included before any header that includes <guiddef.h>
Priority: 30
SortPriority: 30
- Regex: '^<(DbgEng|DbgHelp|Shlwapi|Windows)\.h>$'
Priority: 30
SortPriority: 31
- Regex: '^<winioctl\.h>$'
Priority: 30
SortPriority: 32
- Regex: '\.hpp[>"]$'
Priority: 40
2019-09-05 01:57:56 +03:00
- Regex: '.*'
Priority: 20
2019-09-05 01:57:56 +03:00
# IncludeIsMainRegex: '(Test)?$'
Update .clang-format for Clang 10 (#1075) * Remove unnecessary comments in ranges tests. We taught clang-format how to sort like this automatically. * Fix x86 compiler error in stljobs.h. This never compiled for x86 where size_t and SIZE_T are different types. * Update .clang-format for Clang 10. AllowShortBlocksOnASingleLine changed from false/true to Never/Empty/Always. We still want the default of Never, as Empty appears to misbehave. DeriveLineEnding was added, defaulting to true. We want to disable line ending auto-detection. SortPriority was added. Its documentation is difficult to understand, but it can be used to group includes together while modifying their otherwise-lexicographic ordering. Here, I'm using it to group WinSDK includes together, while still sorting WinIoCtl.h last. IncludeIsMainSourceRegex was added. This doesn't appear to be relevant to us. IndentGotoLabels was added. We've avoided goto. SpaceInEmptyBlock was added. We prefer the default of no space. SpacesInConditionalStatement was added. We definitely prefer the default of no space. SpaceBeforeSquareBrackets was added. Again, we definitely prefer the default of no space. The Standard option was overhauled. Previously, Cpp11 meant "use the latest supported standard". That was confusing, so it has been deprecated in favor of Latest. UseCRLF was added. We currently use CRLF for all files. (Previously, validate.cpp would detect LF files, but clang-format wouldn't fix them.) * In .clang-format, delete empty lines and move comment. The empty lines were intended to make it easier to see customized options, but they were actually making it harder to diff the default config against our config. Move the StatementMacros comment next to our customized settings, and rewrap it. * Reformat filesystem.cpp.
2020-07-27 21:38:12 +03:00
# IncludeIsMainSourceRegex: ''
# IndentAccessModifiers: false
Toolset update: VS 2019 16.9 Preview 2 with Clang 11 * Fix #1471 by properly waiting for the Windows Driver Kit installation to finish. * Update `azure-pipelines.yml` to use the new pool `StlBuild-2020-12-08`. * Update `README.md` to mention Preview 2. (Its CMake and Ninja versions haven't changed, and we don't directly mention the Clang version.) * Update `yvals_core.h` to require Clang 11. (Note that MSVC's `_MSC_VER` is remaining `1928` for the 16.9 release.) * Remove the workaround for LLVM-37556. (We were treating it as an uncommented perma-workaround, but I remembered.) * Remove many workarounds in `P1502R1_standard_library_header_units`. * Remove the VSO-1225825 workaround in `<iterator>` and `<ranges>`. * Unrelated cleanup in `<valarray>`: `__cpp_aligned_new` implies `if constexpr`. * Update the vcpkg submodule for Boost 1.74.0. This is just their latest commit. * In `CMakeLists.txt`, require Boost 1.74.0. (This, combined with the toolset update, implies that contributors will need to `git submodule update`, clean out the `vcpkg` submodule with `git clean -x -d -f`, and then bootstrap vcpkg and build boost-math.) * Simplify conditional operators in `seed_seq::generate`. + Thanks to @AlexGuteniev for suggesting extracting `_Off` and noticing that `_Myvec[(_Kx - 1) % _Sx]` was unnecessarily complicated. Given `_Kx` in `[1, _Sx]`, then `_Kx - 1` is in `[0, _Sx - 1]`, so `% _Sx` does nothing. * Take advantage of clang-format 11. This sets `AlignOperands: AlignAfterOperator` and `IndentCaseBlocks: true`.
2020-12-03 05:19:14 +03:00
# IndentCaseBlocks: false
IndentCaseBlocks: true
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# IndentCaseLabels: false
# IndentExternBlock: AfterExternBlock
Update .clang-format for Clang 10 (#1075) * Remove unnecessary comments in ranges tests. We taught clang-format how to sort like this automatically. * Fix x86 compiler error in stljobs.h. This never compiled for x86 where size_t and SIZE_T are different types. * Update .clang-format for Clang 10. AllowShortBlocksOnASingleLine changed from false/true to Never/Empty/Always. We still want the default of Never, as Empty appears to misbehave. DeriveLineEnding was added, defaulting to true. We want to disable line ending auto-detection. SortPriority was added. Its documentation is difficult to understand, but it can be used to group includes together while modifying their otherwise-lexicographic ordering. Here, I'm using it to group WinSDK includes together, while still sorting WinIoCtl.h last. IncludeIsMainSourceRegex was added. This doesn't appear to be relevant to us. IndentGotoLabels was added. We've avoided goto. SpaceInEmptyBlock was added. We prefer the default of no space. SpacesInConditionalStatement was added. We definitely prefer the default of no space. SpaceBeforeSquareBrackets was added. Again, we definitely prefer the default of no space. The Standard option was overhauled. Previously, Cpp11 meant "use the latest supported standard". That was confusing, so it has been deprecated in favor of Latest. UseCRLF was added. We currently use CRLF for all files. (Previously, validate.cpp would detect LF files, but clang-format wouldn't fix them.) * In .clang-format, delete empty lines and move comment. The empty lines were intended to make it easier to see customized options, but they were actually making it harder to diff the default config against our config. Move the StatementMacros comment next to our customized settings, and rewrap it. * Reformat filesystem.cpp.
2020-07-27 21:38:12 +03:00
# IndentGotoLabels: true
2019-09-05 01:57:56 +03:00
# IndentPPDirectives: None
# IndentRequiresClause: true
2019-09-05 01:57:56 +03:00
# IndentWidth: 2
IndentWidth: 4
# IndentWrappedFunctionNames: false
IndentWrappedFunctionNames: true
# InsertBraces: false
InsertBraces: true
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# InsertNewlineAtEOF: false
InsertNewlineAtEOF: true
Toolset update: VS 2019 16.9 Preview 2 with Clang 11 * Fix #1471 by properly waiting for the Windows Driver Kit installation to finish. * Update `azure-pipelines.yml` to use the new pool `StlBuild-2020-12-08`. * Update `README.md` to mention Preview 2. (Its CMake and Ninja versions haven't changed, and we don't directly mention the Clang version.) * Update `yvals_core.h` to require Clang 11. (Note that MSVC's `_MSC_VER` is remaining `1928` for the 16.9 release.) * Remove the workaround for LLVM-37556. (We were treating it as an uncommented perma-workaround, but I remembered.) * Remove many workarounds in `P1502R1_standard_library_header_units`. * Remove the VSO-1225825 workaround in `<iterator>` and `<ranges>`. * Unrelated cleanup in `<valarray>`: `__cpp_aligned_new` implies `if constexpr`. * Update the vcpkg submodule for Boost 1.74.0. This is just their latest commit. * In `CMakeLists.txt`, require Boost 1.74.0. (This, combined with the toolset update, implies that contributors will need to `git submodule update`, clean out the `vcpkg` submodule with `git clean -x -d -f`, and then bootstrap vcpkg and build boost-math.) * Simplify conditional operators in `seed_seq::generate`. + Thanks to @AlexGuteniev for suggesting extracting `_Off` and noticing that `_Myvec[(_Kx - 1) % _Sx]` was unnecessarily complicated. Given `_Kx` in `[1, _Sx]`, then `_Kx - 1` is in `[0, _Sx - 1]`, so `% _Sx` does nothing. * Take advantage of clang-format 11. This sets `AlignOperands: AlignAfterOperator` and `IndentCaseBlocks: true`.
2020-12-03 05:19:14 +03:00
# InsertTrailingCommas: None
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# IntegerLiteralSeparator:
# Binary: 0
# BinaryMinDigits: 0
# Decimal: 0
# DecimalMinDigits: 0
# Hex: 0
# HexMinDigits: 0
2019-09-05 01:57:56 +03:00
# JavaScriptQuotes: Leave
# JavaScriptWrapImports: true
# KeepEmptyLinesAtTheStartOfBlocks: true
# KeepEmptyLinesAtEOF: false
# LambdaBodyIndentation: Signature
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# LineEnding: DeriveLF
LineEnding: CRLF
2019-09-05 01:57:56 +03:00
# NOTE: MacroBlockBegin/MacroBlockEnd don't work with _CATCH_ALL.
# MacroBlockBegin: ''
# MacroBlockEnd: ''
# MaxEmptyLinesToKeep: 1
MaxEmptyLinesToKeep: 2
# NamespaceIndentation: None
NamespaceIndentation: All
# ObjCBinPackProtocolList: Auto
# ObjCBlockIndentWidth: 2
Toolset update: VS 2019 16.9 Preview 2 with Clang 11 * Fix #1471 by properly waiting for the Windows Driver Kit installation to finish. * Update `azure-pipelines.yml` to use the new pool `StlBuild-2020-12-08`. * Update `README.md` to mention Preview 2. (Its CMake and Ninja versions haven't changed, and we don't directly mention the Clang version.) * Update `yvals_core.h` to require Clang 11. (Note that MSVC's `_MSC_VER` is remaining `1928` for the 16.9 release.) * Remove the workaround for LLVM-37556. (We were treating it as an uncommented perma-workaround, but I remembered.) * Remove many workarounds in `P1502R1_standard_library_header_units`. * Remove the VSO-1225825 workaround in `<iterator>` and `<ranges>`. * Unrelated cleanup in `<valarray>`: `__cpp_aligned_new` implies `if constexpr`. * Update the vcpkg submodule for Boost 1.74.0. This is just their latest commit. * In `CMakeLists.txt`, require Boost 1.74.0. (This, combined with the toolset update, implies that contributors will need to `git submodule update`, clean out the `vcpkg` submodule with `git clean -x -d -f`, and then bootstrap vcpkg and build boost-math.) * Simplify conditional operators in `seed_seq::generate`. + Thanks to @AlexGuteniev for suggesting extracting `_Off` and noticing that `_Myvec[(_Kx - 1) % _Sx]` was unnecessarily complicated. Given `_Kx` in `[1, _Sx]`, then `_Kx - 1` is in `[0, _Sx - 1]`, so `% _Sx` does nothing. * Take advantage of clang-format 11. This sets `AlignOperands: AlignAfterOperator` and `IndentCaseBlocks: true`.
2020-12-03 05:19:14 +03:00
# ObjCBreakBeforeNestedBlockParam: true
2019-09-05 01:57:56 +03:00
# ObjCSpaceAfterProperty: false
# ObjCSpaceBeforeProtocolList: true
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# PackConstructorInitializers: BinPack
2019-09-05 01:57:56 +03:00
# PenaltyBreakAssignment: 2
# PenaltyBreakBeforeFirstCallParameter: 19
# PenaltyBreakComment: 300
# PenaltyBreakFirstLessLess: 120
# PenaltyBreakOpenParenthesis: 0
# PenaltyBreakScopeResolution: 500
2019-09-05 01:57:56 +03:00
# PenaltyBreakString: 1000
# PenaltyBreakTemplateDeclaration: 10
# PenaltyExcessCharacter: 1000000
# PenaltyIndentedWhitespace: 0
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# PenaltyReturnTypeOnItsOwnLine: 60
2019-09-05 01:57:56 +03:00
# PointerAlignment: Right
PointerAlignment: Left
# PPIndentWidth: -1
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# QualifierAlignment: Leave
# ReferenceAlignment: Pointer
2019-09-05 01:57:56 +03:00
# ReflowComments: true
# RemoveBracesLLVM: false
# RemoveParentheses: Leave
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# RemoveSemicolon: false
RemoveSemicolon: true
# RequiresClausePosition: OwnLine
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# RequiresExpressionIndentation: OuterScope
# SeparateDefinitionBlocks: Leave
# ShortNamespaceLines: 1
# SkipMacroDefinitionBody: false
# SortIncludes: CaseSensitive
# SortJavaStaticImport: Before
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# SortUsingDeclarations: LexicographicNumeric
2019-09-05 01:57:56 +03:00
# SpaceAfterCStyleCast: false
SpaceAfterCStyleCast: true
# SpaceAfterLogicalNot: false
2019-09-05 01:57:56 +03:00
# SpaceAfterTemplateKeyword: true
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# SpaceAroundPointerQualifiers: Default
2019-09-05 01:57:56 +03:00
# SpaceBeforeAssignmentOperators: true
# SpaceBeforeCaseColon: false
2019-09-05 01:57:56 +03:00
# SpaceBeforeCpp11BracedList: false
# SpaceBeforeCtorInitializerColon: true
# SpaceBeforeInheritanceColon: true
# SpaceBeforeJsonColon: false
2019-09-05 01:57:56 +03:00
# SpaceBeforeParens: ControlStatements
# SpaceBeforeParensOptions:
# AfterControlStatements: true
# AfterForeachMacros: true
# AfterFunctionDefinitionName: false
# AfterFunctionDeclarationName: false
# AfterIfMacros: true
# AfterOverloadedOperator: false
# AfterPlacementOperator: true
# AfterRequiresInClause: false
# AfterRequiresInExpression: false
# BeforeNonEmptyParentheses: false
SpaceBeforeParens: Custom
SpaceBeforeParensOptions:
AfterRequiresInClause: true
2019-09-05 01:57:56 +03:00
# SpaceBeforeRangeBasedForLoopColon: true
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# SpaceBeforeSquareBrackets: false
Update .clang-format for Clang 10 (#1075) * Remove unnecessary comments in ranges tests. We taught clang-format how to sort like this automatically. * Fix x86 compiler error in stljobs.h. This never compiled for x86 where size_t and SIZE_T are different types. * Update .clang-format for Clang 10. AllowShortBlocksOnASingleLine changed from false/true to Never/Empty/Always. We still want the default of Never, as Empty appears to misbehave. DeriveLineEnding was added, defaulting to true. We want to disable line ending auto-detection. SortPriority was added. Its documentation is difficult to understand, but it can be used to group includes together while modifying their otherwise-lexicographic ordering. Here, I'm using it to group WinSDK includes together, while still sorting WinIoCtl.h last. IncludeIsMainSourceRegex was added. This doesn't appear to be relevant to us. IndentGotoLabels was added. We've avoided goto. SpaceInEmptyBlock was added. We prefer the default of no space. SpacesInConditionalStatement was added. We definitely prefer the default of no space. SpaceBeforeSquareBrackets was added. Again, we definitely prefer the default of no space. The Standard option was overhauled. Previously, Cpp11 meant "use the latest supported standard". That was confusing, so it has been deprecated in favor of Latest. UseCRLF was added. We currently use CRLF for all files. (Previously, validate.cpp would detect LF files, but clang-format wouldn't fix them.) * In .clang-format, delete empty lines and move comment. The empty lines were intended to make it easier to see customized options, but they were actually making it harder to diff the default config against our config. Move the StatementMacros comment next to our customized settings, and rewrap it. * Reformat filesystem.cpp.
2020-07-27 21:38:12 +03:00
# SpaceInEmptyBlock: false
2019-09-05 01:57:56 +03:00
# SpacesBeforeTrailingComments: 1
# SpacesInAngles: Never
2019-09-05 01:57:56 +03:00
# SpacesInContainerLiterals: true
# SpacesInLineCommentPrefix:
# Minimum: 1
# Maximum: -1
# SpacesInParens: Never
# SpacesInParensOptions:
# InCStyleCasts: false
# InConditionalStatements: false
# InEmptyParentheses: false
# Other: false
2019-09-05 01:57:56 +03:00
# SpacesInSquareBrackets: false
Update .clang-format for Clang 10 (#1075) * Remove unnecessary comments in ranges tests. We taught clang-format how to sort like this automatically. * Fix x86 compiler error in stljobs.h. This never compiled for x86 where size_t and SIZE_T are different types. * Update .clang-format for Clang 10. AllowShortBlocksOnASingleLine changed from false/true to Never/Empty/Always. We still want the default of Never, as Empty appears to misbehave. DeriveLineEnding was added, defaulting to true. We want to disable line ending auto-detection. SortPriority was added. Its documentation is difficult to understand, but it can be used to group includes together while modifying their otherwise-lexicographic ordering. Here, I'm using it to group WinSDK includes together, while still sorting WinIoCtl.h last. IncludeIsMainSourceRegex was added. This doesn't appear to be relevant to us. IndentGotoLabels was added. We've avoided goto. SpaceInEmptyBlock was added. We prefer the default of no space. SpacesInConditionalStatement was added. We definitely prefer the default of no space. SpaceBeforeSquareBrackets was added. Again, we definitely prefer the default of no space. The Standard option was overhauled. Previously, Cpp11 meant "use the latest supported standard". That was confusing, so it has been deprecated in favor of Latest. UseCRLF was added. We currently use CRLF for all files. (Previously, validate.cpp would detect LF files, but clang-format wouldn't fix them.) * In .clang-format, delete empty lines and move comment. The empty lines were intended to make it easier to see customized options, but they were actually making it harder to diff the default config against our config. Move the StatementMacros comment next to our customized settings, and rewrap it. * Reformat filesystem.cpp.
2020-07-27 21:38:12 +03:00
# Standard: Latest
# StatementAttributeLikeMacros:
# - Q_EMIT
# StatementMacros:
# - Q_UNUSED
# - QT_REQUIRE_VERSION
Update .clang-format for Clang 10 (#1075) * Remove unnecessary comments in ranges tests. We taught clang-format how to sort like this automatically. * Fix x86 compiler error in stljobs.h. This never compiled for x86 where size_t and SIZE_T are different types. * Update .clang-format for Clang 10. AllowShortBlocksOnASingleLine changed from false/true to Never/Empty/Always. We still want the default of Never, as Empty appears to misbehave. DeriveLineEnding was added, defaulting to true. We want to disable line ending auto-detection. SortPriority was added. Its documentation is difficult to understand, but it can be used to group includes together while modifying their otherwise-lexicographic ordering. Here, I'm using it to group WinSDK includes together, while still sorting WinIoCtl.h last. IncludeIsMainSourceRegex was added. This doesn't appear to be relevant to us. IndentGotoLabels was added. We've avoided goto. SpaceInEmptyBlock was added. We prefer the default of no space. SpacesInConditionalStatement was added. We definitely prefer the default of no space. SpaceBeforeSquareBrackets was added. Again, we definitely prefer the default of no space. The Standard option was overhauled. Previously, Cpp11 meant "use the latest supported standard". That was confusing, so it has been deprecated in favor of Latest. UseCRLF was added. We currently use CRLF for all files. (Previously, validate.cpp would detect LF files, but clang-format wouldn't fix them.) * In .clang-format, delete empty lines and move comment. The empty lines were intended to make it easier to see customized options, but they were actually making it harder to diff the default config against our config. Move the StatementMacros comment next to our customized settings, and rewrap it. * Reformat filesystem.cpp.
2020-07-27 21:38:12 +03:00
# NOTE: _STD_BEGIN, _STD_END, etc. aren't macros for complete statements, but telling
# clang-format that they are produces the behavior that we want (with no block indentation).
StatementMacros:
- _EXTERN_CXX_WORKAROUND
- _END_EXTERN_CXX_WORKAROUND
- _STD_BEGIN
- _STD_END
- _STDEXT_BEGIN
- _STDEXT_END
- _FMT_P2286_BEGIN
- _FMT_P2286_END
- _EXTERN_C_UNLESS_PURE
- _END_EXTERN_C_UNLESS_PURE
2019-09-05 01:57:56 +03:00
# TabWidth: 8
# UseTab: Never
# VerilogBreakBetweenInstancePorts: true
Toolset update: VS 2019 16.9 Preview 2 with Clang 11 * Fix #1471 by properly waiting for the Windows Driver Kit installation to finish. * Update `azure-pipelines.yml` to use the new pool `StlBuild-2020-12-08`. * Update `README.md` to mention Preview 2. (Its CMake and Ninja versions haven't changed, and we don't directly mention the Clang version.) * Update `yvals_core.h` to require Clang 11. (Note that MSVC's `_MSC_VER` is remaining `1928` for the 16.9 release.) * Remove the workaround for LLVM-37556. (We were treating it as an uncommented perma-workaround, but I remembered.) * Remove many workarounds in `P1502R1_standard_library_header_units`. * Remove the VSO-1225825 workaround in `<iterator>` and `<ranges>`. * Unrelated cleanup in `<valarray>`: `__cpp_aligned_new` implies `if constexpr`. * Update the vcpkg submodule for Boost 1.74.0. This is just their latest commit. * In `CMakeLists.txt`, require Boost 1.74.0. (This, combined with the toolset update, implies that contributors will need to `git submodule update`, clean out the `vcpkg` submodule with `git clean -x -d -f`, and then bootstrap vcpkg and build boost-math.) * Simplify conditional operators in `seed_seq::generate`. + Thanks to @AlexGuteniev for suggesting extracting `_Off` and noticing that `_Myvec[(_Kx - 1) % _Sx]` was unnecessarily complicated. Given `_Kx` in `[1, _Sx]`, then `_Kx - 1` is in `[0, _Sx - 1]`, so `% _Sx` does nothing. * Take advantage of clang-format 11. This sets `AlignOperands: AlignAfterOperator` and `IndentCaseBlocks: true`.
2020-12-03 05:19:14 +03:00
# WhitespaceSensitiveMacros:
# - BOOST_PP_STRINGIZE
# - CF_SWIFT_NAME
Toolset update: VS 2022 17.7 Preview 1 (#3711) * PowerShell 7.3.4. * New pool. * VS 2022 17.7 Preview 1. * Require Clang 16. * Remove workaround for VSO-1753916 'C++23 tuple causes x86chk assertion: !"If lookup found RDSymbol before it should find something this time, too", ParseTree.cpp 10376'. * Remove workarounds for VSO-1799670 "EDG rejects constexpr vector in debug mode with 'attempt to access expired storage' errors, part 3". * Remove workarounds for LLVM-44833 "[concepts] deferred substitution into requirements of class template members not implemented". * [llvm16] Clang has implemented P0960; unskip tests that now pass, and remove workaround in `P2474R2_views_repeat`. * [llvm16] Clang now warns about overriding `/fp:strict` with `-ffp-contract`. Update `floating_point_model_matrix.lst` to silence these warnings. * [llvm16] Fix redeclaration of `adjacent_transform_view` (atomic constraint expressions effectively cannot be reproduced since each utterance is distinct). * [llvm16] Disambiguate `tuple` comparison operators. * [llvm16] Workaround LLVM-62290, which has been fixed for Clang 17, in `<ranges>`. * [llvm16] Remove workarounds for a couple of `TRANSITION, Clang 16` issues in `<ranges>` and `<type_traits>`. * [llvm16] Perma-workaround unfiled clang bug in `P0896R4_views_take`. * [llvm16 followup] Improve arrow comments. * [llvm16 followup] We `_EXPORT_STD` both declarations and definitions. * Disable UBSan to work around GH 3568 "Investigate why Clang/LLVM UBSan doesn't link". * Guard `_addcarry_u64`/`_subborrow_u64` for Clang. * `LDBL_DECIMAL_DIG` is now missing for Clang too. * Although LLVM-46207 is still open, Clang now likes tgmath.h. * Cite LLVM-62096 "Clang complains about concept depending on itself". * Add workaround for LLVM-62762 "32-bit-only misoptimization of printf calls on Windows". * clang-format 16, no manual changes. The changes are almost entirely positive, with no horrible mangling, and limited weirdness around `&`, `&&`, and `*`. No need for manual fixups. * .clang-format: Update link to Clang 16. * .clang-format: Sort defaults, no behavioral changes. * .clang-format: Drop commented-out defaults, no behavioral changes. `BreakBeforeInheritanceComma` and `BreakConstructorInitializersBeforeComma` were never documented and aren't printed out by `-dump-config` anymore. The weird empty `BasedOnStyle` isn't printed out by `-dump-config` anymore. `ConstructorInitializerAllOnOneLineOrOnePerLine` and `AllowAllConstructorInitializersOnNextLine` are now deprecated and aren't printed out by `-dump-config` anymore. * .clang-format: `DeriveLineEnding` and `UseCRLF` were deprecated and fused into `LineEnding`, no behavioral changes. * .clang-format: `AlignTrailingComments` is no longer a bool. Use the new options, no behavioral changes. * .clang-format: `SortUsingDeclarations` (which we didn't customize) is no longer a bool, no behavioral changes. * .clang-format: Add new defaults, no behavioral changes. * .clang-format: `InsertNewlineAtEOF` is new, set it to `true`. Doesn't change any files right now. * .clang-format: `RemoveSemicolon` is new, set it to `true`. * clang-format 16, no manual changes - remove semicolons. --------- Co-authored-by: Casey Carter <Casey@Carter.net>
2023-05-19 00:14:16 +03:00
# - NS_SWIFT_NAME
# - PP_STRINGIZE
# - STRINGIZE
2019-09-05 01:57:56 +03:00
...