<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>