| It’s not a problem, we’re thankful to have it spotted. It was actually such a basic bug that I was
surprised it had not been caught before but I guess we did not have a test for it, now we do.
The other bugfix should be merged soon, just waiting on the review.
========================
Prof. Victor Lazzarini
Maynooth University
Ireland
> On 8 Dec 2025, at 11:33, Richard Knight wrote:
>
> Hi,
>
> Appreciate you both looking into this and the other issue so quickly.
> I'm moving a quite large codebase and plugins to Csound 7 and have a performance on Thursday so hoping to take it out in public then :)
>
> Thank you all for your efforts and work, I'm excited to finally get round to using CS7 in earnest.
> RK
>
> On 2025-12-08 10:03, Victor Lazzarini wrote:
>> Hi Richard,
>> I found the bug and sent in a PR
>> https://github.com/csound/csound/pull/2380
>> fixing this. Thanks for reporting it.
>> ========================
>> Prof. Victor Lazzarini
>> Maynooth University
>> Ireland
>>> On 7 Dec 2025, at 23:54, Richard Knight wrote:
>>> *Warning*
>>> This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.
>>> 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:
>>> 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
>>> 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.
>>> Sresult = "anything"
>>> opcode test1, S[], 0
>>> Sresult[] fillarray "t1", "t2"
>>> xout Sresult
>>> endop
>>> instr 1
>>> Sresult[] test1
>>> endin
|