[Development] Platform / compiler support
Olivier Goffart
olivier at woboq.com
Mon Nov 7 22:40:09 CET 2011
On Monday 07 November 2011 19:52:37 Thiago Macieira wrote:
> On Monday, 7 de November de 2011 17:42:22 jan-arve.saether at nokia.com wrote:
> > Don't we need to agree on what criteria a platform needs to fulfill in
> > order to be supported? The supported platforms will change as times go
> > by, so the list will need to be updated by some criteria (it might
> > cause discussion when some platforms are removed from the list, or if
> > some are favored above others)
> >
> > * Is the criteria the number of installed platform SDKs?
> > * Is the criteria availability of platform SDK for people in the
> > community?>
> > (e.g. MinGW has wider availability than MSVC) * Is the criteria that it
> > should be used for automatic compile tests?
> >
> > For instance, I'm not sure if Qt will have significant increased
> > adoption
> > because ICC is a supported platform, (it would be nice with some
> > numbers,
> > maybe a poll would suffice?
>
> For this purpose, since we're talking about what kind of compiler and
> language features will be allowed in the source code, we have to be very
> broad.
I disagree. it is the set of supported compiler/platform that define the set
of feature we can or cannot use without #ifdef
> For example, suppose we want to allow template-template parameters
> in the code without restrictions. That means TTPs may enter into our API.
>
> Now imagine someone wants to port Qt to a platform with a compiler that
> doesn't support TTPs. That will be impossible because TTPs are mandatory and
> cannot be worked around. So this port is dead before it even starts
> happening.
>
> This is why I'm recommending being very conservative. Once we allow a
> feature unrestrictedly and it enters the API, there's no going back.
In that case, #ifdef are going to be added around that kind of API that cannot
be used with that compiler.
This is one reason rvct did not have QtConcurrent.
More information about the Development
mailing list