incompatible_sfpe_double_params

Warns when skipping registers for double data types.

Syntax
#pragma incompatible_sfpe_double_params on | off | reset
  
Remarks

This pragma makes CodeWarrior-built object files more compatible with those created with a GCC compiler.

The PowerPC EABI states that software floating-point parameters of type double always begin on an odd register. In other words, in the function

void red(long a, double b)

a is passed in register R3 and b is passed in registers R5 and R6 (effectively skipping R4 ). GCC compilers do not skip registers if objects of type double are passed (although it does skip them for values of type long long ).

The CodeWarrior linker checks to see if you are including objects in your project that have incompatible EABI settings. If you do, a warning message is issued.

Note: Different versions of GCC compilers may fix these incompatibilities, so you should check your version if you will be mixing GCC and CodeWarrior object code.