diff options
Diffstat (limited to 'source/slang/slang-check-expr.cpp')
| -rw-r--r-- | source/slang/slang-check-expr.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/source/slang/slang-check-expr.cpp b/source/slang/slang-check-expr.cpp index 524bab4e4..adfc36641 100644 --- a/source/slang/slang-check-expr.cpp +++ b/source/slang/slang-check-expr.cpp @@ -828,7 +828,7 @@ namespace Slang return TryConstantFoldExpr(exp); } - RefPtr<IntVal> SemanticsVisitor::CheckIntegerConstantExpression(Expr* inExpr) + RefPtr<IntVal> SemanticsVisitor::CheckIntegerConstantExpression(Expr* inExpr, DiagnosticSink* sink) { // No need to issue further errors if the expression didn't even type-check. if(IsErrorExpr(inExpr)) return nullptr; @@ -840,13 +840,18 @@ namespace Slang if(IsErrorExpr(expr)) return nullptr; auto result = TryCheckIntegerConstantExpression(expr.Ptr()); - if (!result) + if (!result && sink) { - getSink()->diagnose(expr, Diagnostics::expectedIntegerConstantNotConstant); + sink->diagnose(expr, Diagnostics::expectedIntegerConstantNotConstant); } return result; } + RefPtr<IntVal> SemanticsVisitor::CheckIntegerConstantExpression(Expr* inExpr) + { + return CheckIntegerConstantExpression(inExpr, getSink()); + } + RefPtr<IntVal> SemanticsVisitor::CheckEnumConstantExpression(Expr* expr) { // No need to issue further errors if the expression didn't even type-check. |
