blender/intern
Sergey Sharybin 63ea8dd156 Initial compilation support with C++11 featureset enabled
This commit makes some preliminary fixes and tweaks aimed to make blender
compilable with C++11 feature set. This includes:

- Build system attribute to enable C++11 featureset.

  It's for sure default OFF, but easy to enable to have a play around with
  it and make sure all the stuff is compilable before we go C++11 for real.

- Changes in Compositor to use non-named cl_int structure fields.

  This is because __STRICT_ANSI__ is defined by default by GCC and OpenCL
  does not use named fields in this case.

- Changes to TYPE_CHECK() related on lack of typeof() in C++11

  This uses decltype() instead with some trickery to make sure returned type
  is not a reference.

- Changes for auto_ptr in Freestyle

  This actually conditionally switches between auto_ptr and unique_ptr since
  auto_ptr is deprecated in C++11. Seems to be not strictly needed but still
  nice to be ready for such an update anyway/

This all based on changes form depsgraph_refactor branch apart from the weird
changes which were made in order to support MinGW compilation. Those parts of
change would need to be carefully reviewed again after official move to gcc49
in MinGW.

Tested on Linux with GCC-4.7 and Clang-3.5, other platforms are not tested and
likely needs some more tweaks.

Reviewers: campbellbarton, juicyfruit, mont29, lukastoenne, psy-fi, kjym3

Differential Revision: https://developer.blender.org/D1089
2015-03-13 16:47:40 +05:00
..
atomic Fixes for atomic operations when building with MSVC 2014-12-02 16:38:09 +05:00
audaspace Audaspace: Fix typo in speed of sound initialization value by lordloki (Jorge Bernal) 2015-01-29 12:20:41 +13:00
container Rework carve integration into boolean modifier 2014-02-13 17:16:53 +06:00
cycles Initial compilation support with C++11 featureset enabled 2015-03-13 16:47:40 +05:00
dualcon quiet double-promotion warnings, change octree.cpp to use a float (vector accumulated into a float anyway) 2013-08-06 06:38:52 +00:00
elbeem CMake: correct include dirs 2014-07-01 09:36:28 +10:00
ffmpeg Fix video FFmpeg nt being able to produce video files due to usage of deprecated settings 2014-04-15 00:15:09 +06:00
ghost Recent changes broke SDL/GHOST 2015-03-05 21:01:48 +11:00
glew-mx CMake: error making get_blender_version a function 2015-02-25 18:15:54 +11:00
guardedalloc GuardedAlloc: safer MEM_SAFE_FREE 2015-03-12 23:49:15 +11:00
iksolver Code cleanup: white space and cmake was broken on all platforms 2014-02-03 13:56:34 +11:00
itasc Code cleanup: warnings 2014-07-20 00:38:52 +10:00
locale Cleanup: cmake 2014-11-13 15:30:32 +01:00
memutil Change movie cache to use vectors instead of lists. 2015-02-05 15:06:25 +01:00
mikktspace Style Cleanup: remove preprocessor indentation (updated wiki style guide too) 2013-12-22 14:12:19 +11:00
moto BGE: TrackTo actuator: increasing up & track axis options 2014-07-14 18:30:27 -07:00
opencolorio Fix OpenGL error on cycles rendered viewport. 2014-10-08 12:19:06 +02:00
opennl Fix limit check before accessing array in opennl 2015-01-21 17:19:39 +05:00
raskter code cleanup: use NULL rather then 0 for pointers, and make vars static where possible. 2013-03-22 05:34:10 +00:00
rigidbody Code cleanup 2014-07-18 11:55:59 +10:00
smoke CMake: only quiet warnings for generated rna files 2015-02-08 15:08:31 +11:00
string fix for buffer out-of-bounds reading for STR_String comparisons with char arrays. 2013-03-22 21:26:59 +00:00
utfconv Warning cleanup: 2014-03-22 14:41:38 +02:00
CMakeLists.txt Ghost Context Refactor 2014-10-07 15:47:32 -05:00
SConscript Ghost Context Refactor 2014-10-07 15:47:32 -05:00