Path: utzoo!telly!attcan!dptcdc!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!EXPO.LCS.MIT.EDU!keith From: keith@EXPO.LCS.MIT.EDU (Keith Packard) Newsgroups: gnu.gcc.bug Subject: another -traditional nit Message-ID: <8903241501.AA29636@expo.lcs.mit.edu> Date: 24 Mar 89 15:01:55 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 27 Pcc allows: typedef long fd_mask; typedef long fd_mask; but only with the primary type 'long'. Gcc should probably allow this as well with the -traditional option. The trivial fix is to allow arbitrary redefinition of typedefs, at least the old program will still compile: static char * redeclaration_error_message (new, old) tree new, old; { if (TREE_CODE (new) == TYPE_DECL) { if (flag_traditional) return 0; return "redefinition of `%s'"; } else if (TREE_CODE (new) == FUNCTION_DECL) The better fix might be to discover exactly which types are allowed in this situation. keith packard keith@expo.lcs.mit.edu