Re: [Bf-committers] Towards C++11
General +1 to take advantage of C++11 where appropriate, AFAICS OSX needs some investigation?, otherwise we're close to being able to support it. @Tom M: I'm not concerned with static checking tools, mainly because using C++11 in a few places won't suddenly make static checkers fail on the rest of our code, eventually they will get updated too. Coverity has support: https://communities.coverity.com/docs/DOC-1571 clang-static-analyser didn't work well for me last I checked with C++, but it might have improved in last year or so. @Ichthyo: Not being able to build Blender on older Linux isnt such a big deal since Blender can still run on them, if its important they can get a new compiler (I did this on a CentOS server, compiling a newer GCC/Clang isnt that big of a deal). @Jeffrey H: C++11 doesn't raise hardware requirements. On Sat, Jun 7, 2014 at 3:18 PM, Jeffrey H italic.rendezv...@gmail.com wrote: What about older hardware? I don't know much about C++11, but I would imagine it takes advantage of newer processor instruction sets and I know new compilers do the same. Would Blender still run on, say, an old Pentium 4? The reason I ask is simply because a large number of users use Blender because it's able to run on the proverbial toaster, where Maya and other programs cannot. Is this actually an issue or am I just making stuff up? On Fri, Jun 6, 2014 at 11:39 AM, Ichthyostega p...@ichthyostega.de wrote: Am 06.06.2014 17:54, schrieb Sergey Sharybin: Why it might be useful? C++11 brings some neat syntax and STD library extensions. ..plus the benefit you can get from using functors / closures wisely. Downside is that we have to cut off some platforms / compilers. Basically we need GCC = 4.7 and Clang = 3.0 And anything below that will not be supported anymore. Like RedHat Enterprise Linux. :-P Sounds like something for Blender 2.8.x --Ichthyo ___ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers -- Jeffrey Italic_ Hoover ___ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers -- - Campbell ___ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers
Re: [Bf-committers] Towards C++11
@Campbell I am pretty sure give how hard Apple is pushing out new releases and given how many people upgrade that we can just assume an llvm/clang 3.0+ feature set for c++11. I think we should also do this analysis for C99 support and C11 support. There are some other projects out there that use C++11 features (clang is one) and they have made comprehensive analysis of what features they can and do use. There are some things we can use anyway like noexcept provided we use it like the QT people use it so the code does not require a c++11 compiler but you do get some benefit from compiling with one ( http://qt-project.org/doc/qt-5/qtglobal.html#Q_DECL_NOEXCEPT) I think getting a sort of caniuse.com for c/c++ language features on the wiki would be good way forward. On Sat, Jun 7, 2014 at 11:11 AM, Campbell Barton ideasma...@gmail.com wrote: General +1 to take advantage of C++11 where appropriate, AFAICS OSX needs some investigation?, otherwise we're close to being able to support it. @Tom M: I'm not concerned with static checking tools, mainly because using C++11 in a few places won't suddenly make static checkers fail on the rest of our code, eventually they will get updated too. Coverity has support: https://communities.coverity.com/docs/DOC-1571 clang-static-analyser didn't work well for me last I checked with C++, but it might have improved in last year or so. @Ichthyo: Not being able to build Blender on older Linux isnt such a big deal since Blender can still run on them, if its important they can get a new compiler (I did this on a CentOS server, compiling a newer GCC/Clang isnt that big of a deal). @Jeffrey H: C++11 doesn't raise hardware requirements. On Sat, Jun 7, 2014 at 3:18 PM, Jeffrey H italic.rendezv...@gmail.com wrote: What about older hardware? I don't know much about C++11, but I would imagine it takes advantage of newer processor instruction sets and I know new compilers do the same. Would Blender still run on, say, an old Pentium 4? The reason I ask is simply because a large number of users use Blender because it's able to run on the proverbial toaster, where Maya and other programs cannot. Is this actually an issue or am I just making stuff up? On Fri, Jun 6, 2014 at 11:39 AM, Ichthyostega p...@ichthyostega.de wrote: Am 06.06.2014 17:54, schrieb Sergey Sharybin: Why it might be useful? C++11 brings some neat syntax and STD library extensions. ..plus the benefit you can get from using functors / closures wisely. Downside is that we have to cut off some platforms / compilers. Basically we need GCC = 4.7 and Clang = 3.0 And anything below that will not be supported anymore. Like RedHat Enterprise Linux. :-P Sounds like something for Blender 2.8.x --Ichthyo ___ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers -- Jeffrey Italic_ Hoover ___ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers -- - Campbell ___ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers ___ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers
Re: [Bf-committers] Towards C++11
It's great to see that C++11 has general support. It would be really helpful in the depsgraph to deal with closures, among other places. Without this we'd have to either tediously backport boost implementation (but why reinvent the wheel?), or use lots of bloated cumbersome type definitions and C style void* casting (error prone, hides logic). So i'm really happy that there are no big showstoppers so far. On Sat, Jun 7, 2014 at 11:38 AM, Martijn Berger martijn.ber...@gmail.com wrote: @Campbell I am pretty sure give how hard Apple is pushing out new releases and given how many people upgrade that we can just assume an llvm/clang 3.0+ feature set for c++11. I think we should also do this analysis for C99 support and C11 support. There are some other projects out there that use C++11 features (clang is one) and they have made comprehensive analysis of what features they can and do use. There are some things we can use anyway like noexcept provided we use it like the QT people use it so the code does not require a c++11 compiler but you do get some benefit from compiling with one ( http://qt-project.org/doc/qt-5/qtglobal.html#Q_DECL_NOEXCEPT) I think getting a sort of caniuse.com for c/c++ language features on the wiki would be good way forward. On Sat, Jun 7, 2014 at 11:11 AM, Campbell Barton ideasma...@gmail.com wrote: General +1 to take advantage of C++11 where appropriate, AFAICS OSX needs some investigation?, otherwise we're close to being able to support it. @Tom M: I'm not concerned with static checking tools, mainly because using C++11 in a few places won't suddenly make static checkers fail on the rest of our code, eventually they will get updated too. Coverity has support: https://communities.coverity.com/docs/DOC-1571 clang-static-analyser didn't work well for me last I checked with C++, but it might have improved in last year or so. @Ichthyo: Not being able to build Blender on older Linux isnt such a big deal since Blender can still run on them, if its important they can get a new compiler (I did this on a CentOS server, compiling a newer GCC/Clang isnt that big of a deal). @Jeffrey H: C++11 doesn't raise hardware requirements. On Sat, Jun 7, 2014 at 3:18 PM, Jeffrey H italic.rendezv...@gmail.com wrote: What about older hardware? I don't know much about C++11, but I would imagine it takes advantage of newer processor instruction sets and I know new compilers do the same. Would Blender still run on, say, an old Pentium 4? The reason I ask is simply because a large number of users use Blender because it's able to run on the proverbial toaster, where Maya and other programs cannot. Is this actually an issue or am I just making stuff up? On Fri, Jun 6, 2014 at 11:39 AM, Ichthyostega p...@ichthyostega.de wrote: Am 06.06.2014 17:54, schrieb Sergey Sharybin: Why it might be useful? C++11 brings some neat syntax and STD library extensions. ..plus the benefit you can get from using functors / closures wisely. Downside is that we have to cut off some platforms / compilers. Basically we need GCC = 4.7 and Clang = 3.0 And anything below that will not be supported anymore. Like RedHat Enterprise Linux. :-P Sounds like something for Blender 2.8.x --Ichthyo ___ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers -- Jeffrey Italic_ Hoover ___ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers -- - Campbell ___ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers ___ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers ___ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers
Re: [Bf-committers] Towards C++11
Regarding OSX, it should plain work. I use c++11 based projects since a while without any issues recognized. Anyway apple clang is based on common clang svn, just with some specials addedas for example xcode integration etc. .. Jens Am 07.06.2014 um 12:04 schrieb Lukas Tönne lukas.toe...@gmail.com: It's great to see that C++11 has general support. It would be really helpful in the depsgraph to deal with closures, among other places. Without this we'd have to either tediously backport boost implementation (but why reinvent the wheel?), or use lots of bloated cumbersome type definitions and C style void* casting (error prone, hides logic). So i'm really happy that there are no big showstoppers so far. On Sat, Jun 7, 2014 at 11:38 AM, Martijn Berger martijn.ber...@gmail.com wrote: @Campbell I am pretty sure give how hard Apple is pushing out new releases and given how many people upgrade that we can just assume an llvm/clang 3.0+ feature set for c++11. I think we should also do this analysis for C99 support and C11 support. There are some other projects out there that use C++11 features (clang is one) and they have made comprehensive analysis of what features they can and do use. There are some things we can use anyway like noexcept provided we use it like the QT people use it so the code does not require a c++11 compiler but you do get some benefit from compiling with one ( http://qt-project.org/doc/qt-5/qtglobal.html#Q_DECL_NOEXCEPT) I think getting a sort of caniuse.com for c/c++ language features on the wiki would be good way forward. On Sat, Jun 7, 2014 at 11:11 AM, Campbell Barton ideasma...@gmail.com wrote: General +1 to take advantage of C++11 where appropriate, AFAICS OSX needs some investigation?, otherwise we're close to being able to support it. @Tom M: I'm not concerned with static checking tools, mainly because using C++11 in a few places won't suddenly make static checkers fail on the rest of our code, eventually they will get updated too. Coverity has support: https://communities.coverity.com/docs/DOC-1571 clang-static-analyser didn't work well for me last I checked with C++, but it might have improved in last year or so. @Ichthyo: Not being able to build Blender on older Linux isnt such a big deal since Blender can still run on them, if its important they can get a new compiler (I did this on a CentOS server, compiling a newer GCC/Clang isnt that big of a deal). @Jeffrey H: C++11 doesn't raise hardware requirements. On Sat, Jun 7, 2014 at 3:18 PM, Jeffrey H italic.rendezv...@gmail.com wrote: What about older hardware? I don't know much about C++11, but I would imagine it takes advantage of newer processor instruction sets and I know new compilers do the same. Would Blender still run on, say, an old Pentium 4? The reason I ask is simply because a large number of users use Blender because it's able to run on the proverbial toaster, where Maya and other programs cannot. Is this actually an issue or am I just making stuff up? On Fri, Jun 6, 2014 at 11:39 AM, Ichthyostega p...@ichthyostega.de wrote: Am 06.06.2014 17:54, schrieb Sergey Sharybin: Why it might be useful? C++11 brings some neat syntax and STD library extensions. ..plus the benefit you can get from using functors / closures wisely. Downside is that we have to cut off some platforms / compilers. Basically we need GCC = 4.7 and Clang = 3.0 And anything below that will not be supported anymore. Like RedHat Enterprise Linux. :-P Sounds like something for Blender 2.8.x --Ichthyo ___ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers -- Jeffrey Italic_ Hoover ___ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers -- - Campbell ___ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers ___ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers ___ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers _ Jens Verwiebe Allerskehre 44 - 22309 Hamburg Tel.: +49 40 68 78 50 mobil: +49 172 400 49 07 mailto: i...@jensverwiebe.de web: http://www.jensverwiebe.de _ ___ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers