d3dcompiler: Introduce source_location structure.

This commit is contained in:
Matteo Bruni 2012-07-12 16:01:34 +02:00 committed by Alexandre Julliard
parent 40cbcabc0b
commit 5bcf8de8cf
3 changed files with 11 additions and 6 deletions

View File

@ -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

View File

@ -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");

View File

@ -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;