I learned the other day that C likes to automatically convert a float to a double when it gets passed to a subrountine. Is there a flag in gcc which will keep this from happening? I have tried using -ffloat-store and -fallow-single-precision w/ -traditional, but that didn't work. I didn't write the code which I am having trouble with, but the floats MUST stay floats when they get passed to the subroutine, or the whole thing crashes with a segmentation fault. I'm sorry, but I can't include any of the code. I'm wondering, however, if it has something to do with the fact that some of the floats are actually #defines, which then get passed directly to the subroutine, ie


#define X=1.0;

test(X);

I appreciate any help you might offer!