From mboxrd@z Thu Jan 1 00:00:00 1970 From: erik quanstrom Date: Mon, 18 Feb 2013 10:02:12 -0500 To: 9fans@9fans.net Message-ID: <212785519fea93fb108b892a64f623ce@brasstown.quanstro.net> In-Reply-To: References: <33b72a69832f3b5442b659b76e41a8a7@brasstown.quanstro.net> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] c compiler bug Topicbox-Message-UUID: 192e2fe4-ead8-11e9-9d60-3106f5b1d025 > No, the compiler is simply applying scope rules. Without that inner > declaration explicitly overriding the outer declaration--whether > static or extern is used-- it will not compile (eg, if you put "static > void fn(Outer*);" or "extern void fn(Outer*);" and remove static from > fn in the file scope). since nested functions are not allowed, applying nested scope seems a bit odd. anyway, ... if the declaration were in the same place but the referenced function were in another file, the -T would have prevented the link. my question is, why doesn't the c compiler internally apply the same rule? - erik