egcs-970904 (and gcc-2.7.2.2) gets into trouble with this shunk of (legal) code: % cat foo.C struct A { typedef void value_type; }; % g++ -c foo.C foo.C:2: variable or field `value_type' declared void -- Gaby