Commit 5bcf8de8 authored by Matteo Bruni's avatar Matteo Bruni Committed by Alexandre Julliard

d3dcompiler: Introduce source_location structure.

parent 40cbcabc
...@@ -690,6 +690,13 @@ struct hlsl_struct_field ...@@ -690,6 +690,13 @@ struct hlsl_struct_field
DWORD modifiers; DWORD modifiers;
}; };
struct source_location
{
const char *file;
unsigned int line;
unsigned int col;
};
enum hlsl_ir_node_type enum hlsl_ir_node_type
{ {
HLSL_IR_VAR = 0, HLSL_IR_VAR = 0,
...@@ -705,9 +712,7 @@ struct hlsl_ir_node ...@@ -705,9 +712,7 @@ struct hlsl_ir_node
enum hlsl_ir_node_type type; enum hlsl_ir_node_type type;
struct hlsl_type *data_type; struct hlsl_type *data_type;
const char *source_file; struct source_location loc;
unsigned int line;
unsigned int column;
}; };
#define HLSL_STORAGE_EXTERN 0x00000001 #define HLSL_STORAGE_EXTERN 0x00000001
......
...@@ -136,7 +136,7 @@ static BOOL declare_variable(struct hlsl_ir_var *decl, BOOL local) ...@@ -136,7 +136,7 @@ static BOOL declare_variable(struct hlsl_ir_var *decl, BOOL local)
struct hlsl_ir_var *old = get_variable(hlsl_ctx.cur_scope, decl->name); struct hlsl_ir_var *old = get_variable(hlsl_ctx.cur_scope, decl->name);
hlsl_message("Line %u: \"%s\" already declared.\n", hlsl_ctx.line_no, decl->name); hlsl_message("Line %u: \"%s\" already declared.\n", hlsl_ctx.line_no, decl->name);
hlsl_message("Line %u: \"%s\" was previously declared here.\n", old->node.line, decl->name); hlsl_message("Line %u: \"%s\" was previously declared here.\n", old->node.loc.line, decl->name);
set_parse_status(&hlsl_ctx.status, PARSE_ERR); set_parse_status(&hlsl_ctx.status, PARSE_ERR);
return FALSE; return FALSE;
} }
...@@ -616,7 +616,7 @@ declaration: var_modifiers type variables_def ';' ...@@ -616,7 +616,7 @@ declaration: var_modifiers type variables_def ';'
var->name = v->name; var->name = v->name;
var->modifiers = $1; var->modifiers = $1;
var->semantic = v->semantic; var->semantic = v->semantic;
var->node.line = hlsl_ctx.line_no; var->node.loc.line = hlsl_ctx.line_no;
if (v->initializer) if (v->initializer)
{ {
FIXME("Variable with an initializer.\n"); FIXME("Variable with an initializer.\n");
......
...@@ -816,7 +816,7 @@ BOOL add_func_parameter(struct list *list, struct parse_parameter *param, unsign ...@@ -816,7 +816,7 @@ BOOL add_func_parameter(struct list *list, struct parse_parameter *param, unsign
} }
decl->node.type = HLSL_IR_VAR; decl->node.type = HLSL_IR_VAR;
decl->node.data_type = param->type; decl->node.data_type = param->type;
decl->node.line = line; decl->node.loc.line = line;
decl->name = param->name; decl->name = param->name;
decl->semantic = param->semantic; decl->semantic = param->semantic;
decl->modifiers = param->modifiers; decl->modifiers = param->modifiers;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment