diff --git a/src/pystencils/backend/kernelcreation/typification.py b/src/pystencils/backend/kernelcreation/typification.py index debcc3cf61d4b419f6387dfaca8e1eac655406f4..04aeddabe32910b6a7c084272f1302dc87cf78ca 100644 --- a/src/pystencils/backend/kernelcreation/typification.py +++ b/src/pystencils/backend/kernelcreation/typification.py @@ -472,7 +472,7 @@ class Typifier: self._handle_idx(idx) case PsAddressOf(arg): - if not isinstance(arg, (PsSymbolExpr, PsSubscript, PsMemAcc, PsLookup)): + if not isinstance(arg, (PsSymbolExpr, PsSubscript, PsMemAcc, PsBufferAcc, PsLookup)): raise TypificationError( f"Illegal expression below AddressOf operator: {arg}" ) @@ -489,7 +489,7 @@ class Typifier: match arg: case PsSymbolExpr(s): pointed_to_type = s.get_dtype() - case PsSubscript(ptr, _) | PsMemAcc(ptr, _): + case PsSubscript(ptr, _) | PsMemAcc(ptr, _) | PsBufferAcc(ptr, _): arr_type = ptr.get_dtype() assert isinstance(arr_type, PsDereferencableType) pointed_to_type = arr_type.base_type