ir_variable *is_fallthru_var;
ir_variable *is_break_var;
class ast_switch_statement *switch_nesting_ast;
+
+ /** Table of constant values already used in case labels */
+ struct hash_table *labels_ht;
+ class ast_case_label *previous_default;
+
bool is_switch_innermost; // if switch stmt is closest to break, ...
};
struct _mesa_glsl_parse_state {
- _mesa_glsl_parse_state(struct gl_context *ctx, GLenum target,
+ _mesa_glsl_parse_state(struct gl_context *_ctx, GLenum target,
void *mem_ctx);
/* Callers of this ralloc-based new need not call delete. It's
ralloc_free(mem);
}
+ struct gl_context *const ctx;
void *scanner;
exec_list translation_unit;
glsl_symbol_table *symbols;
unsigned GLSL_110:1;
unsigned GLSL_120:1;
unsigned GLSL_130:1;
+ unsigned GLSL_140:1;
/*@}*/
} Const;