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: #define foo 1 [...] extern int func(int foo); It works out that header files that want to be safe cannot use *any* names that aren't reserved to them. -- Jordan Brown, Oracle ZFS Storage Appliance, Oracle Solaris