From 43c34df0293963f0ca8a8eed2e3d60f08300c5f4 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Wed, 26 Jun 2024 16:59:31 -0500 Subject: [PATCH] Fix expected type in struct item assignment --- loopy/target/c/__init__.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/loopy/target/c/__init__.py b/loopy/target/c/__init__.py index 0a54ecc6..4c5d7720 100644 --- a/loopy/target/c/__init__.py +++ b/loopy/target/c/__init__.py @@ -40,7 +40,7 @@ from loopy.diagnostic import LoopyError, LoopyTypeError from loopy.symbolic import IdentityMapper from loopy.target.execution import ExecutorBase from loopy.translation_unit import FunctionIdT, TranslationUnit -from loopy.types import NumpyType, LoopyType +from loopy.types import NumpyType, LoopyType, to_loopy_type from loopy.typing import ExpressionT from loopy.kernel import LoopKernel from loopy.kernel.array import ArrayBase, FixedStrideArrayDimTag @@ -1137,6 +1137,10 @@ class CFamilyASTBuilder(ASTBuilderBase[Generable]): lhs_code = ecm(insn.assignee, prec=PREC_NONE, type_context=None) rhs_type_context = dtype_to_type_context(kernel.target, lhs_dtype) + + if isinstance(insn.assignee, p.Lookup): + lhs_dtype = to_loopy_type(lhs_dtype.numpy_dtype[insn.assignee.name]) + if lhs_atomicity is None: from cgen import Assign return Assign( -- GitLab