communi / libcommuni

A cross-platform IRC framework for Qt
https://communi.github.io
BSD 3-Clause "New" or "Revised" License
84 stars 37 forks source link

Qt6-related changes broken build with Qt4 #117

Open barracuda156 opened 1 year ago

barracuda156 commented 1 year ago
/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
Thaodan commented 1 year ago

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

barracuda156 commented 1 year ago

@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 commented 1 year ago

For the record, 3.6.0 builds fine.