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

Reply via email to