title: gcc C/C++ assume no pointer aliasing
body: <p>Having recently read that the main reason why fortran is faster than c/c++ in numerical computations is because there is no pointer aliasing.</p>
  
  <p>Apparently, using <code>restrict</code> or <code>__restrict__</code> keywords allows on a case by case basis to indicate the absence of pointer aliasing for a given memory element.</p>
  
  <p>The icc compiler apparently has an option <code>-fno-alias</code> which allows one to globally assume that no aliasing is present. On gcc there is <code>-fno-strict-aliasing</code>, which applies only to a subset of all the aliasing situations.</p>
  
  <p>Is there an option present in gcc, or are there some cases where no aliasing is assumed, when using certain optimization flags?</p>