On 12/16/2014 02:08 PM, Mark Janes wrote:
`make check` fails to link test_vec4_copy_propagation after 6dac455e.
---
src/mesa/program/sampler.cpp | 5 ++---
src/mesa/program/sampler.h | 7 +++++++
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/mesa/program/sampler.cpp b/src/mesa/program/sampler.cpp
index f8584c9..7754a41 100644
--- a/src/mesa/program/sampler.cpp
+++ b/src/mesa/program/sampler.cpp
@@ -102,8 +102,7 @@ public:
ir_dereference *last;
};
-
-int
+extern "C" int
_mesa_get_sampler_uniform_value(class ir_dereference *sampler,
struct gl_shader_program *shader_program,
const struct gl_program *prog)
@@ -135,7 +134,7 @@ _mesa_get_sampler_uniform_value(class ir_dereference
*sampler,
}
-class ir_rvalue *
+extern "C" class ir_rvalue *
_mesa_get_sampler_array_nonconst_index(class ir_dereference *sampler)
{
ir_dereference_array *deref_arr = sampler->as_dereference_array();
diff --git a/src/mesa/program/sampler.h b/src/mesa/program/sampler.h
index 61c7f58..d5faa40 100644
--- a/src/mesa/program/sampler.h
+++ b/src/mesa/program/sampler.h
@@ -26,6 +26,9 @@
#ifndef SAMPLER_H
#define SAMPLER_H
+#ifdef __cplusplus
+extern "C" {
+#endif
int
_mesa_get_sampler_uniform_value(class ir_dereference *sampler,
@@ -35,5 +38,9 @@ _mesa_get_sampler_uniform_value(class ir_dereference *sampler,
class ir_rvalue *
_mesa_get_sampler_array_nonconst_index(class ir_dereference *sampler);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* SAMPLER_H */
I don't think this is right. The functions in question are C++
functions and they're only called from .cpp files. I don't see why
C-style linkage is desired.
See https://bugs.freedesktop.org/show_bug.cgi?id=87371 for another
approach. Please test that patch if you can.
-Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev