annotate sources/c_parser_postfix_expression.c @ 1:aa09c34b90d3

add quicksort_for_pcc add sources, figures.
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Mon, 01 Feb 2010 20:37:36 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 case RID_CbC_RET:
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 stmt = c_begin_stmt_expr ();
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 /* create label declaration. */
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 label = get_identifier ("_cbc_exit0");
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 tlab = declare_label (label);
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 add_stmt (build_stmt (DECL_EXPR, tlab));
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 /* declare retval. (int retval;) */
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 tree decl_cond =
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 build_decl(VAR_DECL,get_identifier ("retval"),
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 TREE_TYPE(current_function_decl));
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 pushdecl (decl_cond);
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 /* define nested function. */
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 decl = cbc_define_nested_code(label, decl_cond);
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 /* define if-ed goto label and return statement. */
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 cbc_define_if_closed_goto (label, decl_cond);
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 /* get pointer to nested function. */
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 value = build_addr (decl , current_function_decl);
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 add_stmt (value);
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25
aa09c34b90d3 add quicksort_for_pcc
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 expr.value = c_finish_stmt_expr (stmt);