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
DWORD modifiers;
};
struct source_location
{
const char *file;
unsigned int line;
unsigned int col;
};
enum hlsl_ir_node_type
{
HLSL_IR_VAR = 0,
......@@ -705,9 +712,7 @@ struct hlsl_ir_node
enum hlsl_ir_node_type type;
struct hlsl_type *data_type;
const char *source_file;
unsigned int line;
unsigned int column;
struct source_location loc;
};
#define HLSL_STORAGE_EXTERN 0x00000001
......
......@@ -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);
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);
return FALSE;
}
......@@ -616,7 +616,7 @@ declaration: var_modifiers type variables_def ';'
var->name = v->name;
var->modifiers = $1;
var->semantic = v->semantic;
var->node.line = hlsl_ctx.line_no;
var->node.loc.line = hlsl_ctx.line_no;
if (v->initializer)
{
FIXME("Variable with an initializer.\n");
......
......@@ -816,7 +816,7 @@ BOOL add_func_parameter(struct list *list, struct parse_parameter *param, unsign
}
decl->node.type = HLSL_IR_VAR;
decl->node.data_type = param->type;
decl->node.line = line;
decl->node.loc.line = line;
decl->name = param->name;
decl->semantic = param->semantic;
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