summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorYuhang Zhao <2546789017@qq.com>2022-05-24 12:32:02 +0800
committerYuhang Zhao <2546789017@qq.com>2022-05-27 09:33:28 +0800
commit42fe677584dc672f63c2efc812005e3a49f82d10 (patch)
tree765a83adc500b5df69ec23f1895a0cf8824df481 /util
parentfda8eb17417e92f8f80587937463be77899c7bed (diff)
Core: make CLDR data constexpr
Task-number: QTBUG-100485 Pick-to: 6.3 6.2 Change-Id: Ib8c5160ca0994662a5fdc2293dc734c1bdcac4f2 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Diffstat (limited to 'util')
-rwxr-xr-xutil/locale_database/cldr2qtimezone.py8
-rwxr-xr-xutil/locale_database/qlocalexml2cpp.py16
2 files changed, 12 insertions, 12 deletions
diff --git a/util/locale_database/cldr2qtimezone.py b/util/locale_database/cldr2qtimezone.py
index d47c0057ed..5517651a98 100755
--- a/util/locale_database/cldr2qtimezone.py
+++ b/util/locale_database/cldr2qtimezone.py
@@ -238,7 +238,7 @@ class ByteArrayData:
return index
def write(self, out, name):
- out(f'\nstatic const char {name}[] = {{\n')
+ out(f'\nstatic constexpr char {name}[] = {{\n')
out(wrap_list(self.data))
out('\n};\n')
@@ -269,7 +269,7 @@ class ZoneIdWriter (SourceFileEditor):
# Write Windows/IANA table
out('// Windows ID Key, Territory Enum, IANA ID Index\n')
- out('static const QZoneData zoneDataTable[] = {\n')
+ out('static constexpr QZoneData zoneDataTable[] = {\n')
for index, data in sorted(windowsIds.items()):
out(' {{ {:6d},{:6d},{:6d} }}, // {} / {}\n'.format(
data['windowsKey'], data['territoryId'],
@@ -279,7 +279,7 @@ class ZoneIdWriter (SourceFileEditor):
# Write Windows ID key table
out('// Windows ID Key, Windows ID Index, IANA ID Index, UTC Offset\n')
- out('static const QWindowsData windowsDataTable[] = {\n')
+ out('static constexpr QWindowsData windowsDataTable[] = {\n')
for index, pair in enumerate(windowsIdList, 1):
out(' {{ {:6d},{:6d},{:6d},{:6d} }}, // {}\n'.format(
index,
@@ -290,7 +290,7 @@ class ZoneIdWriter (SourceFileEditor):
# Write UTC ID key table
out('// IANA ID Index, UTC Offset\n')
- out('static const QUtcData utcDataTable[] = {\n')
+ out('static constexpr QUtcData utcDataTable[] = {\n')
for pair in utcIdList:
out(' {{ {:6d},{:6d} }}, // {}\n'.format(
ianaIdData.append(pair[0]), pair[1], pair[0]))
diff --git a/util/locale_database/qlocalexml2cpp.py b/util/locale_database/qlocalexml2cpp.py
index 0afea8cda8..a859fc1da1 100755
--- a/util/locale_database/qlocalexml2cpp.py
+++ b/util/locale_database/qlocalexml2cpp.py
@@ -105,7 +105,7 @@ class StringData:
if len(self.data) > 0xffff:
raise ValueError(f'Data is too big ({len(self.data)}) for quint16 index to its end!',
self.name)
- fd.write(f"\nstatic const char16_t {self.name}[] = {{\n")
+ fd.write(f"\nstatic constexpr char16_t {self.name}[] = {{\n")
fd.write(wrap_list(self.data))
fd.write("\n};\n")
@@ -150,7 +150,7 @@ class LocaleDataWriter (LocaleSourceEditor):
likely = sorted(likely, key=keyLikely)
i = 0
- self.writer.write('static const QLocaleId likely_subtags[] = {\n')
+ self.writer.write('static constexpr QLocaleId likely_subtags[] = {\n')
for had, have, got, give in likely:
i += 1
self.writer.write(' {{ {:3d}, {:3d}, {:3d} }}'.format(*have))
@@ -160,7 +160,7 @@ class LocaleDataWriter (LocaleSourceEditor):
self.writer.write('};\n\n')
def localeIndex(self, indices):
- self.writer.write('static const quint16 locale_index[] = {\n')
+ self.writer.write('static constexpr quint16 locale_index[] = {\n')
for index, name in indices:
self.writer.write(f'{index:6d}, // {name}\n')
self.writer.write(' 0 // trailing 0\n')
@@ -181,7 +181,7 @@ class LocaleDataWriter (LocaleSourceEditor):
endonyms_data = StringData('endonyms_data')
# Locale data
- self.writer.write('static const QLocaleData locale_data[] = {\n')
+ self.writer.write('static constexpr QLocaleData locale_data[] = {\n')
# Table headings: keep each label centred in its field, matching line_format:
self.writer.write(' // '
# Width 6 + comma
@@ -331,7 +331,7 @@ class LocaleDataWriter (LocaleSourceEditor):
@staticmethod
def __writeNameData(out, book, form):
- out(f'static const char {form}_name_list[] =\n')
+ out(f'static constexpr char {form}_name_list[] =\n')
out('"Default\\0"\n')
for key, value in book.items():
if key == 0:
@@ -339,7 +339,7 @@ class LocaleDataWriter (LocaleSourceEditor):
out(f'"{value[0]}\\0"\n')
out(';\n\n')
- out(f'static const quint16 {form}_name_index[] = {{\n')
+ out(f'static constexpr quint16 {form}_name_index[] = {{\n')
out(f' 0, // Any{form.capitalize()}\n')
index = 8
for key, value in book.items():
@@ -352,7 +352,7 @@ class LocaleDataWriter (LocaleSourceEditor):
@staticmethod
def __writeCodeList(out, book, form, width):
- out(f'static const unsigned char {form}_code_list[] =\n')
+ out(f'static constexpr unsigned char {form}_code_list[] =\n')
for key, value in book.items():
code = value[1]
code += r'\0' * max(width - len(code), 0)
@@ -422,7 +422,7 @@ class CalendarDataWriter (LocaleSourceEditor):
def write(self, calendar, locales, names):
months_data = StringData('months_data')
- self.writer.write('static const QCalendarLocale locale_data[] = {\n')
+ self.writer.write('static constexpr QCalendarLocale locale_data[] = {\n')
self.writer.write(
' //'
# IDs, width 7 (6 + comma)