summaryrefslogtreecommitdiff
path: root/external/libgltf/patches
diff options
context:
space:
mode:
authorTor Lillqvist <tml@collabora.com>2014-05-06 18:44:03 +0300
committerTor Lillqvist <tml@collabora.com>2014-05-06 18:55:13 +0300
commit8c51ef52e26766949a4eae57b8e3054f242da7f6 (patch)
tree3217925796c7b6ad41aa529e316a19c7f3bbd5c3 /external/libgltf/patches
parente1bc856e628e4a72bd90498d12b94f1d57f6d75d (diff)
Don't use extern "C" for a function which return C++ types
Fix error: 'gltf_get_model_center_pos' has C-linkage specified, but returns user-defined type 'glm::vec3' (aka 'tvec3<mediump_float>') which is incompatible with C. I don't really understand the reason for the extern "C" use in libgltf.h. After all, the header clearly is intended to be included from C++ code (after all, the use of 'extern "C"' is unconditional and it is not valid in C), and the implementation of the functions is in C++. Also, we build libgltf as a static library, so it can't be the case that we would need to look up its symbols dynamically (when unmangled names would be better). But maybe I am missing something. Change-Id: I19f025610301f8c535178a83f4ab2e58455bad57
Diffstat (limited to 'external/libgltf/patches')
-rw-r--r--external/libgltf/patches/extern-C.patch10
1 files changed, 10 insertions, 0 deletions
diff --git a/external/libgltf/patches/extern-C.patch b/external/libgltf/patches/extern-C.patch
new file mode 100644
index 000000000000..fd34f8a815f7
--- /dev/null
+++ b/external/libgltf/patches/extern-C.patch
@@ -0,0 +1,10 @@
+--- libgltf/inc/libgltf.h
++++ libgltf/inc/libgltf.h
+@@ -48,7 +48,6 @@
+ void gltf_get_camera_pos(glm::vec3 *pos,glm::vec3 *view,glm::vec3 *up);
+
+ /*get model center position information*/
+-extern "C"
+ glm::vec3 gltf_get_model_center_pos();
+ /*get camera position information*/
+ extern "C"