Lines Matching defs:Initializer
140 // Semantic checking for initializer lists.
143 /// @brief Semantic checking for initializer lists.
150 /// the initializer list one element at a time. The IList and Index
152 /// (syntactic) initializer list and the index into that initializer
153 /// list that represents the current initializer. Each routine is
158 /// initializer list and the index into that initializer list where we
161 /// structure, we will have constructed a full semantic initializer
164 /// C99 designators cause changes in the initializer list traversal,
270 // @brief Retrieves the fully-structured initializer list used for
302 // If an incomplete or empty initializer-list leaves a
336 // extend the initializer list to include the constructor
338 // through the initializer list.
348 /// Recursively replaces NULL values within the given initializer list
458 // extend the initializer list to include the constructor
460 // through the initializer list.
545 // Build a structured initializer list corresponding to this subobject.
567 // Update the structured sub-object initializer so that it's ending
568 // range corresponds with the end of the last initializer it used.
680 // Explicitly braced initializer for complex type can be real+imaginary
715 // [...] If the class is an aggregate (8.5.1), and the initializer
719 // we have an initializer list and a destination type that is not
788 // initializing the aggregate member with an initializer from
789 // an initializer-list. If the initializer can initialize a
815 // The initializer for a structure or union object that has
816 // automatic storage duration shall be either an initializer
845 // subaggregate, brace elision is assumed and the initializer is
875 // a complex number component-wise. When an explicit initializer list for
877 // it exepcts the initializer list to contain two elements convertible to
963 // The type was promoted, update initializer list.
1073 // The type was promoted, update initializer list.
1160 // initializer list. This is the only place where the structure
1161 // of the structured initializer list doesn't match exactly,
1208 // Handle this designated initializer. elementIndex will be
1225 // elements in the initializer.
1233 // hit it, stop consuming elements in the initializer list.
1246 // elements in the initializer.
1351 // worthwhile to skip over the rest of the initializer, though.
1366 // Handle this designated initializer. Field will be updated to
1557 /// @brief Check the well-formedness of a C99 designated initializer.
1559 /// Determines whether the designated initializer @p DIE, which
1560 /// resides at the given @p Index within the initializer list @p
1566 /// @param IList The initializer list in which this designated
1567 /// initializer occurs.
1569 /// @param DIE The designated initializer expression.
1584 /// @param Index Index into @p IList where the designated initializer
1587 /// @param StructuredList The initializer list expression that
1610 // initializer list that the child calls see, so that we don't try
1618 // Restore the designated initializer expression in the syntactic
1619 // form of the initializer list.
1631 "Need a non-designated initializer list to start from");
1633 // Determine the structural initializer list that corresponds to the
1640 assert(StructuredList && "Expected a structured initializer list");
1679 // IndirectFieldDecl that follow for the designated initializer.
1770 // the initializer list.
1792 // Make sure that our non-designated initializer list has space
1819 // The initializer is not an initializer list.
1830 // Check GNU flexible array initializer.
1982 // Make sure that our non-designated initializer list has space
2037 // Get the structured initializer list for a subobject of type
2057 initializer list that initializes the
2066 // designated initializer re-initializes the whole
2087 // Pre-allocate storage for the structured initializer list.
2106 // initializer with many empty entries at the end.
2123 // Link this new initializer list into the structured initializer
2135 /// Update the initializer at index @p StructuredIndex within the
2136 /// structured initializer list to the value @p expr.
2140 // No structured initializer list to update
2146 // This initializer overwrites a previous initializer. Warn.
2727 // - Otherwise, if the initializer list has no elements and T is a class
2868 "InitListSyntax must come with a single initializer list argument.");
2916 // - Initially, the candidate functions are the initializer-list
2918 // initializer list as a single argument.
2934 // - If no viable initializer-list constructor is found, overload resolution
2937 // elements of the initializer list.
2967 // initializer is ill-formed.
2985 Expr *Initializer,
2995 = S.ResolveAddressOfOverloadedFunction(Initializer,
3014 Expr *Initializer,
3045 // Reference initialization via an initializer list works thus:
3046 // If the initializer list consists of a single element that is
3049 // Otherwise, initialize a temporary with the initializer list and
3052 Expr *Initializer = InitList->getInit(0);
3053 QualType cv2T2 = Initializer->getType();
3058 if (ResolveOverloadedFunctionForReferenceBinding(S, Initializer, cv2T2, T2,
3062 SourceLocation DeclLoc = Initializer->getLocStart();
3069 TryReferenceInitializationCore(S, Entity, Kind, Initializer, cv1T1, T1,
3119 // A direct-initializer is not list-syntax, i.e. there's no special
3149 Expr *Initializer,
3155 QualType cv2T2 = Initializer->getType();
3161 assert(!S.CompareReferenceRelationship(Initializer->getLocStart(),
3207 Initializer, CandidateSet,
3211 Initializer, CandidateSet,
3252 ActingDC, Initializer,
3256 Initializer, DestType, CandidateSet);
3263 SourceLocation DeclLoc = Initializer->getLocStart();
3340 Expr *Initializer,
3346 QualType cv2T2 = Initializer->getType();
3350 // If the initializer is the address of an overloaded function, try
3353 if (ResolveOverloadedFunctionForReferenceBinding(S, Initializer, cv2T2, T2,
3358 TryReferenceInitializationCore(S, Entity, Kind, Initializer, cv1T1, T1,
3366 Expr *Initializer,
3373 SourceLocation DeclLoc = Initializer->getLocStart();
3374 // Compute some basic properties of the types and the initializer.
3380 Expr::Classification InitCategory = Initializer->Classify(S.Context);
3389 // - If the reference is an lvalue reference and the initializer
3420 (Initializer->getBitField() || Initializer->refersToVectorElement());
3436 Initializer,
3469 // - If the initializer expression
3494 CheckCXX98CompatAccessibleCopy(S, Entity, Initializer);
3518 Kind, Initializer,
3534 // from the initializer expression using the rules for a non-reference
3545 = S.TryImplicitConversion(Initializer, TempEntity.getType(),
3582 // reference, the initializer expression shall not be an lvalue.
3599 Expr *Initializer,
3699 Expr *Initializer,
3703 QualType SourceType = Initializer->getType();
3745 Initializer, CandidateSet,
3749 Initializer, CandidateSet,
3756 SourceLocation DeclLoc = Initializer->getLocStart();
3788 ActingDC, Initializer, DestType,
3792 Initializer, DestType, CandidateSet);
3947 Expr *Initializer) {
3949 QualType ArgType = Initializer->getType();
3970 if (ArrayDecay || Initializer->isGLValue()) {
3981 ResultType = Initializer->getType().getNonLValueExprType(S.Context);
4002 // type is the type of the initializer expression. The source type is not
4003 // defined when the initializer is a braced-init-list or when it is a
4029 Expr *Initializer = 0;
4031 Initializer = Args[0];
4032 if (!isa<InitListExpr>(Initializer))
4033 SourceType = Initializer->getType();
4036 // - If the initializer is a (non-parenthesized) braced-init-list, the
4039 if (InitListExpr *InitList = dyn_cast_or_null<InitListExpr>(Initializer)) {
4059 // - If the initializer is (), the object is value-initialized.
4074 // initializer is a string literal, see 8.5.2.
4078 if (Initializer && isa<VariableArrayType>(DestAT)) {
4083 if (Initializer && IsStringInit(Initializer, DestAT, Context)) {
4084 TryStringLiteralInitialization(S, Entity, Kind, Initializer, *this);
4090 initializer has no side effects.
4091 if (!S.getLangOpts().CPlusPlus && Initializer &&
4092 isa<CompoundLiteralExpr>(Initializer->IgnoreParens()) &&
4093 Initializer->getType()->isArrayType()) {
4095 = Context.getAsArrayType(Initializer->getType());
4098 else if (Initializer->HasSideEffects(S.Context))
4105 // class member from a parenthesized initializer list.
4108 Initializer && isa<InitListExpr>(Initializer)) {
4109 TryListInitialization(S, Entity, Kind, cast<InitListExpr>(Initializer),
4130 tryObjCWritebackConversion(S, *this, Entity, Initializer)) {
4161 TryUserDefinedConversion(S, Entity, Kind, Initializer, *this);
4174 TryUserDefinedConversion(S, Entity, Kind, Initializer, *this);
4180 // (possibly converted) value of the initializer expression. Standard
4182 // initializer expression to the cv-unqualified version of the
4186 = S.TryImplicitConversion(Initializer, Entity.getType(),
4217 if (Initializer->getType() == Context.OverloadTy &&
4218 !S.ResolveAddressOfOverloadedFunction(Initializer
4374 Expr *Initializer) {
4398 return Initializer->getLocStart();
4404 /// provided by the given initializer by calling the appropriate copy
4410 /// the type of the initializer expression or a superclass thereof.
4414 /// \param CurInit The initializer expression.
4420 /// \returns An expression that copies the initializer expression into
4765 // that has an initializer, then its type will be completed once
4766 // the initializer is instantiated.
4773 // compute the length of an initializer list without
4774 // performing full type-checking of the initializer list
4829 // For initialization steps that start with a single initializer,
4831 // initializer.
4882 // initializer to reflect that choice.
5146 // When an initializer list is passed for a parameter of type "reference
5181 // When an initializer list is passed for a parameter of type "reference
5771 OS << "array requires initializer list";
5775 OS << "array requires initializer list or string literal";
5783 OS << "non-constant array initializer";
5827 OS << "referencing binding to initializer list";
5831 OS << "initializer list for non-aggregate, non-scalar type";
5855 OS << "variable length array has an initializer";
5859 OS << "initializer expression isn't contextually valid";
5867 OS << "copy construction of initializer list element failed";
5952 OS << "unwrap reference initializer list";
5956 OS << "rewrap reference initializer list";
6000 OS << "std::initializer_list from initializer list";