diff options
author | Brian Paul <[email protected]> | 2010-08-27 11:53:19 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2010-08-27 14:30:59 -0600 |
commit | b820bf979a1c308d8d6fe6ad89e8ae7c77226603 (patch) | |
tree | c93be7203aebbb6fd41984c1ed4fb91bbd0a2bc9 /src | |
parent | 1be5d1c887b3308865c8f4770138a9d70251392f (diff) |
glsl2: restructure header file for C++ and C inclusion
As it was, the header could not be cleanly #included by a C source.
Diffstat (limited to 'src')
-rw-r--r-- | src/glsl/glsl_parser_extras.h | 36 |
1 files changed, 28 insertions, 8 deletions
diff --git a/src/glsl/glsl_parser_extras.h b/src/glsl/glsl_parser_extras.h index b0b1bc31d05..3ccdab4ef27 100644 --- a/src/glsl/glsl_parser_extras.h +++ b/src/glsl/glsl_parser_extras.h @@ -25,6 +25,12 @@ #ifndef GLSL_PARSER_EXTRAS_H #define GLSL_PARSER_EXTRAS_H +/* + * Most of the definitions here only apply to C++ + */ +#ifdef __cplusplus + + #include <cstdlib> #include "glsl_symbol_table.h" @@ -175,14 +181,6 @@ extern void _mesa_glsl_warning(const YYLTYPE *locp, _mesa_glsl_parse_state *state, const char *fmt, ...); -extern "C" { -extern int preprocess(void *ctx, const char **shader, char **info_log, - const struct gl_extensions *extensions); - -extern void _mesa_destroy_shader_compiler(); -extern void _mesa_destroy_shader_compiler_caches(); -} - extern void _mesa_glsl_lexer_ctor(struct _mesa_glsl_parse_state *state, const char *string); @@ -212,4 +210,26 @@ extern bool _mesa_glsl_process_extension(const char *name, YYLTYPE *name_locp, extern const char * _mesa_glsl_shader_target_name(enum _mesa_glsl_parser_targets target); + +#endif /* __cplusplus */ + + +/* + * These definitions apply to C and C++ + */ +#ifdef __cplusplus +extern "C" { +#endif + +extern int preprocess(void *ctx, const char **shader, char **info_log, + const struct gl_extensions *extensions); + +extern void _mesa_destroy_shader_compiler(); +extern void _mesa_destroy_shader_compiler_caches(); + +#ifdef __cplusplus +} +#endif + + #endif /* GLSL_PARSER_EXTRAS_H */ |