mirror of https://github.com/bitcoin/bitcoin
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
4.6 KiB
85 lines
4.6 KiB
Modify optimisation flags for various functions.
|
|
This fixes non-determinism issues in the asm produced for
|
|
these function when cross-compiling on x86_64 and aarch64 for
|
|
the arm64-apple-darwin HOST.
|
|
|
|
--- a/qtbase/src/corelib/itemmodels/qitemselectionmodel.cpp
|
|
+++ b/qtbase/src/corelib/itemmodels/qitemselectionmodel.cpp
|
|
@@ -1078,9 +1078,9 @@ void QItemSelectionModelPrivate::_q_layoutChanged(const QList<QPersistentModelIn
|
|
|
|
if (hint != QAbstractItemModel::VerticalSortHint) {
|
|
// sort the "new" selection, as preparation for merging
|
|
- std::stable_sort(savedPersistentIndexes.begin(), savedPersistentIndexes.end(),
|
|
+ std::sort(savedPersistentIndexes.begin(), savedPersistentIndexes.end(),
|
|
qt_PersistentModelIndexLessThan);
|
|
- std::stable_sort(savedPersistentCurrentIndexes.begin(), savedPersistentCurrentIndexes.end(),
|
|
+ std::sort(savedPersistentCurrentIndexes.begin(), savedPersistentCurrentIndexes.end(),
|
|
qt_PersistentModelIndexLessThan);
|
|
|
|
// update the selection by merging the individual indexes
|
|
@@ -1092,8 +1092,8 @@ void QItemSelectionModelPrivate::_q_layoutChanged(const QList<QPersistentModelIn
|
|
savedPersistentCurrentIndexes.clear();
|
|
} else {
|
|
// sort the "new" selection, as preparation for merging
|
|
- std::stable_sort(savedPersistentRowLengths.begin(), savedPersistentRowLengths.end());
|
|
- std::stable_sort(savedPersistentCurrentRowLengths.begin(), savedPersistentCurrentRowLengths.end());
|
|
+ std::sort(savedPersistentRowLengths.begin(), savedPersistentRowLengths.end());
|
|
+ std::sort(savedPersistentCurrentRowLengths.begin(), savedPersistentCurrentRowLengths.end());
|
|
|
|
// update the selection by merging the individual indexes
|
|
ranges = mergeRowLengths(savedPersistentRowLengths);
|
|
|
|
--- a/qtbase/src/corelib/itemmodels/qitemselectionmodel_p.h
|
|
+++ b/qtbase/src/corelib/itemmodels/qitemselectionmodel_p.h
|
|
@@ -76,7 +76,7 @@ public:
|
|
void _q_rowsAboutToBeInserted(const QModelIndex &parent, int start, int end);
|
|
void _q_columnsAboutToBeInserted(const QModelIndex &parent, int start, int end);
|
|
void _q_layoutAboutToBeChanged(const QList<QPersistentModelIndex> &parents = QList<QPersistentModelIndex>(), QAbstractItemModel::LayoutChangeHint hint = QAbstractItemModel::NoLayoutChangeHint);
|
|
- void _q_layoutChanged(const QList<QPersistentModelIndex> &parents = QList<QPersistentModelIndex>(), QAbstractItemModel::LayoutChangeHint hint = QAbstractItemModel::NoLayoutChangeHint);
|
|
+ __attribute__ ((optnone)) void _q_layoutChanged(const QList<QPersistentModelIndex> &parents = QList<QPersistentModelIndex>(), QAbstractItemModel::LayoutChangeHint hint = QAbstractItemModel::NoLayoutChangeHint);
|
|
|
|
inline void remove(QList<QItemSelectionRange> &r)
|
|
{
|
|
|
|
--- a/qtbase/src/corelib/time/qdatetimeparser_p.h
|
|
+++ b/qtbase/src/corelib/time/qdatetimeparser_p.h
|
|
@@ -215,7 +215,7 @@ private:
|
|
: value(ok == Invalid ? -1 : val), used(read), zeroes(zs), state(ok)
|
|
{}
|
|
};
|
|
- ParsedSection parseSection(const QDateTime ¤tValue, int sectionIndex,
|
|
+ __attribute__ ((optnone)) ParsedSection parseSection(const QDateTime ¤tValue, int sectionIndex,
|
|
int offset, QString *text) const;
|
|
int findMonth(const QString &str1, int monthstart, int sectionIndex,
|
|
int year, QString *monthName = nullptr, int *used = nullptr) const;
|
|
|
|
--- a/qtbase/src/corelib/time/qtimezoneprivate_p.h
|
|
+++ b/qtbase/src/corelib/time/qtimezoneprivate_p.h
|
|
@@ -191,7 +191,7 @@ public:
|
|
virtual ~QUtcTimeZonePrivate();
|
|
|
|
// Fall-back for UTC[+-]\d+(:\d+){,2} IDs.
|
|
- static qint64 offsetFromUtcString(const QByteArray &id);
|
|
+ static __attribute__ ((optnone)) qint64 offsetFromUtcString(const QByteArray &id);
|
|
|
|
QUtcTimeZonePrivate *clone() const override;
|
|
|
|
--- a/qtbase/src/widgets/widgets/qcalendarwidget.cpp
|
|
+++ b/qtbase/src/widgets/widgets/qcalendarwidget.cpp
|
|
@@ -329,13 +329,13 @@ class QCalendarYearValidator : public QCalendarDateSectionValidator
|
|
|
|
public:
|
|
QCalendarYearValidator();
|
|
- virtual Section handleKey(int key) override;
|
|
+ __attribute__ ((optnone)) virtual Section handleKey(int key) override;
|
|
virtual QDate applyToDate(QDate date, QCalendar cal) const override;
|
|
virtual void setDate(QDate date, QCalendar cal) override;
|
|
virtual QString text() const override;
|
|
virtual QString text(QDate date, QCalendar cal, int repeat) const override;
|
|
private:
|
|
- int pow10(int n);
|
|
+ __attribute__ ((optnone)) int pow10(int n);
|
|
int m_pos;
|
|
int m_year;
|
|
int m_oldYear;
|