Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] instr0 non-globals affecting variable assignment in instruments

Victor Lazzarini <[email protected]> Mon, 8 Dec 2025 10:03:17 +0000
Newsgroups gmane.comp.audio.csound.devel
Message-ID <[email protected]>
Hi Richard,

I found the bug and sent in a PR

https://github.com/csound/csound/pull/2380

fixing this. Thanks for reporting it.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Prof. Victor Lazzarini
Maynooth University
Ireland

> On 7 Dec 2025, at 23:54, Richard Knight <[email protected]> wrote:
>=20
> *Warning*
>=20
> This email originated from outside of Maynooth University's Mail System. =
Do not reply, click links or open attachments unless you recognise the send=
er and know the content is safe.
>=20
> I'm moving to Csound 7 and some of my collection of UDOs don't work -
> there are some patterns such as the one below in some files, which
> caused compilation to fail with the following error:
>=20
> error: Array variable name 'Sresult' used before as a different type at
> line 14
> SEMERR: Array variable name 'Sresult' used before as a different type at
> line 14
>=20
> I can see why this is happening (conflicting types of Sresult) and how
> to work around, but is this expected behaviour?
> Notably this seems to only occur only in opcodes and if arrays are
> involved - if I move the contents of the opcode into an instr then it
> works OK, and numeric/string primitives work OK in this pattern.
>=20
>=20
> Sresult =3D "anything"
>=20
> opcode test1, S[], 0
>        Sresult[] fillarray "t1", "t2"
>        xout Sresult
> endop
>=20
> instr 1
>        Sresult[] test1
> endin