[plasma-framework] /: Revert "Enabling C++11 flags for clang and gcc"

Ivan Čukić ivan.cukic at kde.org
Fri Jun 28 21:58:21 UTC 2013


> OK, then we got a misunderstanding somewhere...
> 
> Using those Q_* macros is perfectly fine (and even encouraged, we already
> use Q_DECL_OVERRIDE and I'd like to see more Q_NULLPTR for instance). They
> enable exactly what I was describing earlier: works without C++11 support,
> you get extras otherwise.

No misunderstanding - for the features that require gcc >=4.6 and clang >=3.2, 
it was decided to use the macros*. For the features available in 4.5 and clang  
3.1 (freebsd compiler iirc) no macros (auto, lambdas, variadic templates, move 
semantics)

> auto, lambdas, functional or some of the new features around templates or
> ctors are another story, that's the ones which can be really troublesome for
> portability. Apart from auto, the other ones (from a library point of view)
> are generally about providing extra API and that's often inlined code...

I don't agree that these /additional/ features are about the api. <algorithm> 
is an (IMO) immensely useful, especially with lambdas and std::bind for actual 
non exposed parts.

Cheers

* I really can't dig up the reference thread(s) on kcd yet again :)




More information about the Plasma-devel mailing list