summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2012-03-29 23:17:31 -0700
committerEric Anholt <[email protected]>2012-04-09 14:30:34 -0700
commitb2c0df2b60a77b043d461f265c85d8b5b066a008 (patch)
tree6158f2c308c626139bbfd6444bf52cbb7c57a8f3
parent68b99be409eb2d4f20198cfdb2c8fea75d754e0b (diff)
glsl: Use (const char *) in AST nodes rather than plain (char *).
Nothing actually relied on them being mutable, and there was at least one cast which discarded const qualifiers. The next patch would have introduced many more. Casting away const qualifiers should be avoided if at all possible. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
-rw-r--r--src/glsl/ast.h16
-rw-r--r--src/glsl/glsl_parser.yy2
-rw-r--r--src/glsl/glsl_parser_extras.cpp4
3 files changed, 11 insertions, 11 deletions
diff --git a/src/glsl/ast.h b/src/glsl/ast.h
index 1f78af87e5a..9c0cff87527 100644
--- a/src/glsl/ast.h
+++ b/src/glsl/ast.h
@@ -206,7 +206,7 @@ public:
subexpressions[0] = NULL;
subexpressions[1] = NULL;
subexpressions[2] = NULL;
- primary_expression.identifier = (char *) identifier;
+ primary_expression.identifier = identifier;
this->non_lvalue_description = NULL;
}
@@ -222,7 +222,7 @@ public:
ast_expression *subexpressions[3];
union {
- char *identifier;
+ const char *identifier;
int int_constant;
float float_constant;
unsigned uint_constant;
@@ -317,11 +317,11 @@ public:
class ast_declaration : public ast_node {
public:
- ast_declaration(char *identifier, int is_array, ast_expression *array_size,
+ ast_declaration(const char *identifier, int is_array, ast_expression *array_size,
ast_expression *initializer);
virtual void print(void) const;
- char *identifier;
+ const char *identifier;
int is_array;
ast_expression *array_size;
@@ -407,13 +407,13 @@ struct ast_type_qualifier {
class ast_struct_specifier : public ast_node {
public:
- ast_struct_specifier(char *identifier, ast_node *declarator_list);
+ ast_struct_specifier(const char *identifier, ast_node *declarator_list);
virtual void print(void) const;
virtual ir_rvalue *hir(exec_list *instructions,
struct _mesa_glsl_parse_state *state);
- char *name;
+ const char *name;
exec_list declarations;
};
@@ -568,7 +568,7 @@ public:
struct _mesa_glsl_parse_state *state);
ast_fully_specified_type *type;
- char *identifier;
+ const char *identifier;
int is_array;
ast_expression *array_size;
@@ -599,7 +599,7 @@ public:
struct _mesa_glsl_parse_state *state);
ast_fully_specified_type *return_type;
- char *identifier;
+ const char *identifier;
exec_list parameters;
diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy
index 64506b6358a..5ab4b630bc6 100644
--- a/src/glsl/glsl_parser.yy
+++ b/src/glsl/glsl_parser.yy
@@ -58,7 +58,7 @@ static void yyerror(YYLTYPE *loc, _mesa_glsl_parse_state *st, const char *msg)
%union {
int n;
float real;
- char *identifier;
+ const char *identifier;
struct ast_type_qualifier type_qualifier;
diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp
index 21c3c6ec2bc..6547ad2d3b7 100644
--- a/src/glsl/glsl_parser_extras.cpp
+++ b/src/glsl/glsl_parser_extras.cpp
@@ -713,7 +713,7 @@ ast_declaration::print(void) const
}
-ast_declaration::ast_declaration(char *identifier, int is_array,
+ast_declaration::ast_declaration(const char *identifier, int is_array,
ast_expression *array_size,
ast_expression *initializer)
{
@@ -979,7 +979,7 @@ ast_struct_specifier::print(void) const
}
-ast_struct_specifier::ast_struct_specifier(char *identifier,
+ast_struct_specifier::ast_struct_specifier(const char *identifier,
ast_node *declarator_list)
{
if (identifier == NULL) {