Difference between revisions of "Dev:C++11 Migration"
From Synfig Studio :: Documentation
(creation : copy paste from #904 tracker report comments) |
m (Merged) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
<!-- end Page info --> | <!-- end Page info --> | ||
− | Have a look to [https://github.com/d-j-a-y/synfig/tree/djay_fix906_C++11Support C++11Support branch] for progress. | + | Have a look to [https://github.com/d-j-a-y/synfig/tree/djay_fix906_C++11Support C++11Support branch] for progress. C++11 Migration [https://github.com/synfig/synfig/pull/219 merged to master], + other fix. |
+ | |||
+ | ==C++11 compliance or Migration== | ||
+ | * Should keep the possibility to build on C++98. | ||
==Enable C++ Support== | ==Enable C++ Support== | ||
* DONE : ADD to both {{literal|synfig-core/m4/}} and {{literal|synfig-studio/m4/}} the {{literal|ax_cxx_compile_stdcxx.m4}} {{literal|and ax_cxx_compile_stdcxx_11.m4}} directives from https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html | * DONE : ADD to both {{literal|synfig-core/m4/}} and {{literal|synfig-studio/m4/}} the {{literal|ax_cxx_compile_stdcxx.m4}} {{literal|and ax_cxx_compile_stdcxx_11.m4}} directives from https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html | ||
− | * DONE : synfig-core and synfig-studio / configure.ac : AX_CXX_COMPILE_STDCXX_11([noext],[ | + | * DONE : synfig-core and synfig-studio / configure.ac : AX_CXX_COMPILE_STDCXX_11([noext],[optional]) |
==Fix Code to be compliant== | ==Fix Code to be compliant== | ||
* DONE : replace isnan , isinf by std::isnan , std::isinf | * DONE : replace isnan , isinf by std::isnan , std::isinf | ||
* replace NULL/0 by nullptr (BOOST MACRO) | * replace NULL/0 by nullptr (BOOST MACRO) | ||
− | * update sigc++ | + | * DONE : update sigc++ --> only #include <sigc++/sigc++.h> |
* [http://sourceforge.net/p/synfig/mailman/message/34782388/ FIXED] : "lvalue required as unary '&' operand" errors (info [http://eli.thegreenplace.net/2011/12/15/understanding-lvalues-and-rvalues-in-c-and-c/|1] [http://databasefaq.com/index.php/answer/99689/c-class-lvalue-c-error-lvalue-required-as-unary-operand|2] [http://stackoverflow.com/questions/23566857/in-c11-how-can-i-get-a-temporary-lvalue-without-a-name|3] ) | * [http://sourceforge.net/p/synfig/mailman/message/34782388/ FIXED] : "lvalue required as unary '&' operand" errors (info [http://eli.thegreenplace.net/2011/12/15/understanding-lvalues-and-rvalues-in-c-and-c/|1] [http://databasefaq.com/index.php/answer/99689/c-class-lvalue-c-error-lvalue-required-as-unary-operand|2] [http://stackoverflow.com/questions/23566857/in-c11-how-can-i-get-a-temporary-lvalue-without-a-name|3] ) | ||
+ | * DONE : fix warning for preprocessor strings | ||
==Useful information about C++11 Migration== | ==Useful information about C++11 Migration== | ||
− | General information about C++11 : [http://www.stroustrup.com/C++11FAQ.html Stroustrup.b C++11 FAQ] | + | * General information about C++11 : [http://www.stroustrup.com/C++11FAQ.html Stroustrup.b C++11 FAQ] |
− | https://devcentral.f5.com/articles/case-study-linerates-c98-to-c11-migration | + | * https://devcentral.f5.com/articles/case-study-linerates-c98-to-c11-migration |
Latest revision as of 21:31, 13 February 2016
Have a look to C++11Support branch for progress. C++11 Migration merged to master, + other fix.
Contents
C++11 compliance or Migration
- Should keep the possibility to build on C++98.
Enable C++ Support
- DONE : ADD to both "synfig-core/m4/" and "synfig-studio/m4/" the "ax_cxx_compile_stdcxx.m4" "and ax_cxx_compile_stdcxx_11.m4" directives from https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
- DONE : synfig-core and synfig-studio / configure.ac : AX_CXX_COMPILE_STDCXX_11([noext],[optional])
Fix Code to be compliant
- DONE : replace isnan , isinf by std::isnan , std::isinf
- replace NULL/0 by nullptr (BOOST MACRO)
- DONE : update sigc++ --> only #include <sigc++/sigc++.h>
- FIXED : "lvalue required as unary '&' operand" errors (info [1] [2] [3] )
- DONE : fix warning for preprocessor strings
Useful information about C++11 Migration
- General information about C++11 : Stroustrup.b C++11 FAQ
- https://devcentral.f5.com/articles/case-study-linerates-c98-to-c11-migration