Omission re static linkage

Norman Diamond diamond at csl.sony.co.jp
Thu Oct 19 17:26:07 AEST 1989


Consider the following program:

void f1() {
  extern void f3(void);  /* [1] */
}
void f2() {
  static void f3(void);  /* [2] */
}
static void f3() {       /* [3] */
}

According to section 3.1.2.2, declarations [1] and [3] refer to the
same identifier, and function f3 has internal linkage.  However, the
standard neglects to state what declaration [2] refers to.

-- 
Norman Diamond, Sony Corp. (diamond%ws.sony.junet at uunet.uu.net seems to work)
  Should the preceding opinions be caught or     |  James Bond asked his
  killed, the sender will disavow all knowledge  |  ATT rep for a source
  of their activities or whereabouts.            |  licence to "kill".



More information about the Comp.std.c mailing list