Page MenuHome

clang30.patch

clang30.patch

Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt (revision 44393)
+++ CMakeLists.txt (working copy)
@@ -1496,14 +1496,7 @@
endif()
endif()
-if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
- if(WITH_IK_ITASC)
- message(WARNING "Using Clang as CXX compiler: disabling WITH_IK_ITASC and WITH_MOD_FLUID, these features will be missing.")
- set(WITH_IK_ITASC OFF)
- endif()
-endif()
-
# ensure python header is found since detection can fail, this could happen
# with _any_ library but since we used a fixed python version this tends to
# be most problematic.
Index: source/blender/ikplugin/intern/itasc_plugin.cpp
===================================================================
--- source/blender/ikplugin/intern/itasc_plugin.cpp (revision 44393)
+++ source/blender/ikplugin/intern/itasc_plugin.cpp (working copy)
@@ -90,8 +90,6 @@
typedef float Vector4[4];
struct IK_Target;
typedef void (*ErrorCallback)(const iTaSC::ConstraintValues* values, unsigned int nvalues, IK_Target* iktarget);
-// For some reason, gcc doesn't find the declaration of this function in linux
-void KDL::SetToZero(JntArray& array);
// one structure for each target in the scene
struct IK_Target
@@ -1029,7 +1027,7 @@
// assume uniform scaling and take Y scale as general scale for the armature
scale = len_v3(ikscene->blArmature->obmat[1]);
// rest pose is 0
- KDL::SetToZero(ikscene->jointArray);
+ SetToZero(ikscene->jointArray);
// except for transY joints
rot = &ikscene->jointArray(0);
for(joint=a=0, ikchan = ikscene->channels; a<ikscene->numchan && joint<ikscene->numjoint; ++a, ++ikchan) {
Index: extern/libmv/third_party/glog/src/utilities.h
===================================================================
--- extern/libmv/third_party/glog/src/utilities.h (revision 44393)
+++ extern/libmv/third_party/glog/src/utilities.h (working copy)
@@ -105,7 +105,7 @@
# undef STACKTRACE_H
#elif defined(HAVE_LIB_UNWIND)
# define STACKTRACE_H "stacktrace_libunwind-inl.h"
-#elif !defined(NO_FRAME_POINTER)
+#elif !defined(NO_FRAME_POINTER) && !defined(__clang__)
# if defined(__i386__) && __GNUC__ >= 2
# define STACKTRACE_H "stacktrace_x86-inl.h"
# elif defined(__x86_64__) && __GNUC__ >= 2
Index: extern/libmv/third_party/glog/src/logging.cc
===================================================================
--- extern/libmv/third_party/glog/src/logging.cc (revision 44393)
+++ extern/libmv/third_party/glog/src/logging.cc (working copy)
@@ -1231,6 +1231,14 @@
#endif
}
+#if defined(HAVE___ATTRIBUTE__)
+typedef void (*fail_func_t)() __attribute__((noreturn));
+static void logging_fail() __attribute__((noreturn));
+#else
+typedef void (*fail_func_t)();
+static void logging_fail();
+#endif
+
static void logging_fail() {
// #if defined(_DEBUG) && defined(_MSC_VER)
// doesn't work for my laptop (sergey)
@@ -1243,14 +1251,9 @@
#endif
}
-#ifdef HAVE___ATTRIBUTE__
-GOOGLE_GLOG_DLL_DECL
-void (*g_logging_fail_func)() __attribute__((noreturn)) = &logging_fail;
-#else
-GOOGLE_GLOG_DLL_DECL void (*g_logging_fail_func)() = &logging_fail;
-#endif
+GOOGLE_GLOG_DLL_DECL fail_func_t g_logging_fail_func = &logging_fail;
-void InstallFailureFunction(void (*fail_func)()) {
+void InstallFailureFunction(fail_func_t fail_func) {
g_logging_fail_func = fail_func;
}
Index: extern/carve/include/carve/face_decl.hpp
===================================================================
--- extern/carve/include/carve/face_decl.hpp (revision 44393)
+++ extern/carve/include/carve/face_decl.hpp (working copy)
@@ -67,10 +67,10 @@
typedef carve::geom2d::P2 (*project_t)(const vector_t &);
typedef vector_t (*unproject_t)(const carve::geom2d::P2 &, const plane_t &);
- protected:
std::vector<const vertex_t *> vertices; // pointer into polyhedron.vertices
std::vector<const edge_t *> edges; // pointer into polyhedron.edges
+ protected:
project_t getProjector(bool positive_facing, int axis);
unproject_t getUnprojector(bool positive_facing, int axis);
Index: extern/carve/include/carve/kd_node.hpp
===================================================================
--- extern/carve/include/carve/kd_node.hpp (revision 44393)
+++ extern/carve/include/carve/kd_node.hpp (working copy)
@@ -28,7 +28,7 @@
namespace carve {
namespace geom {
template<unsigned ndim,
- typename data_t,
+ typename _data_t,
typename inserter_t,
typename aabb_calc_t>
class kd_node {
@@ -41,6 +41,7 @@
kd_node *parent;
axis_pos splitpos;
+ typedef _data_t data_t;
typedef vector<ndim> vector_t;
typedef std::list<data_t> container_t;
Index: extern/carve/include/carve/polyhedron_impl.hpp
===================================================================
--- extern/carve/include/carve/polyhedron_impl.hpp (revision 44393)
+++ extern/carve/include/carve/polyhedron_impl.hpp (working copy)
@@ -116,7 +116,7 @@
int r = 0;
const std::vector<const face_t *> &edge_faces = connectivity.edge_to_face[edgeToIndex_fast(e)];
for (size_t i = 0; i < edge_faces.size(); ++i) {
- face_t *f = edge_faces[i];
+ const face_t *f = edge_faces[i];
if (f && f->manifold_id == m_id) { r += _faceNeighbourhood(f, depth, &result); }
}
return r;
@@ -131,7 +131,7 @@
int r = 0;
const std::vector<const face_t *> &vertex_faces = connectivity.vertex_to_face[vertexToIndex_fast(v)];
for (size_t i = 0; i < vertex_faces.size(); ++i) {
- face_t *f = vertex_faces[i];
+ const face_t *f = vertex_faces[i];
if (f && f->manifold_id == m_id) { r += _faceNeighbourhood(f, depth, &result); }
}
return r;
@@ -142,7 +142,7 @@
// accessing connectivity information.
template<typename T>
int Geometry<3>::vertexToEdges(const vertex_t *v, T result) const {
- std::vector<const edge_t *> &e = connectivity.vertex_to_edge[vertexToIndex_fast(v)];
+ const std::vector<const edge_t *> &e = connectivity.vertex_to_edge[vertexToIndex_fast(v)];
std::copy(e.begin(), e.end(), result);
return e.size();
}

File Metadata

Mime Type
text/x-diff
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
4c/be/5689b01244398c32d7bede6f5c95

Event Timeline