<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">On 6/21/2020 7:22 AM, Jakob Bohm via
      openssl-users wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:6a1e95ab-c63d-fb3d-02cc-874cf8704376@wisemo.com">No sane
      compiler should complain about name clashes between unrelated
      <br>
      namespaces, such as between global type names and formal parameter
      names
      <br>
      in header function declarations (used exclusively for readable
      compiler
      <br>
      error messages about incorrect invocations).
      <br>
      <br>
      Syntactically, the only case where there could be any overlap
      between
      <br>
      those two namespaces would be if the formal parameter names were
      not
      <br>
      preceded by type names, as might happen in K&R C.  The
      warnings leading
      <br>
      to this thread should be treated as a compiler bug, that should be
      easily
      <br>
      reproduced with short standalone (1 to 3 files) test samples
      submitted to
      <br>
      the relevant compiler bug tracker.
      <br>
    </blockquote>
    <br>
    Macros can cause problems:<br>
    <blockquote>
      <pre>#define    foo    1
[...]
extern int func(int foo);</pre>
    </blockquote>
    It works out that header files that want to be safe cannot use *any*
    names that aren't reserved to them.<br>
    <pre class="moz-signature" cols="72">-- 
Jordan Brown, Oracle ZFS Storage Appliance, Oracle Solaris</pre>
  </body>
</html>