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