From 2b049aa53e12accf2c5be88d1d9b66dbcab47bfb Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 12 Jun 2013 16:10:33 -0700 Subject: [PATCH] glsl: Make _mesa_print_ir() available from anything including ir.h. No more forgetting to #include "ir_print_visitor.h" when doing temporary debug code, or forgetting and leaving it in after removing your temporary debug code. Also, available from C code so you don't need to move the caller to C++ just to call it (see also: ir_to_mesa.cpp). Reviewed-by: Kenneth Graunke Reviewed-by: Paul Berry --- src/glsl/ir.h | 8 ++++++++ src/glsl/ir_print_visitor.cpp | 3 +++ src/glsl/ir_print_visitor.h | 3 --- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/glsl/ir.h b/src/glsl/ir.h index 94426812bbd..1f0dc0906a1 100644 --- a/src/glsl/ir.h +++ b/src/glsl/ir.h @@ -2052,6 +2052,14 @@ extern char * prototype_string(const glsl_type *return_type, const char *name, exec_list *parameters); +extern "C" { #endif /* __cplusplus */ +extern void _mesa_print_ir(struct exec_list *instructions, + struct _mesa_glsl_parse_state *state); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + #endif /* IR_H */ diff --git a/src/glsl/ir_print_visitor.cpp b/src/glsl/ir_print_visitor.cpp index f01019c9877..ca973a5f38e 100644 --- a/src/glsl/ir_print_visitor.cpp +++ b/src/glsl/ir_print_visitor.cpp @@ -38,6 +38,7 @@ ir_instruction::print(void) const deconsted->accept(&v); } +extern "C" { void _mesa_print_ir(exec_list *instructions, struct _mesa_glsl_parse_state *state) @@ -69,6 +70,8 @@ _mesa_print_ir(exec_list *instructions, printf("\n)"); } +} /* extern "C" */ + ir_print_visitor::ir_print_visitor() { indentation = 0; diff --git a/src/glsl/ir_print_visitor.h b/src/glsl/ir_print_visitor.h index 6c308f31e95..a84056d16b0 100644 --- a/src/glsl/ir_print_visitor.h +++ b/src/glsl/ir_print_visitor.h @@ -33,9 +33,6 @@ extern "C" { #include "program/symbol_table.h" } -extern void _mesa_print_ir(exec_list *instructions, - struct _mesa_glsl_parse_state *state); - /** * Abstract base class of visitors of IR instruction trees */ -- 2.30.2