FreeBSD/contrib/gcc/cp/parser.c
/* Parse an Objective-C encode expression.

   objc-encode-expression:
     @encode objc-typename

   Returns an encoded representation of the type argument.  */
Parse an Objective-C encode expression.
objc-encode-expression:
@encode objc-typename

Returns an encoded representation of the type argument.
Parse an Objective - C encode expression . objc - encode - expression : @encode objc - typename Returns an encoded representation of the type argument .
static tree
cp_parser_objc_encode_expression (cp_parser* parser)
{
  tree type;
  cp_lexer_consume_token (parser->lexer);  
  cp_parser_require (parser, CPP_OPEN_PAREN, "`('");
  type = complete_type (cp_parser_type_id (parser));
  cp_parser_require (parser, CPP_CLOSE_PAREN, "`)'");
  if (!type)
    {
      error ("%<@encode%> must specify a type as an argument");
      return error_mark_node;
    }
  return objc_build_encode_expr (type);
}
static tree cp_parser_objc_encode_expression ( cp_parser * parser ) { tree type ; cp_lexer_consume_token ( parser -> lexer ) ; cp_parser_require ( parser , CPP_OPEN_PAREN , " " ) ; type = complete_type ( cp_parser_type_id ( parser ) ) ; cp_parser_require ( parser , CPP_CLOSE_PAREN , " " ) ; if ( ! type ) { error ( " " ) ; return error_mark_node ; } return objc_build_encode_expr ( type ) ; }
Parse an Objective-C encode expression.
Parse an Objective - C encode expression .
/* Eat '@encode'.  */