I'm pretty sure the problem is with the COMPLEX_RETURN_MASK. Despite that you say it is defined as (asOBJ_APP_CLASS_DESTRUCTOR | asOBJ_APP_CLASS_COPY_CONSTRUCTOR) I don't think it is. On Nov 26th you showed the defines that get configured by running 'g++ -dM -E as_config.h' (see page 3 in this thread), and there it is seen that the flag is defined as asOBJ_APP_CLASS_DESTRUCTOR.But we´ve already added those #undef - #define sections... check a few posts after the one you mention (november 27) and you´ll find the one in which you told me to do it. What´s more, it actually solved a bug back then.
Add the following in as_config.h in the section for gnuc, Linux, arm (somewhere around line 780):#undef COMPLEX_RETURN_MASK #define COMPLEX_RETURN_MASK (asOBJ_APP_CLASS_DESTRUCTOR | asOBJ_APP_CLASS_COPY_CONSTRUCTOR)
I believe that will solve this test.
Now... the problem might be that armFuncR0R1 hasn´t been adapted yet to the ABI... sorry aboyt that, I was assuming that operator* should be called using armFuncR0, but if it must use armFUncR0R1 then I´ll begin editing that function. I´ll be back with results.