Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Qt6-related changes broken build with Qt4 #117

Open
barracuda156 opened this issue Jun 29, 2023 · 3 comments
Open

Qt6-related changes broken build with Qt4 #117

barracuda156 opened this issue Jun 29, 2023 · 3 comments

Comments

@barracuda156
Copy link

/opt/local/libexec/qt4/include/QtCore/qstringlist.h:71:12: note: because 'QStringList' has user-provided 'QStringList::QStringList(const QStringList&)'
   71 |     inline QStringList(const QStringList &l) : QList<QString>(l) { }
      |            ^~~~~~~~~~~
In file included from /opt/local/libexec/qt4/include/QtCore/qatomic_macosx.h:52,
                 from /opt/local/libexec/qt4/include/QtCore/qatomic_arch.h:72,
                 from /opt/local/libexec/qt4/include/QtCore/qbasicatomic.h:227,
                 from /opt/local/libexec/qt4/include/QtCore/qatomic.h:46,
                 from /opt/local/libexec/qt4/include/QtCore/qbytearray.h:45,
                 from /opt/local/libexec/qt4/include/QtCore/qstring.h:46,
                 from /opt/local/libexec/qt4/include/QtCore/qobject.h:48,
                 from ../../include/IrcCore/irccommand.h:33,
                 from irccommand.cpp:29:
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'bool QBasicAtomicInt::ref()':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:120:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  120 |     register int originalValue;
      |                  ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:121:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  121 |     register int newValue;
      |                  ^~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'bool QBasicAtomicInt::deref()':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:137:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  137 |     register int originalValue;
      |                  ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:138:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  138 |     register int newValue;
      |                  ^~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'bool QBasicAtomicInt::testAndSetRelaxed(int, int)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:154:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  154 |     register int result;
      |                  ^~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'bool QBasicAtomicInt::testAndSetAcquire(int, int)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:171:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  171 |     register int result;
      |                  ^~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'bool QBasicAtomicInt::testAndSetRelease(int, int)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:189:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  189 |     register int result;
      |                  ^~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'int QBasicAtomicInt::fetchAndStoreRelaxed(int)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:207:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  207 |     register int originalValue;
      |                  ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'int QBasicAtomicInt::fetchAndStoreAcquire(int)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:221:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  221 |     register int originalValue;
      |                  ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'int QBasicAtomicInt::fetchAndStoreRelease(int)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:236:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  236 |     register int originalValue;
      |                  ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'int QBasicAtomicInt::fetchAndAddRelaxed(int)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:251:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  251 |     register int originalValue;
      |                  ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:252:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  252 |     register int newValue;
      |                  ^~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'int QBasicAtomicInt::fetchAndAddAcquire(int)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:268:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  268 |     register int originalValue;
      |                  ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:269:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  269 |     register int newValue;
      |                  ^~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'int QBasicAtomicInt::fetchAndAddRelease(int)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:286:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  286 |     register int originalValue;
      |                  ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:287:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  287 |     register int newValue;
      |                  ^~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'bool QBasicAtomicPointer<T>::testAndSetRelaxed(T*, T*)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:313:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  313 |     register void *result;
      |                    ^~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'bool QBasicAtomicPointer<T>::testAndSetAcquire(T*, T*)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:331:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  331 |     register void *result;
      |                    ^~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'bool QBasicAtomicPointer<T>::testAndSetRelease(T*, T*)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:350:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  350 |     register void *result;
      |                    ^~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'T* QBasicAtomicPointer<T>::fetchAndStoreRelaxed(T*)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:369:17: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  369 |     register T *originalValue;
      |                 ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'T* QBasicAtomicPointer<T>::fetchAndStoreAcquire(T*)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:384:17: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  384 |     register T *originalValue;
      |                 ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'T* QBasicAtomicPointer<T>::fetchAndStoreRelease(T*)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:400:17: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  400 |     register T *originalValue;
      |                 ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'T* QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:416:17: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  416 |     register T *originalValue;
      |                 ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:417:17: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  417 |     register T *newValue;
      |                 ^~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'T* QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:434:17: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  434 |     register T *originalValue;
      |                 ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:435:17: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  435 |     register T *newValue;
      |                 ^~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'T* QBasicAtomicPointer<T>::fetchAndAddRelease(qptrdiff)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:453:17: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  453 |     register T *originalValue;
      |                 ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:454:17: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  454 |     register T *newValue;
      |                 ^~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qstring.h: In member function 'int QStringRef::compare(QLatin1String, Qt::CaseSensitivity) const':
/opt/local/libexec/qt4/include/QtCore/qstring.h:1254:33: warning: implicitly-declared 'constexpr QLatin1String::QLatin1String(const QLatin1String&)' is deprecated [-Wdeprecated-copy]
 1254 | { return QString::compare_helper(constData(), length(), s, cs); }
      |          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qstring.h:658:27: note: because 'QLatin1String' has user-provided 'QLatin1String& QLatin1String::operator=(const QLatin1String&)'
  658 |     inline QLatin1String &operator=(const QLatin1String &other)
      |                           ^~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qstring.h:634:45: note:   initializing argument 3 of 'static int QString::compare_helper(const QChar*, int, QLatin1String, Qt::CaseSensitivity)'
  634 |                               QLatin1String s2,
      |                               ~~~~~~~~~~~~~~^~
