Consider the following:

float foo( float const *bar )
    float temp;
    temp = *bar; 
Something I am noticing is that temp right after the assignment to *bar, is not the same value as *bar. Has anyone seen anything like this before? This is for a project at work and the code runs on an embedded board with an ARM processor. I've copied the function into a standalone program for both Visual Studio and Code::Blocks and it works correctly there. Thanks for any insight.