This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [C PATCH]: tidy some code


Paul Koning <pkoning@equallogic.com> writes:

| > "Joseph S. Myers" <jsm28@cam.ac.uk> writes:
| > 
| > | On 26 Nov 2002, Gabriel Dos Reis wrote:
| > | 
| > | > Nathan Sidwell <nathan@codesourcery.com> writes:
| > | > 
| > | > |   	  if (code == UNION_TYPE)
| > | > | ! 	    error ("redefinition of `union %s'", IDENTIFIER_POINTER (name));
| > | > |             else
| > | > | ! 	    error ("redefinition of `struct %s'", IDENTIFIER_POINTER (name));
| > | > 
| > | > Hi Nathan, I'm not clear about why this conditional is done here. 
| > | > I think the diagnostic machinary is able to figure out how to print
| > | > name with the appropriate class-key.  What else am I missing?
| > | 
| > | That the code was made this way by Paolo Bonzini to allow for different
| > | gender of struct/union/enum in some languages
| > | <http://gcc.gnu.org/ml/gcc-patches/2001-06/msg01330.html> (c-decl.c
| > | revision 1.260).
| > 
| > That, I think, is bogus:
| > 
| >   1) here 'union' and 'struct' are not used as natural words; they are
| >      *keywords* 
| 
| True, but that doesn't change the point.  Keywords are subject to the
| rules of grammar of the natural language used for the message just as
| much as any other component of the message.

Not here because if you look at the diagnostic message carefully, it
isn't saying

     structure '%s'

nor

    struct '%s'

but

    'struct %s'

that is keyword struct is part of the type-name.  Translating 'struct'
in this specific case is just not translating because it is not a
noun: it is used to form a type-name.

-- Gaby


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]