Until now, our minimum C++ compiler requirements on master are:
* Clang 3.1
* GCC 4.6 (specifically for Munich; preferred 4.7)
* MSVC 2012
Branch-off of LO 4.4 from master seems like a good time to re-visit.
And natural candidates for consideration appear to be dropping MSVC 2012
for 2013, and/or the feasibility of dropping GCC 4.6 for 4.7.
What could that buy us in terms of newly available C++ features? Based
on the progress from MSVC 2012 to 2013, the following list shows which
core language features became available where:
Feature: MSVC 2012 -> 2013; GCC
(Clang)
Non-static data member initializers No -> Yes; 4.7
(3.0)
Variadic templates No -> Yes; 4.3/4.4
(2.9)
Initializer lists No -> Yes; 4.4
(3.1)
decltype v1.0, v1.1 v1.1** -> v1.1; 4.3/4.8.1
(2.9/3.1)
Default template argumetns for function templates No -> Yes; 4.3
(2.9)
Alias templates No -> Yes; 4.7
(3.0)
Delegating constructors No -> Yes; 4.7
(3.0)
Explicit conversion operators No -> Yes; 4.5
(3.0)
Raw string literals No -> Yes; 4.5
(3.0)
Defaulted and deleted functions No -> Yes*; 4.4
(2.9/3.0)
(Taken from <http://msdn.microsoft.com/en-us/library/hh567368.aspx>
"Support For C++11 Features (Modern C++): Visual Studio
2013,"<https://gcc.gnu.org/projects/cxx0x.html> "C++0x/C++11 Support in
GCC." and <http://clang.llvm.org/cxx_status.html> "C++ Support in Clang.")
So dropping MSVC 2012 for 2013 would give us six new features:
* Variadic templates
* Initializer lists
* Default template argumetns for function templates
* Explicit conversion operators
* Raw string literals
* Defaulted and deleted functions
And additionally dropping GCC 4.6 for 4.7 would give us an additional
three new features:
* Non-static data member initializers
* Alias templates
* Delegating constructors
Thoughts?
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice