From 3bbac5f16e9dd47acd2132c0bb2a43393831c450 Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 13 Apr 2023 16:40:36 -0700 Subject: Warn on float-to-double coercion for arguments. (#2802) * Warn on float-to-double coercion for arguments. * Fix test. * Rename. * Fixup. --------- Co-authored-by: Yong He --- source/slang/slang-check-expr.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'source/slang/slang-check-expr.cpp') diff --git a/source/slang/slang-check-expr.cpp b/source/slang/slang-check-expr.cpp index 0f744997d..507b8c30f 100644 --- a/source/slang/slang-check-expr.cpp +++ b/source/slang/slang-check-expr.cpp @@ -1618,13 +1618,13 @@ namespace Slang switch (coercionType) { case IntegerConstantExpressionCoercionType::SpecificType: - expr = coerce(expectedType, inExpr); + expr = coerce(CoercionSite::General, expectedType, inExpr); break; case IntegerConstantExpressionCoercionType::AnyInteger: if (isScalarIntegerType(inExpr->type)) expr = inExpr; else - expr = coerce(m_astBuilder->getIntType(), inExpr); + expr = coerce(CoercionSite::General, m_astBuilder->getIntType(), inExpr); break; default: break; @@ -1862,7 +1862,7 @@ namespace Slang expr->left = maybeOpenRef(expr->left); auto type = expr->left->type; auto right = maybeOpenRef(expr->right); - expr->right = coerce(type, right); + expr->right = coerce(CoercionSite::Assignment, type, right); if (!type.isLeftValue) { @@ -2650,7 +2650,7 @@ namespace Slang initListExpr->loc = expr->loc; auto checkedInitListExpr = visitInitializerListExpr(initListExpr); - return coerce(typeExp.type, checkedInitListExpr); + return coerce(CoercionSite::General, typeExp.type, checkedInitListExpr); } } } -- cgit v1.2.3