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;
}