[Development] We are planning to upgrade qdoc to use clang for parsing C++
Olivier Goffart
olivier at woboq.com
Thu Feb 25 18:36:16 CET 2016
Am Donnerstag, 25. Februar 2016, 09:02:11 CET schrieb Thiago Macieira:
> On quinta-feira, 25 de fevereiro de 2016 17:33:52 PST Cristian Adam wrote:
> > This might be a burden for some of the Qt developers (Windows ones).
> >
> > But all the Qt users get a modern / flexible moc, see this thread:
> > https://www.reddit.com/r/cpp/comments/470ama/qt_moc_myths_debunked/d09c90e
>
> I don't think we need a more flexible moc. What do we want to do that we
> can't do with the current one?
>
> Don't say "template QObjects". That has other reasons for being a bad idea,
> currently.
>
> Is it Olivier's maintenance burden?
The parser need to be adapted if we want to support trailing type for signals/
slots/Q_INVOKABLE; or C++11 attributes; decltype as argument type for
invokable; or fancy default arguments. There might be other things.
As long as the QObject system does string comparison for return value, I think
there is no way to support automatic return type deduction in invokables
without a fully complient C++ parser.
Maybe if we had a QMetaType system that did not care about strings that would
work better. But we need to do some other way to query the argument types and
return type than putting it in the QMetaObject's array, because
qMetaTypeId<XXX>() is not constexpr.
--
Olivier
Woboq - Qt services and support - https://woboq.com - https://code.woboq.org
More information about the Development
mailing list