title: Should this code cause a warning
body: <p>I came across code similar to that below which is legal, albeit not very clever.  Two stack variables in the same function in scope at the same time with the same name is legal but it can cause problems.  (Read: I just wasted half an hour debugging this).  At warning level 4 on VS2010 (the highest level), I would have hoped it would have caught this kind of thing.  Am I missing something, or is it time to hit to whole code base with lint for a once over?  Would a static analysis tool such as lint even pick up name clashes like this?</p>
  
  <pre><code>   char *x = strchr(Buffer,' ');
     if (x)
     {
       *x = 0;
       x++;
       char *x = strchr(x,' ') 
       if (x)
          *x = 0;
     }
  </code></pre>