[Mesa-dev] [PATCH 10/13] i965: add extern C notation in headers

Emil Velikov emil.l.velikov at gmail.com
Thu Feb 16 15:16:40 UTC 2017


From: Emil Velikov <emil.velikov at collabora.com>

Otherwise symbols wont be annotated with C linkage and we'll fail at
link time.

Currently this is worked around by wrapping the header inclusion itself.
The latter in itself fragile and not recommended.

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
---
 src/mesa/drivers/dri/i965/intel_debug.h   | 7 +++++++
 src/mesa/drivers/dri/i965/intel_screen.h  | 8 ++++++++
 src/mesa/drivers/dri/i965/intel_tex_obj.h | 7 +++++++
 3 files changed, 22 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/intel_debug.h b/src/mesa/drivers/dri/i965/intel_debug.h
index afca36eb33..e8e329bc60 100644
--- a/src/mesa/drivers/dri/i965/intel_debug.h
+++ b/src/mesa/drivers/dri/i965/intel_debug.h
@@ -24,6 +24,9 @@
  */
 #pragma once
 
+#ifdef __cplusplus
+extern "C" {
+#endif
 /**
  * \file intel_debug.h
  *
@@ -122,3 +125,7 @@ extern uint64_t INTEL_DEBUG;
 extern uint64_t intel_debug_flag_for_shader_stage(gl_shader_stage stage);
 
 extern void brw_process_intel_debug_variable(void);
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/src/mesa/drivers/dri/i965/intel_screen.h b/src/mesa/drivers/dri/i965/intel_screen.h
index a1e2b31774..147af257be 100644
--- a/src/mesa/drivers/dri/i965/intel_screen.h
+++ b/src/mesa/drivers/dri/i965/intel_screen.h
@@ -37,6 +37,10 @@
 #include "i915_drm.h"
 #include "xmlconfig.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 struct intel_screen
 {
    int deviceID;
@@ -154,4 +158,8 @@ can_do_predicate_writes(const struct intel_screen *screen)
    return screen->kernel_features & KERNEL_ALLOWS_PREDICATE_WRITES;
 }
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
diff --git a/src/mesa/drivers/dri/i965/intel_tex_obj.h b/src/mesa/drivers/dri/i965/intel_tex_obj.h
index 844aad1ab3..27c18b7c3c 100644
--- a/src/mesa/drivers/dri/i965/intel_tex_obj.h
+++ b/src/mesa/drivers/dri/i965/intel_tex_obj.h
@@ -28,6 +28,9 @@
 
 #include "swrast/s_context.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 struct intel_texture_object
 {
@@ -90,4 +93,8 @@ intel_texture_image(struct gl_texture_image *img)
    return (struct intel_texture_image *) img;
 }
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _INTEL_TEX_OBJ_H */
-- 
2.11.0



More information about the mesa-dev mailing list