On 6/21/2020 7:22 AM, Jakob Bohm via
openssl-users wrote:
No sane compiler should complain about name clashes between unrelated
namespaces, such as between global type names and formal parameter names
in header function declarations (used exclusively for readable compiler
error messages about incorrect invocations).
Syntactically, the only case where there could be any overlap between
those two namespaces would be if the formal parameter names were not
preceded by type names, as might happen in K&R C. The warnings leading
to this thread should be treated as a compiler bug, that should be easily
reproduced with short standalone (1 to 3 files) test samples submitted to
the relevant compiler bug tracker.
Macros can cause problems:
It works out that header files that want to be safe cannot use *any* names that aren't reserved to them.#define foo 1 [...] extern int func(int foo);
-- Jordan Brown, Oracle ZFS Storage Appliance, Oracle Solaris