FreeBSD/contrib/gcc/c-parser.c
/* Parse an objc-methodprotolist.

   objc-methodprotolist:
     empty
     objc-methodprotolist objc-methodproto
     objc-methodprotolist declaration
     objc-methodprotolist ;

   The declaration is a data definition, which may be missing
   declaration specifiers under the same rules and diagnostics as
   other data definitions outside functions, and the stray semicolon
   is diagnosed the same way as a stray semicolon outside a
   function.  */
Parse an objc-methodprotolist.

The declaration is a data definition, which may be missing
declaration specifiers under the same rules and diagnostics as
other data definitions outside functions, and the stray semicolon
is diagnosed the same way as a stray semicolon outside a
function.
Parse an objc - methodprotolist . The declaration is a data definition which may be missing declaration specifiers under the same rules and diagnostics as other data definitions outside functions and the stray semicolon is diagnosed the same way as a stray semicolon outside a function .
static void
c_parser_objc_interfacedecllist (c_parser *parser)
{
  while (true)
    {
      c_token *token;
      token = c_parser_peek_token (parser);
      if (token->type == CPP_KEYWORD
	  && token->keyword == RID_AT_PROPERTY)
	{
	  c_parser_objc_property_declaration (parser);
	  continue;
	}
      if (c_token_starts_methodproto (token))
	{
	  c_parser_objc_methodproto (parser);
	  continue;
	}
      switch (c_parser_peek_token (parser)->type)
	{
	case CPP_SEMICOLON:
	  if (pedantic)
	    pedwarn ("ISO C does not allow extra %<;%> outside of a function");
	  c_parser_consume_token (parser);
	  break;
	case CPP_PRAGMA:
	  c_parser_pragma (parser, pragma_external);
	  break;
	case CPP_EOF:
	  return;
	default:
	  if (c_parser_next_token_is_keyword (parser, RID_AT_END))
	    return;
	  c_parser_declaration_or_fndef (parser, false, true, false, true, NULL);
	  break;
	}
    }
}
static void c_parser_objc_interfacedecllist ( c_parser * parser ) { while ( true ) { c_token * token ; token = c_parser_peek_token ( parser ) ; if ( token -> type == CPP_KEYWORD && token -> keyword == RID_AT_PROPERTY ) { c_parser_objc_property_declaration ( parser ) ; continue ; } if ( c_token_starts_methodproto ( token ) ) { c_parser_objc_methodproto ( parser ) ; continue ; } switch ( c_parser_peek_token ( parser ) -> type ) { case CPP_SEMICOLON : if ( pedantic ) pedwarn ( " " ) ; c_parser_consume_token ( parser ) ; break ; case CPP_PRAGMA : c_parser_pragma ( parser , pragma_external ) ; break ; case CPP_EOF : return ; default : if ( c_parser_next_token_is_keyword ( parser , RID_AT_END ) ) return ; c_parser_declaration_or_fndef ( parser , false , true , false , true , NULL ) ; break ; } } }
Parse an objc-methodprotolist.
Parse an objc - methodprotolist .
/* APPLE LOCAL C* property (Radar 4436866) (in 4.2 b) */ /* APPLE LOCAL begin C* property (Radar 4436866) (in 4.2 b) */ /* APPLE LOCAL end C* property (Radar 4436866) (in 4.2 b) */ /* APPLE LOCAL begin C* language (in 4.2 w) */ /* APPLE LOCAL end C* language (in 4.2 w) */ /* The list is terminated by @end.  */ /* APPLE LOCAL begin C* language (in 4.2 w) */ /* CPP_PLUS and CPP_MINUS deleted */ /* APPLE LOCAL end C* language (in 4.2 w) */ /* APPLE LOCAL radar 4708210 (for_objc_collection in 4.2) */