view Paper/source/rid_goto.c @ 75:454ddda8d306

modify explanation of CbC
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Tue, 03 Jan 2012 21:13:11 +0900
parents e07c7952f237
children
line wrap: on
line source

if (c_parser_next_token_is (parser, CPP_NAME))
  {
    tree id = c_parser_peek_token (parser)->value;
    location_t loc = c_parser_peek_token (parser)->location;

    build_external_ref (loc, id, RID_CbC_CODE, &expr.original_type);
  }
expr = c_parser_expr_no_commas (parser, NULL);
if (TREE_CODE(expr.value) == CALL_EXPR )
  {
    location_t loc = c_parser_peek_token (parser)->location;
    cbc_replace_arguments (loc, expr.value);

    TREE_TYPE(expr.value) = void_type_node;
    CbC_IS_CbC_GOTO (expr.value) = 1;
    CALL_EXPR_TAILCALL (expr.value) = 1;
    add_stmt(expr.value);
    stmt = c_finish_return(loc, NULL_TREE, NULL_TREE);
  }