GCC Wikia
Advertisement

このページを編集する際は,編集に関する方針に従ってください.[]

概要[]

実装[]

186 /* A preprocessing token.  This has been carefully packed and should
187    occupy 16 bytes on 32-bit hosts and 24 bytes on 64-bit hosts.  */
188 struct cpp_token GTY(())
189 {
190   source_location src_loc;      /* Location of first char of token.  */

191   ENUM_BITFIELD(cpp_ttype) type : CHAR_BIT;  /* token type */
192   unsigned char flags;          /* flags - see above */
193 
194   union cpp_token_u
195   {
196     /* An identifier.  */
197     cpp_hashnode *
198       GTY ((nested_ptr (union tree_node,
199                 "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL",
200                         "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL"),
201             tag ("CPP_TOKEN_FLD_NODE")))
202          node;
203          
204     /* Inherit padding from this token.  */
205     cpp_token * GTY ((tag ("CPP_TOKEN_FLD_SOURCE"))) source;
206 
207     /* A string, or number.  */
208     struct cpp_string GTY ((tag ("CPP_TOKEN_FLD_STR"))) str;
209 
210     /* Argument no. for a CPP_MACRO_ARG.  */
211     unsigned int GTY ((tag ("CPP_TOKEN_FLD_ARG_NO"))) arg_no;
212:   } GTY ((desc ("cpp_token_val_index (&%1)"))) val;
213: };


リンク元

Advertisement