summaryrefslogtreecommitdiff
path: root/source/slang/lower-to-ir.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/lower-to-ir.cpp')
-rw-r--r--source/slang/lower-to-ir.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/slang/lower-to-ir.cpp b/source/slang/lower-to-ir.cpp
index 4ee717946..8c8b34908 100644
--- a/source/slang/lower-to-ir.cpp
+++ b/source/slang/lower-to-ir.cpp
@@ -998,6 +998,7 @@ struct ExprLoweringVisitorBase : ExprVisitor<Derived, LoweredValInfo>
// as the visitor itself.
LoweredValInfo lowerSubExpr(Expr* expr)
{
+ IRBuilderSourceLocRAII sourceLocInfo(getBuilder(), expr->loc);
return this->dispatch(expr);
}
@@ -1667,6 +1668,8 @@ LoweredValInfo lowerLValueExpr(
IRGenContext* context,
Expr* expr)
{
+ IRBuilderSourceLocRAII sourceLocInfo(context->irBuilder, expr->loc);
+
LValueExprLoweringVisitor visitor;
visitor.context = context;
return visitor.dispatch(expr);
@@ -1676,6 +1679,8 @@ LoweredValInfo lowerRValueExpr(
IRGenContext* context,
Expr* expr)
{
+ IRBuilderSourceLocRAII sourceLocInfo(context->irBuilder, expr->loc);
+
RValueExprLoweringVisitor visitor;
visitor.context = context;
return visitor.dispatch(expr);
@@ -2380,6 +2385,8 @@ void lowerStmt(
IRGenContext* context,
Stmt* stmt)
{
+ IRBuilderSourceLocRAII sourceLocInfo(context->irBuilder, stmt->loc);
+
StmtLoweringVisitor visitor;
visitor.context = context;
return visitor.dispatch(stmt);
@@ -2617,6 +2624,8 @@ struct DeclLoweringVisitor : DeclVisitor<DeclLoweringVisitor, LoweredValInfo>
//
for (auto decl : declGroup->decls)
{
+ IRBuilderSourceLocRAII sourceLocInfo(context->irBuilder, decl->loc);
+
// Note: I am directly invoking `dispatch` here,
// instead of `ensureDecl` just to try and
// make sure that we don't accidentally
@@ -3493,6 +3502,8 @@ LoweredValInfo lowerDecl(
IRGenContext* context,
DeclBase* decl)
{
+ IRBuilderSourceLocRAII sourceLocInfo(context->irBuilder, decl->loc);
+
DeclLoweringVisitor visitor;
visitor.context = context;
return visitor.dispatch(decl);