C++11 in KDevelop 4.6
Milian Wolff
mail at milianw.de
Wed Nov 21 18:14:50 UTC 2012
Hey all,
is anyone opposed to open KDevelop 4.6 for C++11? I.e. that means we continue
to work as-is and provide a kick-ass KDevelop 4.5. Once we branch 4.5, we
enable C++11 mode globally and start using it in master.
######## Reasons:
- KDevelop is a free time project and it should be fun to work on it. C++11 is
quite a lot of fun, if not only because it's new. This is actually the main
reason for me to go down the C++11 route. This would also allow us to learn
C+11 which is a benefit for those of us who do professional work-work
programming.
- Tons of potential performance benefits thanks to constexpr, noexcept, r-
value references etc. pp.
- Much easier to read code thanks to auto, lambdas, alias templates, defaulted
functions, etc. pp. This also leads to better maintainability.
- Improved compiler analysis thanks to e.g. static assert, override, final,
nullptr, explicit conversion operators, deleted functions, etc. pp.
######## Compilers:
See also: http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport
Personally I'd say we should just require these compiler versions and above:
clang 3.1 - required for constexpr, lambda, initializer lists, ...
GCC 4.7 - 4.6 might even be enough, but 4.7 has some more stuff like
delegating constructors, override, final and non-static data member
initialization.
msvc ctp november 2012
(http://blogs.msdn.com/b/vcblog/archive/2012/11/02/visual-c-c-11-and-the-
future-of-c.aspx)
######## Potential Issues:
- FreeBSD situation? http://wiki.freebsd.org/NewC%2B%2BStack <-- I'm not sure
how far they are. But quite frankly, I'd say they can stick to KDevelop 4.5
until they have a modern compiler like clang 3.1.
- Debian? Wheezy should come with GCC 4.7 if I'm not mistaken:
http://packages.debian.org/wheezy/gcc Imo it's fine if we only support that
version of Debian. All other distros probably already have GCC 4.7 available,
or will have it in their next distro release in time for KDevelop 4.6
- Windows? If anything breaks on MSVC it's imo not an issue as KDevelop is
defacto dead on Windows (noone is working on it there). Also considering that
the windows team is actually working on proper C++11 support (see link above)
its only a matter of time until it has everything we need.
- Backporting: Now this is imo a potential issue, but considering that we
don't do such a good job in that regard anyways, it's not that big a deal...
And most of the fixes we do backport are oneliners which could be done in the
4.5 branches and forward ported to 4.6.
######## Comments? Feedback?
Cheers
--
Milian Wolff
mail at milianw.de
http://milianw.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20121121/f7f707b7/attachment.sig>
More information about the KDevelop-devel
mailing list