Lines Matching refs:se
533 gfc_se se;
538 gfc_init_se (&se, NULL);
539 gfc_conv_expr_val (&se, e);
541 se.expr = convert (dest_type, se.expr);
542 gfc_add_block_to_block (block, &se.pre);
551 gfc_add_modify (block, tmp, se.expr);
563 gfc_se se;
568 gfc_init_se (&se, NULL);
569 gfc_conv_expr_val (&se, e);
578 se.expr = gfc_evaluate_now (se.expr, &se.pre);
584 se.expr,
585 fold_convert (TREE_TYPE (se.expr), val));
588 &se.pre);
593 se.expr,
594 fold_convert (TREE_TYPE (se.expr), val));
597 &se.pre);
600 se.expr = convert (dest_type, se.expr);
601 gfc_add_block_to_block (block, &se.pre);
610 gfc_add_modify (block, tmp, se.expr);
623 gfc_se se;
627 gfc_init_se (&se, NULL);
628 gfc_conv_expr_val (&se, e);
639 se.expr = gfc_evaluate_now (se.expr, &se.pre);
645 se.expr,
646 fold_convert (TREE_TYPE (se.expr), val));
650 se.expr,
651 fold_convert (TREE_TYPE (se.expr), val));
669 gfc_add_expr_to_block (&se.pre, var);
672 se.expr = convert (dest_type, se.expr);
673 gfc_add_block_to_block (block, &se.pre);
686 gfc_se se;
691 gfc_init_se (&se, NULL);
692 gfc_conv_expr_lhs (&se, e);
694 gfc_add_block_to_block (block, &se.pre);
696 if (TYPE_MODE (TREE_TYPE (se.expr))
699 addr = convert (TREE_TYPE (p->field), gfc_build_addr_expr (NULL_TREE, se.expr));
704 gfc_add_modify (block, se.expr,
705 build_int_cst (TREE_TYPE (se.expr), LIBERROR_OK));
723 tmp = convert (TREE_TYPE (se.expr), tmpvar);
724 gfc_add_modify (postblock, se.expr, tmp);
738 gfc_convert_array_to_string (gfc_se * se, gfc_expr * e)
752 gfc_conv_expr (se, e);
780 if (TREE_CODE (se->expr) == ARRAY_REF)
782 tree index = TREE_OPERAND (se->expr, 1);
794 gcc_assert (TREE_CODE (se->expr) == INDIRECT_REF);
795 tree ptr = TREE_OPERAND (se->expr, 0);
808 se->expr = gfc_build_addr_expr (NULL_TREE, se->expr);
809 se->string_length = fold_convert (gfc_charlen_type_node, size);
814 gfc_conv_array_parameter (se, e, true, NULL, NULL, &size);
815 se->string_length = fold_convert (gfc_charlen_type_node, size);
826 gfc_se se;
832 gfc_init_se (&se, NULL);
852 gfc_conv_label_variable (&se, e);
853 tmp = GFC_DECL_STRING_LEN (se.expr);
859 gfc_trans_runtime_check (true, false, cond, &se.pre, &e->where, msg,
863 gfc_add_modify (&se.pre, io,
864 fold_convert (TREE_TYPE (io), GFC_DECL_ASSIGN_ADDR (se.expr)));
865 gfc_add_modify (&se.pre, len, GFC_DECL_STRING_LEN (se.expr));
871 gfc_conv_expr (&se, e);
874 gfc_convert_array_to_string (&se, e);
878 gfc_conv_string_parameter (&se);
879 gfc_add_modify (&se.pre, io, fold_convert (TREE_TYPE (io), se.expr));
880 gfc_add_modify (&se.pre, len, fold_convert (TREE_TYPE (len),
881 se.string_length));
884 gfc_add_block_to_block (block, &se.pre);
885 gfc_add_block_to_block (postblock, &se.post);
897 gfc_se se;
905 gfc_init_se (&se, NULL);
922 gfc_conv_expr (&se, e);
923 gfc_conv_string_parameter (&se);
924 tmp = se.expr;
925 se.expr = build_int_cst (pchar_type_node, 0);
935 gfc_conv_subref_array_arg (&se, e, 0,
938 se.expr);
939 se.expr = gfc_build_addr_expr (pchar_type_node, tmp);
945 gfc_conv_expr_descriptor (&se, e);
946 tmp = gfc_conv_descriptor_data_get (se.expr);
947 se.expr = gfc_build_addr_expr (pchar_type_node, se.expr);
955 gfc_add_modify (&se.pre, io, fold_convert (TREE_TYPE (io), tmp));
956 gfc_add_modify (&se.pre, len,
957 fold_convert (TREE_TYPE (len), se.string_length));
958 gfc_add_modify (&se.pre, desc, se.expr);
960 gfc_add_block_to_block (block, &se.pre);
961 gfc_add_block_to_block (post_block, &se.post);
1753 gfc_se se;
1758 gfc_init_se (&se, NULL);
1759 se.want_pointer = 1;
1760 gfc_conv_expr (&se, expr);
1761 vtable = se.expr;
1765 gfc_init_se (&se, NULL);
1766 se.want_pointer = 1;
1767 gfc_conv_expr (&se, expr);
1769 dtio_proc = se.expr;
2140 transfer_expr (gfc_se * se, gfc_typespec * ts, tree addr_expr,
2159 gfc_se se;
2163 gfc_init_se (&se, NULL);
2207 gfc_copy_loopinfo_to_se (&se, &loop);
2208 se.ss = ss;
2210 /* gfc_conv_tmp_array_ref assumes that se.expr contains the array. */
2211 se.expr = expr;
2212 gfc_conv_tmp_array_ref (&se);
2214 /* Now se.expr contains an element of the array. Take the address and pass
2216 tmp = gfc_build_addr_expr (NULL_TREE, se.expr);
2217 transfer_expr (&se, &cm->ts, tmp, NULL, NULL_TREE);
2222 gfc_add_block_to_block (&body, &se.pre);
2223 gfc_add_block_to_block (&body, &se.post);
2267 gfc_se se;
2273 gfc_init_se (&se, NULL);
2274 se.want_pointer = 1;
2275 gfc_conv_expr (&se, expr);
2277 return se.expr;
2295 transfer_expr (gfc_se * se, gfc_typespec * ts, tree addr_expr,
2392 if (se->string_length)
2393 arg2 = se->string_length;
2411 gfc_add_expr_to_block (&se->pre, tmp);
2412 gfc_add_block_to_block (&se->pre, &se->post);
2417 if (se->string_length)
2418 arg2 = se->string_length;
2452 se->expr);
2462 gfc_conv_derived_to_class (se, code->expr1,
2465 addr_expr = se->expr;
2472 expr = gfc_evaluate_now (addr_expr, &se->pre);
2497 gfc_add_expr_to_block (&se->pre, tmp);
2515 se->string_length = strlen;
2518 transfer_expr (se, &c->ts, tmp, code, NULL_TREE);
2523 se->string_length = NULL_TREE;
2538 gfc_add_expr_to_block (&se->pre, tmp);
2539 gfc_add_block_to_block (&se->pre, &se->post);
2548 transfer_array_desc (gfc_se * se, gfc_typespec * ts, tree addr_expr)
2553 charlen_arg = se->string_length;
2568 gfc_add_expr_to_block (&se->pre, tmp);
2569 gfc_add_block_to_block (&se->pre, &se->post);
2583 gfc_se se;
2593 gfc_init_se (&se, NULL);
2600 se.want_pointer = 1;
2601 gfc_conv_expr (&se, expr);
2602 vptr = gfc_get_vptr_from_expr (se.expr);
2607 gfc_conv_expr_reference (&se, expr);
2609 transfer_expr (&se, &expr->ts, se.expr, code, vptr);
2649 gfc_conv_subref_array_arg (&se, expr, 0, INTENT_OUT, false);
2650 tmp = se.expr;
2655 gfc_conv_expr_descriptor (&se, expr);
2656 tmp = gfc_build_addr_expr (NULL_TREE, se.expr);
2659 transfer_array_desc (&se, &expr->ts, tmp);
2677 gfc_copy_loopinfo_to_se (&se, &loop);
2678 se.ss = ss;
2680 gfc_conv_expr_reference (&se, expr);
2686 transfer_expr (&se, &expr->ts, se.expr, code, vptr);
2691 gfc_add_block_to_block (&body, &se.pre);
2692 gfc_add_block_to_block (&body, &se.post);
2694 if (se.ss == NULL)
2699 gcc_assert (se.ss == gfc_ss_terminator);