aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2023-01-05 10:36:45 +0100
committerUlf Hermann <ulf.hermann@qt.io>2023-01-16 15:01:32 +0100
commit07cf1610a824b94541d1b7911c8d7228924bc98f (patch)
tree6d03812b70f9efb9ed218259668f107f3fc6a18f /tools
parent2020923605bc7020f1bebf334e51093b451e97bb (diff)
Fix some qsizetype vs. quint32 problems
On 32bit platforms you cannot losslessly convert quint32 to qsizetype. However, in the places we are facing here, we are only interested in signed 32bit numbers anyway. Change-Id: I93a07c2847bd5bfae426dccbb6c0e33c5758442d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 4e1fe071ff05b92ed12fdf59a2185e1254b411cf) Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Diffstat (limited to 'tools')
-rw-r--r--tools/qmlls/qmlcompletionsupport.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/qmlls/qmlcompletionsupport.cpp b/tools/qmlls/qmlcompletionsupport.cpp
index 8869b34921..a148bc3935 100644
--- a/tools/qmlls/qmlcompletionsupport.cpp
+++ b/tools/qmlls/qmlcompletionsupport.cpp
@@ -169,8 +169,13 @@ static QList<ItemLocation> findLastItemsContaining(DomItem file, int line, int c
qCWarning(complLog) << "no code";
QList<ItemLocation> toDo;
qsizetype targetPos = posAfterLineChar(code, line, character);
+ Q_ASSERT(targetPos >= 0);
auto containsTarget = [targetPos](QQmlJS::SourceLocation l) {
- return l.begin() <= targetPos && targetPos < l.end();
+ if constexpr (sizeof(qsizetype) <= sizeof(quint32)) {
+ return l.begin() <= quint32(targetPos) && quint32(targetPos) < l.end();
+ } else {
+ return l.begin() <= targetPos && targetPos < l.end();
+ }
};
if (containsTarget(t->info().fullRegion)) {
ItemLocation loc;