WIN x LIN difference

Hi, now i found one mistake in my program:

Setup {
 if (TestFunction()) {
   Serial.print("OK");
 } else {
   Serial.print("FALSE");
 }
}

boolean TestFunction() {
  if (1 == 1) {
     //return true; // REM - sure
 } else {
    return false;
 } 
}

On Win compilation I get answer OK
On Lin compilation I get answer FALSE
Linux compilaton has smaller size to Windows.

Why?
Do you know somebody?

I hope that good answer is FALSE.

Is more differents between LIN and WIN compilation?

Please use code tags (</> button on the toolbar) when you post code or warning/error messages. The reason is that the forum software can interpret parts of your code as markup, leading to confusion, wasted time, and a reduced chance for you to get help with your problem. This will also make it easier to read your code and to copy it to the IDE or editor. Using code tags and other important information is explained in the How to use this forum post. Please read it.

For one thing that code won't even compile.

You have a non-void function that's not returning anything. That's undefined behavior so you shouldn't be surprised by inconsistent results. If you turn compiler warnings on in Tools > Preferences you'll get warnings about this sort of thing.