[Bf-blender-cvs] [f286e7e017] blender2.8: Depsgraph: Make it more clear and explicit compile fail when required features are not found

Sergey Sharybin noreply at git.blender.org
Tue Jan 24 14:11:13 CET 2017


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




More information about the Bf-blender-cvs mailing list