title: Why {$IFDEF MSWINDOWS} is replaced with {$IF defined(MSWINDOWS)} in Delphi XE5?
body: <p>In XE5 all conditional compilations such as</p>
  
  <pre><code>{$IFDEF MSWINDOWS} 
  </code></pre>
  
  <p>are replaced with </p>
  
  <pre><code>{$IF defined(MSWINDOWS)}
  </code></pre>
  
  <p>For example System.Diagnostics.pas in XE4 had</p>
  
  <pre><code>...
  implementation
  
  {$IFDEF MSWINDOWS}
  uses Winapi.Windows;
  {$ENDIF}
  {$IFDEF MACOS}
  uses Macapi.Mach;
  {$ENDIF}
  
  { TStopwatch }
  ...
  </code></pre>
  
  <p>and now in XE5 it looks like:</p>
  
  <pre><code>...
  implementation
  {$IF defined(MSWINDOWS)}
  uses Winapi.Windows;
  {$ELSEIF defined(MACOS)}
  uses Macapi.Mach;
  {$ELSEIF defined(POSIX)}
  uses Posix.Time;
  {$ENDIF}
  
  { TStopwatch }
  ...
  </code></pre>
  
  <p>Is there any particular reason I should migrate my similar invocations as well?</p>