Jump to content

  • Log In with Google      Sign In   
  • Create Account


#ActualTzarls

Posted 26 December 2012 - 08:42 PM

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.

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.


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.

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.

#1Tzarls

Posted 26 December 2012 - 08:41 PM

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.

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.
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.
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.

PARTNERS