Commit: f286e7e017ffd665db86b2f47a5c72c416914834
Author: Sergey Sharybin
Date:   Tue Jan 24 12:57:33 2017 +0100
Branches: blender2.8
https://developer.blender.org/rBf286e7e017ffd665db86b2f47a5c72c416914834

Depsgraph: Make it more clear and explicit compile fail when required features 
are not found

===================================================================

M       source/blender/depsgraph/util/deg_util_foreach.h
M       source/blender/depsgraph/util/deg_util_function.h

===================================================================

diff --git a/source/blender/depsgraph/util/deg_util_foreach.h 
b/source/blender/depsgraph/util/deg_util_foreach.h
index 531e67968c..8c234eae7d 100644
--- a/source/blender/depsgraph/util/deg_util_foreach.h
+++ b/source/blender/depsgraph/util/deg_util_foreach.h
@@ -36,13 +36,7 @@
 #  include <boost/foreach.hpp>
 #  define foreach BOOST_FOREACH
 #else
-#pragma message("No available foreach() implementation. Using stub instead, 
disabling new depsgraph")
-
-#error "Unable to build new depsgraph and legacy one is disabled."
-
-#define DISABLE_NEW_DEPSGRAPH
-
-#  define foreach(x, y) for (x; false; (void)y)
+#  error "Depsgraph requires either Boost or C++11 for range-based loops."
 #endif
 
 #define GHASH_FOREACH_BEGIN(type, var, what) \
diff --git a/source/blender/depsgraph/util/deg_util_function.h 
b/source/blender/depsgraph/util/deg_util_function.h
index 13c714bd63..da31bb037f 100644
--- a/source/blender/depsgraph/util/deg_util_function.h
+++ b/source/blender/depsgraph/util/deg_util_function.h
@@ -47,62 +47,5 @@ using boost::function;
 #define function_bind boost::bind
 
 #else
-
-#pragma message("No available function binding implementation. Using stub 
instead, disabling new depsgraph")
-
-#error "Unable to build new depsgraph and legacy one is disabled."
-
-#define DISABLE_NEW_DEPSGRAPH
-
-#include "BLI_utildefines.h"
-#include <cstdlib>
-
-template<typename T>
-class function {
-public:
-       function() {};
-       function(void *) {}
-       operator bool() const { return false; }
-       bool operator== (void *) { return false; }
-
-       template<typename T1>
-       void operator() (T1) {
-               BLI_assert(!"Should not be used");
-       }
-};
-
-class Wrap {
-public:
-       Wrap() {}
-       template <typename T>
-       Wrap(T /*arg*/) {}
-};
-
-template <typename T>
-void *function_bind(T func,
-                    Wrap arg1 = Wrap(),
-                    Wrap arg2 = Wrap(),
-                    Wrap arg3 = Wrap(),
-                    Wrap arg4 = Wrap(),
-                    Wrap arg5 = Wrap(),
-                    Wrap arg6 = Wrap(),
-                    Wrap arg7 = Wrap())
-{
-       BLI_assert(!"Should not be used");
-       (void)func;
-       (void)arg1;
-       (void)arg2;
-       (void)arg3;
-       (void)arg4;
-       (void)arg5;
-       (void)arg6;
-       (void)arg7;
-       return NULL;
-}
-
-#define _1 Wrap()
-#define _2 Wrap()
-#define _3 Wrap()
-#define _4 Wrap()
-
+#  error "Depsgraph requires either Boost or C++11 for function bindings."
 #endif

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to