/opt/local/libexec/qt4/include/QtCore/qstring.h: In static member function 'static int QStringRef::compare(const QStringRef&, QLatin1String, Qt::CaseSensitivity)':
/opt/local/libexec/qt4/include/QtCore/qstring.h:1260:33: warning: implicitly-declared 'constexpr QLatin1String::QLatin1String(const QLatin1String&)' is deprecated [-Wdeprecated-copy]
 1260 | { return QString::compare_helper(s1.constData(), s1.length(), s2, cs); }
      |          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qstring.h:658:27: note: because 'QLatin1String' has user-provided 'QLatin1String& QLatin1String::operator=(const QLatin1String&)'
  658 |     inline QLatin1String &operator=(const QLatin1String &other)
      |                           ^~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qstring.h:634:45: note:   initializing argument 3 of 'static int QString::compare_helper(const QChar*, int, QLatin1String, Qt::CaseSensitivity)'
  634 |                               QLatin1String s2,
      |                               ~~~~~~~~~~~~~~^~
/opt/local/libexec/qt4/include/QtCore/qstring.h: In member function 'QBool QStringRef::contains(QLatin1String, Qt::CaseSensitivity) const':
/opt/local/libexec/qt4/include/QtCore/qstring.h:1278:23: warning: implicitly-declared 'constexpr QLatin1String::QLatin1String(const QLatin1String&)' is deprecated [-Wdeprecated-copy]
 1278 | { return QBool(indexOf(s, 0, cs) != -1); }
      |                ~~~~~~~^~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qstring.h:658:27: note: because 'QLatin1String' has user-provided 'QLatin1String& QLatin1String::operator=(const QLatin1String&)'
  658 |     inline QLatin1String &operator=(const QLatin1String &other)
      |                           ^~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qstring.h:1125:31: note:   initializing argument 1 of 'int QStringRef::indexOf(QLatin1String, int, Qt::CaseSensitivity) const'
 1125 |     int indexOf(QLatin1String str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
      |                 ~~~~~~~~~~~~~~^~~
irccommand.cpp: In member function 'void IrcCommand::setParameters(const QStringList&)':
irccommand.cpp:367:21: warning: implicitly-declared 'QStringList& QStringList::operator=(const QStringList&)' is deprecated [-Wdeprecated-copy]
  367 |     d->parameters = parameters;
      |                     ^~~~~~~~~~
In file included from ../../include/IrcCore/irccommand.h:35:
/opt/local/libexec/qt4/include/QtCore/qstringlist.h:71:12: note: because 'QStringList' has user-provided 'QStringList::QStringList(const QStringList&)'
   71 |     inline QStringList(const QStringList &l) : QList<QString>(l) { }
      |            ^~~~~~~~~~~
In file included from irccommand.cpp:928:
debug/moc_irccommand.cpp: In member function 'virtual int IrcCommand::qt_metacall(QMetaObject::Call, int, void**)':
debug/moc_irccommand.cpp:409:67: warning: implicitly-declared 'QStringList& QStringList::operator=(const QStringList&)' is deprecated [-Wdeprecated-copy]
  409 |         case 2: *reinterpret_cast< QStringList*>(_v) = parameters(); break;
      |                                                                   ^
/opt/local/libexec/qt4/include/QtCore/qstringlist.h:71:12: note: because 'QStringList' has user-provided 'QStringList::QStringList(const QStringList&)'
   71 |     inline QStringList(const QStringList &l) : QList<QString>(l) { }
      |            ^~~~~~~~~~~
compiling ircconnection.cpp
ircconnection.cpp:42:10: fatal error: QRegularExpression: No such file or directory
   42 | #include <QRegularExpression>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[3]: *** [release/ircconnection.o] Error 1
make[3]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libcommuni/libcommuni/work/libcommuni-3.7.0/src/core'
make[2]: *** [release-all] Error 2
barracuda156 referenced this issue Jun 29, 2023
* Replaced QRegExp with QRegularExpression in tests

* Replace most QRegExp occurences with QRegularExpression

* Attempt to migrate last QRegExp

I'm not sure about the implementation, gotta make some debug tests first to ensure it doesn't break any functionality.

* Fix match logic and tests
@barracuda156 barracuda156 changed the title ircconnection.cpp: fatal error: QRegularExpression: No such file or directory Qt6-related changes broken build with Qt4 Jun 29, 2023
@Thaodan
Copy link
Member

Thaodan commented Jun 29, 2023

Qt4 is so old I wonder why it would make sense to fix the bug. What is your reason for Qt4?

@barracuda156
Copy link
Author

barracuda156 commented Jun 29, 2023

@Thaodan Thank you for responding.

The reason being Qt5 is broken for macOS PowerPC (likely on older Intel too).
Qt4 works beautifully at the same time, to this day, and is used in multiple apps in Macports.

P. S. Just in case, one does not need an old macOS or PowerPC to test Qt4 builds though. It works all through the latest macOS: https://ports.macports.org/port/qt4-mac/details

@barracuda156
Copy link
Author

For the record, 3.6.0 builds fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants