Are compilers smart enough to detect a no-op function?
<p>If I write a function like this:</p>

<pre><code>void doMaybeNothing()
{ 
#ifndef IM_LAZY
   doSomething();
#endif
}
</code></pre>

<p>Are modern compilers smart enough to detect a no-op function and optimize so that there are no cycles wasted? Or is there always a small performance impact?</p>
