On 12/16/2014 04:57 AM, Jose Fonseca wrote:
On 16/12/14 00:20, Brian Paul wrote:
---
  src/mesa/main/enums.h         | 11 +++++++++++
  src/mesa/main/samplerobj.h    |  9 +++++++++
  src/mesa/main/texenvprogram.h | 11 +++++++++++
  src/mesa/main/texobj.h        | 10 ++++++++++
  4 files changed, 41 insertions(+)

diff --git a/src/mesa/main/enums.h b/src/mesa/main/enums.h
index 36c053d..66bdd53 100644
--- a/src/mesa/main/enums.h
+++ b/src/mesa/main/enums.h
@@ -37,6 +37,11 @@
  #define _ENUMS_H_


+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
  extern const char *_mesa_lookup_enum_by_nr( int nr );

  /* Get the name of an enum given that it is a primitive type.  Avoids
@@ -44,4 +49,10 @@ extern const char *_mesa_lookup_enum_by_nr( int nr );
   */
  const char *_mesa_lookup_prim_by_nr( unsigned nr );

+
+#ifdef __cplusplus
+}
+#endif
+
+
  #endif
diff --git a/src/mesa/main/samplerobj.h b/src/mesa/main/samplerobj.h
index 7d80b38..1bb3193 100644
--- a/src/mesa/main/samplerobj.h
+++ b/src/mesa/main/samplerobj.h
@@ -27,6 +27,11 @@
  #ifndef SAMPLEROBJ_H
  #define SAMPLEROBJ_H

+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
  struct dd_function_table;

  static inline struct gl_sampler_object *
@@ -103,4 +108,8 @@ _mesa_GetSamplerParameterIiv(GLuint sampler,
GLenum pname, GLint *params);
  void GLAPIENTRY
  _mesa_GetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint
*params);

+#ifdef __cplusplus
+}
+#endif
+
  #endif /* SAMPLEROBJ_H */
diff --git a/src/mesa/main/texenvprogram.h
b/src/mesa/main/texenvprogram.h
index 15ab31a..11439f1 100644
--- a/src/mesa/main/texenvprogram.h
+++ b/src/mesa/main/texenvprogram.h
@@ -27,9 +27,20 @@
  #define TEXENVPROGRAM_H


+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
  struct gl_context;

  extern struct gl_shader_program *
  _mesa_get_fixed_func_fragment_program(struct gl_context *ctx);

+
+#ifdef __cplusplus
+}
+#endif
+
+
  #endif
diff --git a/src/mesa/main/texobj.h b/src/mesa/main/texobj.h
index b1b7a30..efcd766 100644
--- a/src/mesa/main/texobj.h
+++ b/src/mesa/main/texobj.h
@@ -38,6 +38,11 @@
  #include "samplerobj.h"


+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
  /**
   * \name Internal functions
   */
@@ -212,4 +217,9 @@ _mesa_InvalidateTexImage(GLuint texture, GLint
level);
  /*@}*/


+#ifdef __cplusplus
+}
+#endif
+
+
  #endif


Thanks for doing this, Brian.  I was about to do it myself.


Series is  Reviewed-by: Jose Fonseca <jfons...@vmware.com>


Is it now possible to add my "no_extern_c.h" commit without introducing
errors?

Probably not. Doing so works with my llvmpipe/svga builds but I haven't touched the i965 code (and other drivers) which still have extern "C" around #includes.

git grep 'extern "C" {' | grep cpp

shows quite a few instances of this remaining.

-Brian


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to