summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Janes <mark.a.janes@intel.com>2015-03-04 16:37:29 -0800
committerMatt Turner <mattst88@gmail.com>2015-03-05 10:21:40 -0800
commit237dcb4aa7c39c59bfd225ae3d73caf709be216d (patch)
tree9139b596ac2383fa3e4ada351b94000ba9319e5f
parent2e4c95dfe2cb205c327ceaa12b44a9273bdb20dc (diff)
Fix invalid extern "C" around header inclusion.
System headers may contain C++ declarations, which cannot be given C linkage. For this reason, include statements should never occur inside extern "C". This patch moves the C linkage statements to enclose only the declarations within a single header. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
-rw-r--r--src/gallium/auxiliary/util/u_math.h11
-rw-r--r--src/gallium/drivers/r600/r600_shader.h12
-rw-r--r--src/gallium/drivers/r600/sb/sb_bc.h2
-rw-r--r--src/gallium/drivers/r600/sb/sb_bc_parser.cpp2
-rw-r--r--src/gallium/drivers/r600/sb/sb_core.cpp2
-rw-r--r--src/gallium/drivers/r600/sb/sb_public.h12
-rw-r--r--src/glx/indirect_init.h8
-rw-r--r--src/glx/tests/indirect_api.cpp2
-rw-r--r--src/mapi/shared-glapi/tests/check_table.cpp2
-rw-r--r--src/mesa/drivers/common/driverfuncs.h7
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.cpp3
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp2
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_generator.cpp3
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp2
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_visitor.cpp3
-rw-r--r--src/mesa/drivers/dri/i965/brw_shader.cpp2
-rw-r--r--src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp3
-rw-r--r--src/mesa/drivers/dri/i965/brw_wm.h8
-rw-r--r--src/mesa/main/api_exec.h7
-rw-r--r--src/mesa/main/tests/dispatch_sanity.cpp2
-rw-r--r--src/mesa/main/tests/program_state_string.cpp2
-rw-r--r--src/mesa/main/vtxfmt.h8
-rw-r--r--src/mesa/vbo/vbo.h8
-rw-r--r--src/mesa/vbo/vbo_context.h8
-rw-r--r--src/util/Makefile.am3
-rw-r--r--src/util/register_allocate.h10
26 files changed, 96 insertions, 38 deletions
diff --git a/src/gallium/auxiliary/util/u_math.h b/src/gallium/auxiliary/util/u_math.h
index 5400fcead5..8f62cac664 100644
--- a/src/gallium/auxiliary/util/u_math.h
+++ b/src/gallium/auxiliary/util/u_math.h
@@ -41,12 +41,6 @@
#include "pipe/p_compiler.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
#include "c99_math.h"
#include <float.h>
#include <stdarg.h>
@@ -56,6 +50,11 @@ extern "C" {
#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
#ifndef M_SQRT2
#define M_SQRT2 1.41421356237309504880
#endif
diff --git a/src/gallium/drivers/r600/r600_shader.h b/src/gallium/drivers/r600/r600_shader.h
index b2559e9b66..dd359d7e95 100644
--- a/src/gallium/drivers/r600/r600_shader.h
+++ b/src/gallium/drivers/r600/r600_shader.h
@@ -25,6 +25,12 @@
#include "r600_asm.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
struct r600_shader_io {
unsigned name;
unsigned gpr;
@@ -125,4 +131,10 @@ struct r600_pipe_shader {
TGSI_INTERPOLATE_LOC_CENTER/SAMPLE/COUNT. Other input values return -1. */
int eg_get_interpolator_index(unsigned interpolate, unsigned location);
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+
#endif
diff --git a/src/gallium/drivers/r600/sb/sb_bc.h b/src/gallium/drivers/r600/sb/sb_bc.h
index 072d8f8b4e..ab988f8716 100644
--- a/src/gallium/drivers/r600/sb/sb_bc.h
+++ b/src/gallium/drivers/r600/sb/sb_bc.h
@@ -27,10 +27,8 @@
#ifndef SB_BC_H_
#define SB_BC_H_
-extern "C" {
#include <stdint.h>
#include "r600_isa.h"
-}
#include <cstdio>
#include <string>
diff --git a/src/gallium/drivers/r600/sb/sb_bc_parser.cpp b/src/gallium/drivers/r600/sb/sb_bc_parser.cpp
index 403f938092..08e7f5c36c 100644
--- a/src/gallium/drivers/r600/sb/sb_bc_parser.cpp
+++ b/src/gallium/drivers/r600/sb/sb_bc_parser.cpp
@@ -32,10 +32,8 @@
#define BCP_DUMP(q)
#endif
-extern "C" {
#include "r600_pipe.h"
#include "r600_shader.h"
-}
#include <stack>
diff --git a/src/gallium/drivers/r600/sb/sb_core.cpp b/src/gallium/drivers/r600/sb/sb_core.cpp
index 9fd9d9ad25..7db80082b6 100644
--- a/src/gallium/drivers/r600/sb/sb_core.cpp
+++ b/src/gallium/drivers/r600/sb/sb_core.cpp
@@ -26,13 +26,11 @@
#define SB_RA_SCHED_CHECK DEBUG
-extern "C" {
#include "os/os_time.h"
#include "r600_pipe.h"
#include "r600_shader.h"
#include "sb_public.h"
-}
#include <stack>
#include <map>
diff --git a/src/gallium/drivers/r600/sb/sb_public.h b/src/gallium/drivers/r600/sb/sb_public.h
index c9f5f97f9c..a90771f06d 100644
--- a/src/gallium/drivers/r600/sb/sb_public.h
+++ b/src/gallium/drivers/r600/sb/sb_public.h
@@ -27,6 +27,12 @@
#ifndef R600_SB_H_
#define R600_SB_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
struct r600_shader;
void r600_sb_context_destroy(void *sctx);
@@ -37,4 +43,10 @@ int r600_sb_bytecode_process(struct r600_context *rctx,
int dump_source_bytecode,
int optimize);
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+
#endif //R600_SB_H_
diff --git a/src/glx/indirect_init.h b/src/glx/indirect_init.h
index 2ba01f56c3..7fe9a96495 100644
--- a/src/glx/indirect_init.h
+++ b/src/glx/indirect_init.h
@@ -36,6 +36,14 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "glxclient.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
extern struct _glapi_table *__glXNewIndirectAPI(void);
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
#endif /* _INDIRECT_INIT_H_ */
diff --git a/src/glx/tests/indirect_api.cpp b/src/glx/tests/indirect_api.cpp
index 52469a771c..34304a185e 100644
--- a/src/glx/tests/indirect_api.cpp
+++ b/src/glx/tests/indirect_api.cpp
@@ -45,11 +45,9 @@
#include <gtest/gtest.h>
#include "main/glheader.h"
-extern "C" {
#include "../indirect_init.h"
#include "glapi/glapi.h"
#include "../../mesa/main/dispatch.h"
-}
static const void *nil = 0;
diff --git a/src/mapi/shared-glapi/tests/check_table.cpp b/src/mapi/shared-glapi/tests/check_table.cpp
index 47c0b2775d..02d313c22d 100644
--- a/src/mapi/shared-glapi/tests/check_table.cpp
+++ b/src/mapi/shared-glapi/tests/check_table.cpp
@@ -24,10 +24,8 @@
#include <gtest/gtest.h>
#include "../../../mesa/main/glheader.h"
-extern "C" {
#include "glapi/glapi.h"
#include "glapi/glapitable.h"
-}
struct name_offset {
const char *name;
diff --git a/src/mesa/drivers/common/driverfuncs.h b/src/mesa/drivers/common/driverfuncs.h
index 6b9a900748..385ccb8dd1 100644
--- a/src/mesa/drivers/common/driverfuncs.h
+++ b/src/mesa/drivers/common/driverfuncs.h
@@ -26,6 +26,10 @@
#ifndef DRIVERFUNCS_H
#define DRIVERFUNCS_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
extern void
_mesa_init_driver_functions(struct dd_function_table *driver);
@@ -33,5 +37,8 @@ _mesa_init_driver_functions(struct dd_function_table *driver);
extern void
_mesa_init_driver_state(struct gl_context *ctx);
+#ifdef __cplusplus
+} // extern "C"
+#endif
#endif
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 533feb4c7a..d6acc238a1 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -28,8 +28,6 @@
* from the LIR.
*/
-extern "C" {
-
#include <sys/types.h>
#include "util/hash_table.h"
@@ -43,7 +41,6 @@ extern "C" {
#include "brw_context.h"
#include "brw_eu.h"
#include "brw_wm.h"
-}
#include "brw_fs.h"
#include "brw_cfg.h"
#include "brw_dead_control_flow.h"
diff --git a/src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp b/src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp
index c64742cb6f..933fdde24f 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp
@@ -41,10 +41,8 @@
* we do retain the vector types in that case.
*/
-extern "C" {
#include "main/core.h"
#include "brw_wm.h"
-}
#include "glsl/ir.h"
#include "glsl/ir_expression_flattening.h"
#include "glsl/glsl_types.h"
diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
index cbe61910b4..02ea3b6d7c 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
@@ -27,12 +27,9 @@
* native instructions.
*/
-extern "C" {
#include "main/macros.h"
#include "brw_context.h"
#include "brw_eu.h"
-} /* extern "C" */
-
#include "brw_fs.h"
#include "brw_cfg.h"
diff --git a/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp b/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp
index 03e5fdbef2..01d3a56985 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp
@@ -37,10 +37,8 @@
* behavior we want for the results of texture lookups, but probably not for
*/
-extern "C" {
#include "main/core.h"
#include "brw_context.h"
-}
#include "glsl/ir.h"
#include "glsl/ir_visitor.h"
#include "glsl/ir_rvalue_visitor.h"
diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
index 57c4d66b8a..6b48f701fb 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
@@ -27,8 +27,6 @@
* makes it easier to do backend-specific optimizations than doing so
* in the GLSL IR or in the native code.
*/
-extern "C" {
-
#include <sys/types.h>
#include "main/macros.h"
@@ -41,7 +39,6 @@ extern "C" {
#include "brw_context.h"
#include "brw_eu.h"
#include "brw_wm.h"
-}
#include "brw_vec4.h"
#include "brw_fs.h"
#include "main/uniforms.h"
diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp
index ec3cfcbd25..f2b4d82421 100644
--- a/src/mesa/drivers/dri/i965/brw_shader.cpp
+++ b/src/mesa/drivers/dri/i965/brw_shader.cpp
@@ -21,10 +21,8 @@
* IN THE SOFTWARE.
*/
-extern "C" {
#include "main/macros.h"
#include "brw_context.h"
-}
#include "brw_vs.h"
#include "brw_gs.h"
#include "brw_fs.h"
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp b/src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp
index a286f8ace7..31868240a0 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp
@@ -21,11 +21,8 @@
* IN THE SOFTWARE.
*/
-extern "C" {
#include "main/macros.h"
#include "util/register_allocate.h"
-} /* extern "C" */
-
#include "brw_vec4.h"
#include "brw_vs.h"
#include "brw_cfg.h"
diff --git a/src/mesa/drivers/dri/i965/brw_wm.h b/src/mesa/drivers/dri/i965/brw_wm.h
index f54530f370..32d1ce369d 100644
--- a/src/mesa/drivers/dri/i965/brw_wm.h
+++ b/src/mesa/drivers/dri/i965/brw_wm.h
@@ -57,6 +57,10 @@
#define AA_SOMETIMES 1
#define AA_ALWAYS 2
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Compile a fragment shader.
*
@@ -86,4 +90,8 @@ bool brw_wm_prog_data_compare(const void *a, const void *b);
void
brw_upload_wm_prog(struct brw_context *brw);
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
#endif
diff --git a/src/mesa/main/api_exec.h b/src/mesa/main/api_exec.h
index ff35b78bb9..1e4a9d61a4 100644
--- a/src/mesa/main/api_exec.h
+++ b/src/mesa/main/api_exec.h
@@ -26,6 +26,9 @@
#ifndef API_EXEC_H
#define API_EXEC_H
+#ifdef __cplusplus
+extern "C" {
+#endif
struct _glapi_table;
struct gl_context;
@@ -39,4 +42,8 @@ _mesa_initialize_exec_table(struct gl_context *ctx);
extern void
_mesa_initialize_dispatch_tables(struct gl_context *ctx);
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
#endif
diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp
index c14ad32eb3..d25143faa1 100644
--- a/src/mesa/main/tests/dispatch_sanity.cpp
+++ b/src/mesa/main/tests/dispatch_sanity.cpp
@@ -41,7 +41,6 @@
#include <gtest/gtest.h>
-extern "C" {
#include "GL/gl.h"
#include "GL/glext.h"
#include "main/compiler.h"
@@ -62,7 +61,6 @@ extern "C" {
#endif
#include "main/dispatch.h"
-}
struct function {
const char *name;
diff --git a/src/mesa/main/tests/program_state_string.cpp b/src/mesa/main/tests/program_state_string.cpp
index 418c39c8ea..ddfdb49ee2 100644
--- a/src/mesa/main/tests/program_state_string.cpp
+++ b/src/mesa/main/tests/program_state_string.cpp
@@ -23,11 +23,9 @@
#include <gtest/gtest.h>
-extern "C" {
#include "GL/gl.h"
#include "GL/glext.h"
#include "main/compiler.h"
-}
#include "program/prog_statevars.h"
diff --git a/src/mesa/main/vtxfmt.h b/src/mesa/main/vtxfmt.h
index efccd901aa..4f8bc9cdf0 100644
--- a/src/mesa/main/vtxfmt.h
+++ b/src/mesa/main/vtxfmt.h
@@ -35,8 +35,16 @@
#include "mtypes.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
extern void _mesa_install_exec_vtxfmt( struct gl_context *ctx, const GLvertexformat *vfmt );
extern void _mesa_install_save_vtxfmt( struct gl_context *ctx, const GLvertexformat *vfmt );
extern void _mesa_initialize_vbo_vtxfmt(struct gl_context *ctx);
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
#endif /* _VTXFMT_H_ */
diff --git a/src/mesa/vbo/vbo.h b/src/mesa/vbo/vbo.h
index 6e1a4aa1ad..54dee6c464 100644
--- a/src/mesa/vbo/vbo.h
+++ b/src/mesa/vbo/vbo.h
@@ -35,6 +35,10 @@
#include <stdbool.h>
#include "main/glheader.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct gl_client_array;
struct gl_context;
struct gl_transform_feedback_object;
@@ -228,4 +232,8 @@ _es_VertexAttrib3fv(GLuint indx, const GLfloat* values);
void GLAPIENTRY
_es_VertexAttrib4fv(GLuint indx, const GLfloat* values);
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
#endif
diff --git a/src/mesa/vbo/vbo_context.h b/src/mesa/vbo/vbo_context.h
index 3b454be442..6099b56e66 100644
--- a/src/mesa/vbo/vbo_context.h
+++ b/src/mesa/vbo/vbo_context.h
@@ -58,6 +58,10 @@
#include "main/macros.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct vbo_context {
struct gl_client_array currval[VBO_ATTRIB_MAX];
@@ -175,4 +179,8 @@ vbo_get_default_vals_as_union(GLenum format)
}
}
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
#endif
diff --git a/src/util/Makefile.am b/src/util/Makefile.am
index 29b66e70e9..ec49dc6cf1 100644
--- a/src/util/Makefile.am
+++ b/src/util/Makefile.am
@@ -25,6 +25,9 @@ include Makefile.sources
noinst_LTLIBRARIES = libmesautil.la
+AM_CPPFLAGS = \
+ -I$(top_srcdir)/include
+
libmesautil_la_CPPFLAGS = \
$(DEFINES) \
-I$(top_srcdir)/include \
diff --git a/src/util/register_allocate.h b/src/util/register_allocate.h
index dc68744953..61f182eff4 100644
--- a/src/util/register_allocate.h
+++ b/src/util/register_allocate.h
@@ -27,6 +27,12 @@
#include <stdbool.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
struct ra_class;
struct ra_regs;
@@ -77,3 +83,7 @@ void ra_set_node_spill_cost(struct ra_graph *g, unsigned int n, float cost);
int ra_get_best_spill_node(struct ra_graph *g);
/** @} */
+
+#ifdef __cplusplus
+} // extern "C"
+#endif