[Development] QTBUG-111330: moc help needed: parsing QtDBus Q_NOREPLY

Allan Sandfeld Jensen kde at carewolf.com
Sat Jul 15 16:15:20 CEST 2023


On Montag, 13. März 2023 17:38:54 EEST Thiago Macieira wrote:
> This is a P1 blocker for 6.5.0.
> 
> TL;DR: This is a regression; I broke parsing of previously working code and
> don't know how to fix it.
> 
> The Q_NOREPLY marker is emitted by qdbusxml2cpp to use a little known moc
> feature of extracting "tags" from meta-method declarations and having them
> available in the QMetaMethod::tag(). This has been in use in QtDBus since
> 4.2 in 2006, and it's a feature that predated QtDBus. I just made use of it
> then.
> 
> The feature was designed based on where GCC put the __attribute__ markers
> and MSVC put the __declspec markers back in the day. It's NOT where C++11
> decided to put the [[attribute]] markers. So when Q_DECL_DEPRECATED is
> [[deprecated]], the emitted marker was in the wrong position. Commit
> f67b32e735cbbed6848b5d40a61329f71f54a14d  fixed that by moving the
> Q_DECL_DEPRECATED to the right position, which is the left. I also moved
> Q_NOREPLY.
> 
> That broke moc and the task was created:
> "error: Not a signal or slot declaration"
> 

Was this ever fixed? Because I am still getting such errors building with 
qt-6.5 branch on two entirely different built setups.

Best regards
Allan




More information about the Development mailing list