summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_compile_function.h
diff options
context:
space:
mode:
authorBrian <brian@yutani.localnet.net>2007-02-23 09:38:17 -0700
committerBrian <brian@yutani.localnet.net>2007-02-23 09:38:17 -0700
commitafbf7c7e6b7613d8d219807adaf7d17971ac2e6d (patch)
treecc11a86f7d0f831f80b2f507f507a0832b55142a /src/mesa/shader/slang/slang_compile_function.h
parentd8d07b2a8aa5cf9c5ce877b20351983b1aa8d01d (diff)
Re-implement branching with slang_labels.
This eliminates the NOP instructions that had been used as placeholders for branch targets. Also, fix "return" statement bug.
Diffstat (limited to 'src/mesa/shader/slang/slang_compile_function.h')
-rw-r--r--src/mesa/shader/slang/slang_compile_function.h11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/mesa/shader/slang/slang_compile_function.h b/src/mesa/shader/slang/slang_compile_function.h
index b60b4a223f..09fbfd9090 100644
--- a/src/mesa/shader/slang/slang_compile_function.h
+++ b/src/mesa/shader/slang/slang_compile_function.h
@@ -25,9 +25,6 @@
#ifndef SLANG_COMPILE_FUNCTION_H
#define SLANG_COMPILE_FUNCTION_H
-#if defined __cplusplus
-extern "C" {
-#endif
struct slang_code_unit_;
@@ -69,7 +66,11 @@ typedef struct slang_function_
slang_operation *body; /**< The instruction tree */
unsigned int address; /**< Address of this func in memory */
slang_fixup_table fixups; /**< Mem locations which need func's address */
+#if 0
slang_atom end_label; /**< The end-of-function label */
+#else
+ struct slang_label_ *end_label;
+#endif
} slang_function;
extern int slang_function_construct(slang_function *);
@@ -102,8 +103,4 @@ slang_function_scope_find_by_name(slang_function_scope *, slang_atom, int);
extern slang_function *
slang_function_scope_find(slang_function_scope *, slang_function *, int);
-#ifdef __cplusplus
-}
-#endif
-
#endif /* SLANG_COMPILE_FUNCTION_H */