summaryrefslogtreecommitdiffstats
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
...
* Unicode tool: handle required QFile::open returnMårten Nordheim2025-02-041-63/+37
| | | | | | | | | | | Fixing warnings/errors about QFile::open() return value not being checked, and print the name of the file and the error message that occurred. Task-number: QTBUG-132902 Pick-to: 6.9 Change-Id: I099b300b5fd4563334fa547ffa365ec3f68e08cf Reviewed-by: Edward Welbourne <[email protected]>
* util/update_public_suffix_list.sh: use commit date, not wall clockMarc Mutz2025-02-011-4/+4
| | | | | | | | | | | This is both more accurate and also more stable: The suffix-list update usually takes several days to go through all branches; using the commit date avoids using newer fetch dates in older branches. Pick-to: 6.9 6.8 6.5 6.2 5.15 Change-Id: Ifefd7158e4104c7bbdfe6a2d8a505d8acf7275b4 Reviewed-by: Edward Welbourne <[email protected]> Reviewed-by: Mårten Nordheim <[email protected]>
* Skip zone naming with no CLDR dataEdward Welbourne2025-01-291-4/+23
| | | | | | | | | | | | In the git version of CLDR v46.1, Acre's metazone inherits a generic long name. However, root provides no metazone data for it to inherit. So we ended up with an empty entry for Acre in the QlocaleXML file. Harmless, but easy to avoid, so avoid it. Pick-to: 6.9 6.8 Task-number: QTBUG-132851 Change-Id: I392d0922bebff731632e729a4931caa02dc3a404 Reviewed-by: Mate Barany <[email protected]>
* Make module ready for source SBOM checkingLucie Gérard2025-01-272-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This includes: - turning VERIFY_SOURCE_SBOM ON - adding exception to the licenseRule.json files - correcting the licensing given via REUSE.toml files - renaming license files not located in LICENSES folder. They need to be named LICENSE. to be ignored by reuse and excluded from the source SBOM. The name are updated in the corresponding qt_attribution.json A lot of files are skipped during the license test, but all are present in the source SBOM. This is why correction are needed before turning the source SBOM check on. [ChangeLog][Third-Party Code] Renaming the license files with prefix LICENSE. to have them ignored by reuse tool. Task-number: QTBUG-131434 Pick-to: 6.9 Change-Id: Iab517215bb10a17357d2d2436bba8d3af76e5cd1 Reviewed-by: Joerg Bornemann <[email protected]>
* util/update_public_suffix_list.sh: update the pick-to'sMarc Mutz2025-01-221-1/+1
| | | | | | | | Drop 6.7 and add 6.9. Task-number: QTBUG-132851 Change-Id: I68d787578ce4070c030e30ea95d710a6e1298f19 Reviewed-by: Mårten Nordheim <[email protected]>
* util/update_public_suffix_list.sh: adapt to PURL addition to qt_attribution.jsonMarc Mutz2025-01-221-0/+3
| | | | | | | | | | | | Also add a comment to publicsuffix-list's entry that the update is done by a script that should be updated whenever this file's contents change. Amends 36dca3c04f759449f74008a3e79021a179b0f35e. Pick-to: 6.9 6.8 6.5 Change-Id: I1a0e51568e6d4300197c09f759ad3d82277a74d1 Reviewed-by: Mårten Nordheim <[email protected]>
* wasm: Add helper for pluging preloadsPiotr Wierciński2025-01-133-13/+32
| | | | | | | | | | | | Dynamic linking on WebAssembly involves preloading .so libraries during startup of application. Normally, those plugin preload lists are generating manually by user, which can be tedious. Add a bash script which demonstrates how to call python programs to generate preload lists. Pick-to: 6.9 Change-Id: I0a9869ad0d26606f8b33af2c38248cec3088dd0d Reviewed-by: Alexandru Croitor <[email protected]>
* Update CLDR to v46Mate Barany2025-01-062-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | New languages added with v46 - Kara-Kalpak - Swampy Cree Several new Chinese-language locales have been added, including one using Latin script, which invalidated some prior QLocale tests, which have been adjusted to fit. Some obsolete time-zone identifiers are now treated as deprecated aliases. These have lost their AnyTerritory association, implying changes to QTimeZone tests. Many redundant likely sub-tag rules for unspecified language have been dropped, in favor of simpler rules. [ChangeLog][Third-Party Code] Updated CLDR data, used by QLocale, to v46. Task-number: QTBUG-130877 Pick-to: 6.9 6.8 Change-Id: I92cf210422c7759dd829a7ca2f845d20e263d25b Reviewed-by: Edward Welbourne <[email protected]>
* QEdidParser: optimize the hardcoded EDID vendor tableGiuseppe D'Angelo2024-12-211-18/+64
| | | | | | | | | | | | | | | | | | | Instead of using an array of fixed-length strings for the vendor names, use qOffsetStringArray instead. This removes the need of using the longest vendor name length as the size of the fixed-length strings, which results in a massive waste of space. This saves 150KB of (readonly) data. Details: there are 2555 entries, each one hardcoded to be 78 byte long, for a total of 199290 bytes. However the vendor names themselves amount only to 50658 bytes. Making all this data optional on desktop Linux (where the vendor data is present anyhow on the system, in /usr/share/) is left for a future change. Change-Id: I17007865e741e3dab15dd2ab2feffbce4664fb37 Reviewed-by: Volker Hilsheimer <[email protected]>
* Regenerate the QCssScanner implementationVolker Hilsheimer2024-12-181-0/+2
| | | | | | | | | | | | Using the lexgen tool after making it work with Qt 6 again. A lot of changes in the resulting file, presumably because the hash implementation is quite different in Qt 6 than it was in Qt 5, when the scanner was generated last time. Task-number: QTBUG-131842 Change-Id: I6e3633005f9cc0787abe3bab32790337fb7bdedb Reviewed-by: Edward Welbourne <[email protected]> Reviewed-by: Thiago Macieira <[email protected]>
* Bump version to 6.10.0Jani Heikkinen2024-12-131-1/+1
| | | | | Change-Id: Iad7b22da970e4e95816aaa0643206ecf502e23af Reviewed-by: Qt Submodule Update Bot <[email protected]>
* Android: remove unused qt_get_android_sdk_jar_for_api() functionAssam Boudjelthia2024-12-071-9/+1
| | | | | | | | This function is no longer needed after removing the one unnecessary use for it in qtspeech. Change-Id: Ia0d061e898aedff0ba6941b678e0ec45a1abe55d Reviewed-by: Alexandru Croitor <[email protected]>
* QLocale: fix likely subtags to include und -> en_Latn_USEdward Welbourne2024-12-052-3/+1
| | | | | | | | | | | | | | | | The lack of this was hidden by other rules (redundant with it) until CLDR v45, but v46 prunes the redundant rules, breaking this. So include the missing rule and tweak the code that assumed likely sub-tag rules preserved language, since this one doesn't. Rework the tail of withLikelySubtagsAdded() to correctly use this rule, now that we have it. (The prior comment about there being no match-all was wrong: CLDR did have it, but our data skipped it.) Amended one test affected by it (when system locale wasn't en_US). Pick-to: 6.8 Task-number: QTBUG-130877 Change-Id: I2a415b67af4bc8aa6a766bcc1e349ee5bda9f174 Reviewed-by: Mate Barany <[email protected]>
* lexgen: Update generated code to Qt 6Volker Hilsheimer2024-12-041-7/+7
| | | | | | | | | | Use .size() instead of .length(), and qsizetype instead of int. Use the deterministic global seed for QHash to reduce variations between reruns. Task-number: QTBUG-131842 Change-Id: I95d13840ad1804aba064b1a7e5dada45f4032d1d Reviewed-by: Edward Welbourne <[email protected]>
* Fix build of lexgen toolVolker Hilsheimer2024-12-044-11/+12
| | | | | | | | | | | Use QMultiHash explicitly, and build list of values in a QSet via the range constructor. Task-number: QTBUG-131842 Pick-to: 6.8 Change-Id: I9cbcddeada0bfd88b11515262f5476e5d59e0fad Reviewed-by: Thiago Macieira <[email protected]> Reviewed-by: Edward Welbourne <[email protected]>
* Correct handling of World in mapping MS's zone IDs to IANA onesEdward Welbourne2024-12-021-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The AnyTerritory entries in the zoneDataTable are derived from territory="ZZ" entries in the upstream CLDR data; the World ones from territory="001". The latter give the default IANA ID for each MS ID, the former give an (often legacy) IANA ID for the MS ID, that is not based on geography. Some of these are being removed at CLDR v46. The documentation said the ZZ entries have "no known territorial association", hinting that there may be some (unknown) territorial association; however, CLDR's inclusion of them is as entries with a known non-territorial association, so revise the phrasing to reflect this. Also document that windowsIdToDefaultIanaId() returns empty when there is no territory-specific value, and callers can use the territory-neutral call to get a suitable value in that case. (They may, however, wish to distinguish this case, to treat it differently, so I decided not to just return that in place of empty in any case.) The upstream CLDR tables do have entries for territory 001, so we should report these if asked for World as territory. Amend the available zone ID lookup and mapping from MS to IANA functions that take a territory to duly handle World via the default-data that was derived from 001 data in CLDR, instead of from the territory-varying table, from which those were effectively filtered out when generating the two tables. Update docs to mention this handling of World, for contrast with that of AnyTerritory. In the process remove a spurious split-on-space from the MS to default IANA lookup, asserting there is no space (in a field now stored in the table for single IANA ID entries, instead of the one for space-joined lists of them in which it used to be stored, before I noticed it's always only one ID). There is a matching assertion in the cldr.py code that extracts the data. Added an assertion to this last, that each default IANA ID given by CLDR's MS data does in fact also appear as one of the IANA IDs for at least one territory (potentially ZZ), and comment in C++ code on why this means we don't need to scan the windowsDataTable in a few places, where it would just produce duplicate entries. [ChangeLog][QtCore][QTimeZone] Corrected handling of QLocale::World and clarified in docs how QLocale::AnyTerritory is handled when QTimeZone selects zones by territory. Pick-to: 6.8 Task-number: QTBUG-130877 Change-Id: I861c777c68b0cb73a194138fe23fbff839df49e6 Reviewed-by: Thiago Macieira <[email protected]>
* QSystemLocale: add group size queryEimen Oueslati2024-11-271-6/+6
| | | | | | | | | | | Add a GroupSizes struct and a corresponding query type to QSystemLocale that would return a struct of form struct { int first, higher, least; } by consulting suitable platform-specific APIs. Fixes: QTBUG-109955 Change-Id: I2deee814f161ac914f810080866eea1cc432acbe Reviewed-by: Edward Welbourne <[email protected]>
* QLocaleXML: use XML-safe form to write exemplar city contentEdward Welbourne2024-11-261-1/+1
| | | | | | | | | | | | | | Although the other parts of the locale-specific data for zone name L10n were written using safeInTag() I'd foolishly used plain inTag() for the exemplar city - which, of course, can also contain crazy stuff and, it turns out, one of them (albeit this may be a CLDR "whoopsie") does in fact end in a &lt; (in xnr.xml in v46). So use safeInTag() there as well and be faithful to CLDR (even if this does turn out to be an error). Task-number: QTBUG-130877 Change-Id: Idca22ce689cdd2409c50078498a2badfeecd4de2 Reviewed-by: Mate Barany <[email protected]>
* Replace QPair/qMakePair with std::pair in qtbase/openglIsak Fyksen2024-11-212-5/+5
| | | | | | Task-number: QTBUG-115841 Change-Id: Ic7a362a41fb52d39d8a168f0ba4ed6d33458dd73 Reviewed-by: Matthias Rauter <[email protected]>
* CMake: Add PURL and CPE info to 3rd party attribution filesAlexandru Croitor2024-11-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change adds CPE and PURL keys to all qt_attribution.json files in the repo. In case if no sensible CPE or PURL exists, a "Comment" field is added with the text "no relevant CPE or PURL found". If only one of them does not exist, it is written as such in the Comment field. This allows filtering for files that haven't had the information added yet vs those that were looked up but no relevant information was found. For sources that are not hosted on github, a generic PURL is used with a download_url fragment pointing either to the exact location where the sources can be downloaded, or to the homepage of the project. The generic package name was chosen based on the 'Id' key of the attribution entry where it was present, and is not authoritative. For PURL github packages, the 'git tag' name was specified into the 'version' part of the PURL, rather than the 'version number', because SBOM processing tooling handle that better than the version number. For example for the freetype package, we specify the string 'VER-2-13-3' rather than the tag name '2.13.3'. We might revisit this in the future. [ChangeLog][Third-Party Code] Added PURL and CPE information to the attribution files of 3rd party sources. Pick-to: 6.5 6.8 Task-number: QTBUG-122899 Task-number: QTBUG-129602 Change-Id: Iad126242cafc3ea0b678c5c36b26f857039b1dbd Reviewed-by: Alexey Edelev <[email protected]>
* Add type annotations to LocaleMate Barany2024-11-141-10/+12
| | | | | | | Task-number: QTBUG-129564 Pick-to: 6.8 Change-Id: I6fe00162251ffa56c86ba2af98b8f066c9b5f09b Reviewed-by: Edward Welbourne <[email protected]>
* Add type annotations to QLocaleXmlWriterMate Barany2024-11-112-39/+52
| | | | | | | | | | Also fix the annotation of englishNaming in cldr.py. Spotted it while annotating __enumTable. Task-number: QTBUG-129564 Pick-to: 6.8 Change-Id: I93f698b4cf1b5ae90c21fe77330e4f167143a9f3 Reviewed-by: Edward Welbourne <[email protected]>
* Add type annotations to SpacerMate Barany2024-11-081-6/+6
| | | | | | | Task-number: QTBUG-129564 Pick-to: 6.8 Change-Id: I942d135da630f7ba6641170a1a597b0578aca878 Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Add type annotations to QLocaleXmlReaderMate Barany2024-11-071-79/+108
| | | | | | | Task-number: QTBUG-129564 Pick-to: 6.8 Change-Id: I8711152840e6bcb39ff1b1e67ff60b53801f28f0 Reviewed-by: Edward Welbourne <[email protected]>
* Add REUSE.toml filesLucie Gérard2024-11-056-0/+63
| | | | | | | | | | | | | | | | | | | | | Those files are read by reuse to complement or override the copyright and licensing information found in file. The use of REUSE.toml files was introduced in REUSE version 3.1.0a1. This reuse version is compatible with reuse specification version 3.2 [1]. With this commit's files, * The SPDX document generated by reuse spdx conforms to SPDX 2.3, * The reuse lint command reports that the Qt project is reuse compliant. [1]: https://reuse.software/spec-3.2/ Task-number: QTBUG-124453 Task-number: QTBUG-125211 Pick-to: 6.8 Change-Id: I01023e862607777a5e710669ccd28bbf56091097 Reviewed-by: Edward Welbourne <[email protected]> Reviewed-by: Joerg Bornemann <[email protected]>
* Simplify QLocaleXmlWriter.__openTag()Edward Welbourne2024-11-041-4/+2
| | | | | | | | | The other methods that open a tag, potentially with attributes, all now share __attrJoin() as the tool to combine the attributes and the tag. Do the same in __openTag(). Change-Id: Ib252b5901b9e1459cbb8c5706ff56f1b7b639d3d Reviewed-by: Mate Barany <[email protected]>
* Revert "wasm: Generate plugin preloads for dynamic linking at install step"Alexandru Croitor2024-10-312-13/+13
| | | | | | | | | | This reverts commit f0f89d3c1946fa819c01b28d757ba0a5074dd163. Reason for revert: Breaks qttools. Installs without consent in user projects. Fixes: QTBUG-130717 Change-Id: I2a856cc89cc144f9d69c75a396ba9b8fa4fba482 Reviewed-by: Alexey Edelev <[email protected]>
* Make static constexpr data tables inline in corelib/t*/q*_data_p.hEdward Welbourne2024-10-301-21/+21
| | | | | | | | | | This should keep gcc from complaining that they're unused const variables. Pick-to: 6.8 Fixes: QTBUG-128930 Change-Id: I4d0bccc5f158dfc72e4cf38a085b90cb562dc185 Reviewed-by: Thiago Macieira <[email protected]>
* Remove unused kids from qlocalexml.pyMate Barany2024-10-291-2/+0
| | | | | | | | | These are probably remnants of times forgotten. Task-number: QTBUG-129564 Pick-to: 6.8 Change-Id: Ic3ec03201758801e341253cd82ab8034f7fde9b7 Reviewed-by: Edward Welbourne <[email protected]>
* Add type annotations to CldrReaderMate Barany2024-10-242-24/+37
| | | | | | | | | | | | Add some type annotatons to cldr2qlocalexml.py as well. Based on the default arguments the constructor of CldrReader was expecting callables that return None, but in reality we are passing in functions that return integers. Task-number: QTBUG-129613 Pick-to: 6.8 Change-Id: I06832240956ea635ca0cc0ec45c466a3b2539ff7 Reviewed-by: Edward Welbourne <[email protected]>
* Add type annotations to CldrAccessMate Barany2024-10-242-74/+94
| | | | | | | Task-number: QTBUG-129613 Pick-to: 6.8 Change-Id: I8a00cca718554909b7ab9dcad15cc9b9ac702e94 Reviewed-by: Edward Welbourne <[email protected]>
* Fix check for duplicated Windows time-zone IDsEdward Welbourne2024-10-231-1/+2
| | | | | | | | | | | A missing update of a "last" variable meant the loop inevitably did nothing useful. Include type-annotation for last, while doing this. Thankfully the check still doesn't find any duplications, now that I've fixed it so that actually would, were any present. Pick-to: 6.8 6.5 Change-Id: I672e6570359a3ff102a364d8af98c5c8c0bdc4d9 Reviewed-by: Mate Barany <[email protected]>
* Fix typos in documentationEdward Welbourne2024-10-231-1/+1
| | | | | Change-Id: I04436e3f399b44ca541f9b2868857a7e2adccaf2 Reviewed-by: Jaishree Vyas <[email protected]>
* Add type annotations to LocaleScannerMate Barany2024-10-232-59/+67
| | | | | | | Task-number: QTBUG-129566 Pick-to: 6.8 Change-Id: I768fda6b5202ebabc8283ecedead9157653862be Reviewed-by: Edward Welbourne <[email protected]>
* Remove unused parameters, variables from cldr.py and ldml.pyMate Barany2024-10-232-3/+3
| | | | | | | | | Found these while adding type annotations. Task-number: QTBUG-129566 Pick-to: 6.8 Change-Id: I51c8e5676f958094946c0e6f396b98c083fd9de0 Reviewed-by: Edward Welbourne <[email protected]>
* wasm: update qtwasmserver.pyMorten Sørvig2024-10-231-65/+246
| | | | | | | | | | | Bulk update to qtwasmserver 0.1.4 (as distributed on pypi) Removes the usage of the deprecated/removed wrap_socket function. Fixes: QTBUG-128938 Change-Id: I03262c799b34f2114150949f4a660c50317d44be Reviewed-by: Lorn Potter <[email protected]> Reviewed-by: Piotr Wierciński <[email protected]>
* Add type annotations to XmlScanner and Supplement in ldml.pyMate Barany2024-10-231-5/+7
| | | | | | | Task-number: QTBUG-129566 Pick-to: 6.8 Change-Id: I0300e97222c9d4b3e521a147e58c948c0015ad59 Reviewed-by: Edward Welbourne <[email protected]>
* Add type annotations to the Node class in ldml.pyMate Barany2024-10-221-17/+22
| | | | | | | Task-number: QTBUG-129566 Pick-to: 6.8 Change-Id: I70a85654584cdd1117cd670337709620ad84e6d8 Reviewed-by: Edward Welbourne <[email protected]>
* Add some type annotations to main in qlocalexml2cpp.pyMate Barany2024-10-221-7/+7
| | | | | | | Task-number: QTBUG-128634 Pick-to: 6.8 Change-Id: Iaf5a25da86dd330bdab893b34c7c1288e239a182 Reviewed-by: Edward Welbourne <[email protected]>
* Add type annotations to three classes in qlocalexm2cpp.pyMate Barany2024-10-221-9/+12
| | | | | | | | | | Add type annotations to CalendarDataWriter, TestLocaleWriter and LocaleHeaderWriter. Task-number: QTBUG-128634 Pick-to: 6.8 Change-Id: I2c9168fda9cb79cbef3e7ef32ec67270ce168a1b Reviewed-by: Edward Welbourne <[email protected]>
* Add type annotations to LocaleDataWriterMate Barany2024-10-211-17/+21
| | | | | | | Task-number: QTBUG-128634 Pick-to: 6.8 Change-Id: I63e4db06d92e7c2457a802f93372545f9ae749f1 Reviewed-by: Edward Welbourne <[email protected]>
* wasm: Generate plugin preloads for dynamic linking at install stepPiotr Wierciński2024-10-212-13/+13
| | | | | | | | | | Dynamic linking on WebAssembly involves preloading .so libraries during startup of application. Normally, those plugin preload lists are generating manually by user. Automate this process as part of installation step. Change-Id: I364ebdb170f9fac53da241c96f601613352972d8 Reviewed-by: Morten Johan Sørvig <[email protected]>
* Add type annotations to LocaleZoneDataWriterMate Barany2024-10-171-24/+28
| | | | | | | | Task-number: QTBUG-128634 Pick-to: 6.8 Change-Id: I6c86669aaaddd191e1fbc84dadbd61083948c3a8 Reviewed-by: Cristian Maureira-Fredes <[email protected]> Reviewed-by: Edward Welbourne <[email protected]>
* Add type hints to LocaleSourceEditor and TimeZoneDataWriterMate Barany2024-10-171-44/+54
| | | | | | | Task-number: QTBUG-128634 Pick-to: 6.8 Change-Id: I5dabb5e721b610bc9edb01b86aa173d03c36a48a Reviewed-by: Edward Welbourne <[email protected]>
* Add type annotations to ByteArrayData, StringDataToken and StringDataMate Barany2024-10-172-33/+34
| | | | | | | | | | Add some type hints to unicode2hex as well, it is used by ByteArrayData. Task-number: QTBUG-128634 Pick-to: 6.8 Change-Id: I86b7ce8567483bf8a4d4db78c9585652526cb90d Reviewed-by: Edward Welbourne <[email protected]>
* Locale data extraction: deal with an old TODOEdward Welbourne2024-10-171-21/+8
| | | | | | | | | | | | | | | | | | | | Unify generation of the data on enum-related names (and their indices) with that of the data for the corresponding codes. This produces the same tables, just in a different order, putting each code table right after the name table and its indexing. It'll mean more conflicts on picking future updates back to 6.8 and before, but those should usually involve regenerating data anyway, even when they don't get (visible) conflicts, so this'll just encourage doing that. As the TODO comment noted, the reason for keeping the table separate was just that, during a major rewrite of the scripts (most of five years ago), I wanted to be sure data didn't change. We've stabilised plenty since then, so it's time to do that clean-up. Change-Id: I0c3ee9d41d85debdba8b8b2624f137fadb6d8a3f Reviewed-by: Mårten Nordheim <[email protected]>
* Add type annotations to LocaleKeySorterMate Barany2024-10-162-8/+10
| | | | | | | | Task-number: QTBUG-128634 Pick-to: 6.8 Change-Id: I9a4261746cac029b0abf26fbd03b1915a0035147 Reviewed-by: Edward Welbourne <[email protected]> Reviewed-by: Cristian Maureira-Fredes <[email protected]>
* Fix sorting of timezone alias table to be in case-insensitive orderEdward Welbourne2024-10-081-1/+2
| | | | | | | | | | | | The lookup into it is done case-insensitively (because user-supplied names of zones might not have the right case) but I forgot to make the sorting of the data table case-insensitive in the aliases. Regenerate data: only the qtimezone*_data_p.h are changed by the reindexing of zone aliases. Pick-to: 6.8 Change-Id: Id5e95c245c7ca421a77298f23baefe6b7021a396 Reviewed-by: Thiago Macieira <[email protected]>
* qsimd_x86: disable the requirement that CPUs must have RNGsThiago Macieira2024-09-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Intel CPUs have had this since 2013 (Ivy Bridge), but some older Bulldozer AMD CPUs appear to be missing it. This creates a mismatch between when the __haswell__ macro gets declared in qsimd_p.h and the runtime check using the CpuArchHaswell value. That in turn creates a condition where qInitDrawhelperFunctions() in qdrawhelper.cpp leaves the memfill pointers set to null. #elif defined(__SSE2__) # ifndef __haswell__ qt_memfill32 = qt_memfill32_sse2; qt_memfill64 = qt_memfill64_sse2; # endif ... #if defined(QT_COMPILER_SUPPORTS_AVX2) if (qCpuHasFeature(ArchHaswell)) { qt_memfill32 = qt_memfill32_avx2; qt_memfill64 = qt_memfill64_avx2; It does this so the qt_memfillXX_sse2 functions don't have to be defined anywhere, so the QtGui build won't carry unnecessary dead code. This is old code (from Qt 4.x) and several improvements I've made for QtCore are not applied yet. My work for qSimdDispatcher[1] isn't complete: it might have avoided this problem here, but it would also have required major work for the draw helpers to work in the first place. [1] https://codereview.qt-project.org/c/qt/qtbase/+/537384 Pick-to: 6.8 6.7 6.5 6.2 Fixes: QTBUG-129193 Change-Id: Ia427a9e502b0fb46b2bdfffda8e2131b7091c9e9 Reviewed-by: Allan Sandfeld Jensen <[email protected]>
* Purge some archaic complications from CLDR parsingEdward Welbourne2024-09-202-38/+16
| | | | | | | | | | | | | | | | | | | | | | Apparently there used to be a mechanism where an alias element in a top-level LDML element could serve to provide a parent locale as its source attribute. That is long gone and, since at least a decade ago, alias elements only ever appear in root.xml, with source="locale" and a path that starts ../ (so is a relative XPath). Ditch some complications (that I transcribed faithfully five-ish years ago when transforming the scripts), replacing them with assertions that check what's now documented in the LDML spec and confirmed by my own grep-checks in the CLDR data. This incidentally made one prior (weaker) check redundant, so I've now removed that from the look-up for the tags that identify a locale. That look-up is only ever performed after the DOM root nodes it uses have come through the scan of locale roots that now does the stronger check. Makes no difference to generated data. Change-Id: I811ffbef5f5ecb69183d68fa8bda57281f2a579d Reviewed-by: Mate Barany <[email protected]>