title: GCC not warning on implicit cast from void * to void **
body: <p>As void * is the generic pointer, any other type can be implicitly cast to it. However, void ** isn't the generic pointer to pointer thus I would expect a warning from gcc if I implicitly cast to it.</p>
  
  <p>In my code I have a function that takes a pointer to an opaque pointer (because it can be realloced and written back) as:</p>
  
  <pre><code>char *string_store(void **ctxp, const char *str);
  </code></pre>
  
  <p>If I call this incorrectly as:</p>
  
  <pre><code>void *context;
  ...
  name = string_store(content, "my name");
  </code></pre>
  
  <p>instead of <code>string_store(&amp;content...)</code>, I would expect gcc to warn about this. But it doesn't. I have -Wall -Wextra options to gcc.</p>
  
  <p>Is there a warning option to turn this on? I can't find it in the gcc docs.</p>