Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!mit-eddie!uw-beaver!teknowledge-vaxc!vaxd!mkhaw From: mkhaw@vaxd.UUCP Newsgroups: comp.lang.c Subject: functions declared inside blocks with storage class Message-ID: <12570@vaxd.ARPA> Date: Thu, 11-Jun-87 01:21:17 EDT Article-I.D.: vaxd.12570 Posted: Thu Jun 11 01:21:17 1987 Date-Received: Sat, 13-Jun-87 07:44:54 EDT Organization: Teknowledge, Inc., Palo Alto CA Lines: 32 Given: foo1() { static int bar(); } foo2() { extern int bar(); } foo3() { int bar(); } My understanding of C tells me that the "static" and "extern" qualifiers in foo1() and foo2() are basically NO-OPs, (regardless of whether bar() is defined in the same file or elsewhere). If I'm wrong please enlighten me. I'm wondering because lint complains about a "static" function declaration that "redefinition hides earlier one". Is lint just being stupid about "static" within a block and treating it like a variable declaration? Thanks, Mike Khaw -- internet: mkhaw@teknowledge-vaxc.arpa usenet: {hplabs|sun|ucbvax|decwrl|sri-unix}!mkhaw%teknowledge-vaxc.arpa voice: 415/424-0500 USnail: Teknowledge, Inc., 1850 Embarcadero Rd., POB 10119, Palo Alto, CA 94303