title: less than comparison for void pointers
body: <p>I want to compare two void pointers like this:</p>
  
  <pre><code>void foo(void* p1, void* p2) {
  
    if (p1 &lt; p2) {
      void *tmp = p1;
      p1 = p2;
      p2 = tmp;
    }
  
    // do something with p1 and p2.
  }
  </code></pre>
  
  <p>Is this correct according to the standard? I mean is the comparison of void pointers a well-defined behaviour?</p>
  
  <p>I'd appreciate if someone can point me to the C standard where this is documented.</p>