summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2010-06-21 11:47:55 -0700
committerKenneth Graunke <kenneth@whitecape.org>2010-06-21 12:41:05 -0700
commit74704e80c69f400f7712aed4287a84adc13bfbed (patch)
tree4f966f2fe8b95449557058e59dd941d8dfd5584e
parent4a2bbdacfc29460de09e5f806fcc96040ad17dc4 (diff)
glcpp: Print to the main compiler's infolog, not stdout.
-rw-r--r--glcpp/pp.c4
-rw-r--r--glsl_parser_extras.h2
-rw-r--r--main.cpp2
3 files changed, 4 insertions, 4 deletions
diff --git a/glcpp/pp.c b/glcpp/pp.c
index e6921db..5455518 100644
--- a/glcpp/pp.c
+++ b/glcpp/pp.c
@@ -57,7 +57,7 @@ glcpp_warning (YYLTYPE *locp, glcpp_parser_t *parser, const char *fmt, ...)
}
extern int
-preprocess(void *talloc_ctx, const char **shader)
+preprocess(void *talloc_ctx, const char **shader, char **info_log)
{
int errors;
glcpp_parser_t *parser = glcpp_parser_create ();
@@ -65,7 +65,7 @@ preprocess(void *talloc_ctx, const char **shader)
glcpp_parser_parse (parser);
- printf("%s", parser->info_log);
+ *info_log = talloc_strdup_append(*info_log, parser->info_log);
talloc_steal(talloc_ctx, parser->output);
*shader = parser->output;
diff --git a/glsl_parser_extras.h b/glsl_parser_extras.h
index 1edd86b..87de908 100644
--- a/glsl_parser_extras.h
+++ b/glsl_parser_extras.h
@@ -102,7 +102,7 @@ extern void _mesa_glsl_warning(const YYLTYPE *locp,
const char *fmt, ...);
extern "C" {
-extern int preprocess(void *ctx, const char **shader);
+extern int preprocess(void *ctx, const char **shader, char **info_log);
}
extern void _mesa_glsl_lexer_ctor(struct _mesa_glsl_parse_state *state,
diff --git a/main.cpp b/main.cpp
index 2590438..7f094f8 100644
--- a/main.cpp
+++ b/main.cpp
@@ -128,7 +128,7 @@ compile_shader(struct glsl_shader *shader)
* should probably be the parser context, but there isn't one yet.
*/
const char *source = shader->Source;
- state.error = preprocess(shader, &source);
+ state.error = preprocess(shader, &source, &state.info_log);
if (!state.error) {
_mesa_glsl_lexer_ctor(& state, source);