Lines Matching defs:init
43 process_init_constructor (tree type, tree init);
451 split_nonconstant_init_1 (tree dest, tree init)
469 FOR_EACH_CONSTRUCTOR_ELT (CONSTRUCTOR_ELTS (init), idx,
505 VEC_ordered_remove (constructor_elt, CONSTRUCTOR_ELTS (init),
525 if (!initializer_constant_valid_p (init, type))
528 tree cons = copy_node (init);
529 CONSTRUCTOR_ELTS (init) = NULL;
541 TREE_CONSTANT (init) = 1;
547 Returns the code for the runtime init. */
550 split_nonconstant_init (tree dest, tree init)
554 if (TREE_CODE (init) == CONSTRUCTOR)
557 split_nonconstant_init_1 (dest, init);
559 DECL_INITIAL (dest) = init;
563 code = build2 (INIT_EXPR, TREE_TYPE (dest), dest, init);
571 If the init is invalid, store an ERROR_MARK.
587 store_init_value (tree decl, tree init)
600 || TREE_CODE (init) == CONSTRUCTOR);
602 if (TREE_CODE (init) == TREE_LIST)
606 init = build_constructor_from_list (NULL_TREE, nreverse (init));
609 else if (TREE_CODE (init) == TREE_LIST
610 && TREE_TYPE (init) != unknown_type_node)
613 init = build_x_compound_expr_from_list (init,
615 else if (TREE_CODE (init) == TREE_LIST
623 init = build_x_compound_expr_from_list (init, "initializer");
629 value = digest_init (type, init);
654 digest_init (tree type, tree init)
658 if (init == error_mark_node)
661 gcc_assert (init);
671 if (TREE_CODE (init) == NON_LVALUE_EXPR)
672 init = TREE_OPERAND (init, 0);
681 /*&& init */
682 && TREE_CODE (init) == STRING_CST)
684 tree char_type = TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (init)));
699 TREE_TYPE (init) = type;
708 if (size < TREE_STRING_LENGTH (init))
711 return init;
718 return convert_for_initialization (0, type, init, LOOKUP_NORMAL,
729 if (BRACE_ENCLOSED_INITIALIZER_P (init))
730 return process_init_constructor (type, init);
733 if (COMPOUND_LITERAL_P (init) && TREE_CODE (type) == ARRAY_TYPE)
742 && TREE_CODE (init) != CONSTRUCTOR)
749 return convert_for_initialization (NULL_TREE, type, init,
767 picflag_from_initializer (tree init)
769 if (init == error_mark_node)
771 else if (!TREE_CONSTANT (init))
773 else if (!initializer_constant_valid_p (init, TREE_TYPE (init)))
783 process_init_constructor_array (tree type, tree init)
789 VEC(constructor_elt,gc) *v = CONSTRUCTOR_ELTS (init);
868 CONSTRUCTOR_ELTS (init) = v;
877 process_init_constructor_record (tree type, tree init)
907 if (idx < VEC_length (constructor_elt, CONSTRUCTOR_ELTS (init)))
910 CONSTRUCTOR_ELTS (init), idx);
974 CONSTRUCTOR_ELTS (init) = v;
983 process_init_constructor_union (tree type, tree init)
988 if (VEC_empty (constructor_elt, CONSTRUCTOR_ELTS (init)))
991 gcc_assert (VEC_length (constructor_elt, CONSTRUCTOR_ELTS (init)) == 1);
992 ce = VEC_index (constructor_elt, CONSTRUCTOR_ELTS (init), 0);
1054 process_init_constructor (tree type, tree init)
1058 gcc_assert (BRACE_ENCLOSED_INITIALIZER_P (init));
1061 flags = process_init_constructor_array (type, init);
1063 flags = process_init_constructor_record (type, init);
1065 flags = process_init_constructor_union (type, init);
1072 TREE_TYPE (init) = type;
1074 cp_complete_array_type (&TREE_TYPE (init), init, /*do_default=*/0);
1077 TREE_CONSTANT (init) = 1;
1078 TREE_INVARIANT (init) = 1;
1080 TREE_STATIC (init) = 1;
1082 return init;