std::array::fill is not constexpr in C++ 17; use aggregate initialization instead. PiperOrigin-RevId: 761072663
diff --git a/quiche/balsa/header_properties.cc b/quiche/balsa/header_properties.cc index 5c08f6f..1022ed0 100644 --- a/quiche/balsa/header_properties.cc +++ b/quiche/balsa/header_properties.cc
@@ -66,8 +66,7 @@ } constexpr std::array<bool, 256> buildInvalidHeaderKeyCharLookupTable() { - std::array<bool, 256> invalidCharTable; - invalidCharTable.fill(false); + std::array<bool, 256> invalidCharTable{}; for (uint8_t c : kInvalidHeaderKeyCharList) { invalidCharTable[c] = true; } @@ -76,8 +75,7 @@ constexpr std::array<bool, 256> buildInvalidHeaderKeyCharLookupTableAllowDoubleQuote() { - std::array<bool, 256> invalidCharTable; - invalidCharTable.fill(false); + std::array<bool, 256> invalidCharTable{}; for (uint8_t c : kInvalidHeaderKeyCharListAllowDoubleQuote) { invalidCharTable[c] = true; } @@ -85,17 +83,39 @@ } constexpr std::array<bool, 256> buildInvalidCharLookupTable() { - std::array<bool, 256> invalidCharTable; - invalidCharTable.fill(false); + std::array<bool, 256> invalidCharTable{}; for (uint8_t c : kInvalidHeaderCharList) { invalidCharTable[c] = true; } return invalidCharTable; } +constexpr std::array<bool, 256> kAllTrueArray = { + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true}; + constexpr std::array<bool, 256> buildInvalidPathCharLookupTable() { - std::array<bool, 256> invalidCharTable; - invalidCharTable.fill(true); + std::array<bool, 256> invalidCharTable = kAllTrueArray; for (uint8_t c : kValidPathCharList) { invalidCharTable[c] = false; } @@ -103,8 +123,7 @@ } constexpr std::array<bool, 256> buildInvalidQueryCharLookupTable() { - std::array<bool, 256> invalidCharTable; - invalidCharTable.fill(true); + std::array<bool, 256> invalidCharTable = kAllTrueArray; for (uint8_t c : kValidQueryCharList) { invalidCharTable[c] = false; }