On 20/06/16 22:59, David Emerson wrote:
Error: function header doesn't match the previous declaration

for a (non-method) function that does exactly match its previous
declaration:

function make_scale_matrix (zx:single; zy:single=NaN):t_2d_affine;

I use "NaN" extensively to indicate a null / not specified value, so it
would really be a drag to lose this feature. Although the header exactly
matches the previous declaration, it now objects to these NaN default
parameters.

It's probably due to a peciularity of the "NaN" value itself: if you ask a floating point unit to compare NaN with NaN, the returned result must always be "not equal" even though the bit patterns match exactly. To fix this, the compiler will have to compare the bit patterns of floating point default parameters rather than their values as floating point numbers.

Please file a bug report.


Jonas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to