I've just fixed a bug in the faust2owl script
Actually, I think that faust2owl is used when generating patches that are bundled with OwlWare firmware, but for user patches faust compiler is called directly using a custom arch file. So your changes to that script won't fix my issue as I was not using faust2owl. For reference - https://github.com/pingdynasty/OwlProgram/blob/master/faust.mk#L6
I'm not sure that it is a good idea to have a separate copy of owl.cpp in OwlProgram instead of using the one that is bundled with Faust. They can get out of sync - in fact they already have some differences, i.e. https://github.com/pingdynasty/OwlProgram/blob/master/FaustCode/owl.cpp#L379 , https://github.com/pingdynasty/OwlProgram/blob/master/FaustCode/owl.cpp#L310-L313 are not present in Faust repo.
I think we/you should start again from the last version of the Faust compiler (2.19.4 on master-dev branch here: https://github.com/grame-cncm/faust)
I was already using this branch and just rebuilt it from latest commit, makes no difference. Also, I've confirmed that if I use faust2owl script and build resulting file as C++ file, I get the same errors.
for math functions the C++ backend now uses std::name everywhere since it is the proper way to generate C++ code that uses the polymorphic versions of those functions (that is when the code is generated in "float" to "double" mode)
Yeah, this just got broken in Owl accidentally, I'm not sure if there's anything to be fixed on Faust side. OTOH, Owl uses macros for calculating trigonometric functions that are optimized for ARM and they are available for floats only. I think that we generally don't won't to use doubles on Owl as that would require either running code that is not optimized for this CPU or simply casting results of optimized calculation from float to double.
It this cause new issues in the Owl context, note that pure C code could also be generated, in case it helps?
I don't think it's a good idea to do that - the proper fix would be to resolve clashes with std namespace. But having non-polymorphic calls to math stuff may be useful.
I think we need to hear something from @mars - are there plans to upgrade Faust version used on Owl platform anytime soon?