d3dcompiler: Introduce source_location structure.
diff --git a/dlls/d3dcompiler_43/d3dcompiler_private.h b/dlls/d3dcompiler_43/d3dcompiler_private.h
index 1286f00..5bb74f0 100644
--- a/dlls/d3dcompiler_43/d3dcompiler_private.h
+++ b/dlls/d3dcompiler_43/d3dcompiler_private.h
@@ -690,6 +690,13 @@
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 @@
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
diff --git a/dlls/d3dcompiler_43/hlsl.y b/dlls/d3dcompiler_43/hlsl.y
index 48c43a2..f4afd48 100644
--- a/dlls/d3dcompiler_43/hlsl.y
+++ b/dlls/d3dcompiler_43/hlsl.y
@@ -136,7 +136,7 @@
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 @@
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");
diff --git a/dlls/d3dcompiler_43/utils.c b/dlls/d3dcompiler_43/utils.c
index 2d4eefb..c4dd2e8 100644
--- a/dlls/d3dcompiler_43/utils.c
+++ b/dlls/d3dcompiler_43/utils.c
@@ -816,7 +816,7 @@
}
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;