Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!aplcen!boingo.med.jhu.edu!haven!adm!smoke!gwyn From: gwyn@smoke.brl.mil (Doug Gwyn) Newsgroups: comp.std.c Subject: Re: Structure tags Message-ID: <15135@smoke.brl.mil> Date: 8 Feb 91 21:09:41 GMT References: <4736@utsm.nm.fujitsu.co.jp> <595@taumet.com> Organization: U.S. Army Ballistic Research Laboratory, APG, MD. Lines: 13 In article <595@taumet.com> steve@taumet.com (Stephen Clamage) writes: -t-itoh@utsm.nm.fujitsu.co.jp (Tsutomu Itoh) writes: ->1a. ->struct foo {int i;}; ->struct foo; ->struct foo bar; -Both of these are ok. In 1a there is no incomplete declaration. Sure there is; the second "struct foo" type is not completed. If any essential use is made of "bar", there is an error. The second declaration (tag only) in effect cancels the previous "struct foo" type information for the following code. This is a special wart spelled out in 3.5.2.3.