Lines Matching defs:init
135 static StringInitFailureKind IsStringInit(Expr *init, QualType declType,
140 return IsStringInit(init, arrayType, Context);
161 llvm_unreachable("unexpected expr in string literal init");
183 llvm_unreachable("unexpected expr in array compound literal init");
222 // [dcl.init.string]p2
491 // C++ [dcl.init.aggr]p7:
502 // does not have useful semantics for initialization from an init list.
653 assert(!VerifyOnly && "should not fill with no-init in verify-only mode");
661 // C++1y [dcl.init.aggr]p7:
686 // C++ [dcl.init.aggr]p9:
1125 // Warn on aggregate initialization but not on ctor init list or
1154 llvm_unreachable("unexpected braced scalar init");
1341 // C++ [dcl.init.aggr]p2:
1360 // C++14 [dcl.init.aggr]p13:
1386 // FIXME: Need to handle atomic aggregate types with implicit init lists.
1438 // C++ [dcl.init.aggr]p12:
1473 assert(Index == 0 && "Index in explicit init list must be zero");
1565 // FIXME: Why are we updating the syntactic init list?
1623 // FIXME: Why are we updating the syntactic init list?
1677 // FIXME: Why are we updating the syntactic init list?
1694 // Don't attempt to go past the end of the init list
1752 // Don't attempt to go past the end of the init list
1794 /// accessible per 11.6.1 [dcl.init.aggr]:
1962 // Empty flexible array init always allowed as an extension
1965 // Disallow flexible array init in C++; it is not required for gcc
1969 // Disallow flexible array init on non-top-level object
1972 // Disallow flexible array init on anything which is not a variable.
1975 // Disallow flexible array init on local variables.
2462 // designated init update of an already-fully-initialized object in
2608 // C++20 [dcl.init.list]p3:
2852 // We're just verifying an update to a string literal init. We don't need
2856 // We're modifying a string literal init; we have to decompose the string
2878 // the init list.
2900 // the init list.
3729 "Can only rewrap trivial init lists.");
3809 /// When initializing from init list via constructor, handle
3828 // Try initializing a temporary array from the init list.
3969 /// Attempt initialization by constructor (C++ [dcl.init]), which
4002 // C++17 [dcl.init]p17:
4050 // 8.5.4 [dcl.init.list] specifies that overload resolution is performed
4109 // C++11 [dcl.init]p6:
4258 /// Attempt list initialization (C++0x [dcl.init.list])
4286 // C++11 [dcl.init.list]p3, per DR1467:
4294 // (8.5.2 [dcl.init.string]), initialization is performed as described
4335 // C++11 [dcl.init.list]p3:
4449 // Add the list initialization step with the built init list.
4639 /// Attempt reference initialization (C++0x [dcl.init.ref])
4694 // C++0x [dcl.init.ref]p5:
4823 // The corresponding bullet in C++03 [dcl.init.ref]p5 gives the
4838 // C++1z [dcl.init.ref]/5.2.1.2:
4986 /// (C++ [dcl.init.string], C99 6.7.8).
4995 /// Attempt value initialization (C++ [dcl.init]p7).
5002 "Shouldn't use value-init for non-empty init lists");
5004 // C++98 [dcl.init]p5, C++11 [dcl.init]p7:
5056 // If this is list-value-initialization, pass the empty init list on when
5073 /// Attempt default initialization (C++ [dcl.init]p6).
5080 // C++ [dcl.init]p6:
5112 /// Attempt a user-defined conversion between two types (C++ [dcl.init]),
5598 // C++0x [dcl.init]p16:
5602 // defined when the initializer is a braced-init-list or when it is a
5630 // - If the initializer is a (non-parenthesized) braced-init-list, the
5642 // C++0x [dcl.init.ref]p1:
5649 // C++17 [dcl.init.ref]p5:
6112 // C++11 [dcl.init]p16, second bullet for class types, this initialization
6536 // C++17 [class.base.init]p8:
6539 // C++17 [class.base.init]p11:
7119 // C++17 [dcl.init.list]p6:
7148 assert(RD->isAggregate() && "aggregate init on non-aggregate");
7188 // The lifetime of an init-capture is that of the closure object constructed
8244 assert(Args.size() == 1 && "expected a single argument for list init");
8675 // create a temporary of the inner type (per [dcl.init.list]p3.6) and the
8690 "Inconsistent init list check result.");
8700 // When we want to diagnose only one element of a braced-init-list,
9130 // Run the init list checker again to emit diagnostics.
9170 OS << "parenthesized list init for reference";
9270 OS << "parenthesized list init for reference";
9519 // C++11 [dcl.init.list]p7: Check whether this is a narrowing conversion.
9740 // [dcl.init] and [over.match.ctor], [over.match.copy], or [over.match.list]