[PATH] fix broken mac build on old clangs.
Dirk Hohndel
dirk at hohndel.org
Mon Nov 9 12:11:30 PST 2015
On Mon, Nov 09, 2015 at 11:51:30AM -0800, Thiago Macieira wrote:
> On Sunday 08 November 2015 22:57:03 Dirk Hohndel wrote:
> > > On Nov 8, 2015, at 10:41 PM, Thiago Macieira <thiago at macieira.org> wrote:
> > >
> > > Can you try adding the -stdlib option in the AppleClang branch to see what
> > > happens?
> >
> > I have an odd question.
> >
> > Why?
>
> Well, for one thing, because it would use libc++, which is maintained for
> later versions of OS X, whereas GNU's libstdc++ is old and not updated by
> Apple (GPLv3 controversy).
>
> Both libs are good in their *current* versions. But Apple stopped updating
> libstdc++ 8 years ago.
Fun. Gotta love Apple.
> > private:
> > PluginManager();
> > - PluginManager(const PluginManager&) = delete;
> > - PluginManager& operator=(const PluginManager&) = delete;
> > + PluginManager(const PluginManager&){};
> > + PluginManager& operator=(const PluginManager&){};
> > };
>
> To me, that improves readability, since the = delete is clear in what it does.
Actually, I have not the faintest idea what it does.
> Moreover, it improves the error message in case you do accidentally try to
> copy the object. And there's a silly error in the patch, that adds ; that
> shouldn't be there.
Which one?
> Maybe a compromise is to use Q_DISABLE_COPY(PluginManager).
Or get rid of plugins that I don't really see the value of...
> What I'm trying to figure out is why it's a hassle in the first place. The
> compiler that comes with Xcode 4.6 should be powerful enough. More
> importantly, this shows there's a problem somewhere, somehow causing problems
> building Qt applications and I should investigate it.
>
> Qt 5.6 (the Long Term Release) should work with Xcode 4.6.
>
> > All that said? I think I'm happy with just rejecting C++11 code and keeping
> > our compilers focused on gnu99
>
> Fair enough, but you won't get away with that for long :-P
>
> Qt 5.6 will be the last release to support building in C++98 mode. Starting
> with Qt 5.7, a great deal of C++11 will be mandatory and the minimum version
> of Xcode will be 5.1.
I'll burn that bridge when we get there.
But I have an important question in that context. Will you be required to
use C++11 nonsense to USE Qt or will you be required to use a compiler
that supports this nonsense to BUILD Qt?
Because if Qt wants to stay somewhat compatible to its existing user base
then it should be careful about staying USABLE with C++98 mode...
But what this might mean is that Subsurface will try to stay on Qt 5.6 for
quite a while. Given that it's the long term release that may not be
entirely unreasonable either.
/D
More information about the subsurface
mailing list