Home | History | Annotate | Download | only in Sema

Lines Matching refs:Ctor

1123       assert(RD->getNumVBases() == 0 && "constexpr ctor with virtual bases");
3165 CXXConstructorDecl *Ctor;
3171 BaseAndFieldInfo(Sema &S, CXXConstructorDecl *Ctor, bool ErrorsInInits)
3172 : S(S), Ctor(Ctor), AnyErrorsInInits(ErrorsInInits) {
3173 bool Generated = Ctor->isImplicit() || Ctor->isDefaulted();
3174 if (Generated && Ctor->isCopyConstructor())
3176 else if (Generated && Ctor->isMoveConstructor())
3178 else if (Ctor->getInheritedConstructor())
3254 Info.Ctor->getLocation(), Field);
3286 if (BuildImplicitMemberInitializer(Info.S, Info.Ctor, Info.IIK, Field,
4324 bool Ctor = true;
4345 Ctor = false;
4360 if (Ctor && ClassDecl->isUnion())
4364 if (Ctor && ClassDecl->getNumVBases())
4369 if (!Ctor && !ClassDecl->isLiteral())
4715 // cv-qualifiers on class members don't affect default ctor / dtor calls.
4819 // C++11 [class.ctor]p5:
4838 // C++11 [class.ctor]p5, C++11 [class.copy]p11:
4874 // C++11 [class.ctor]p5: any non-variant non-static data member of
4961 /// C++11 [class.ctor] p5:
4979 /// deleted, as specified in C++11 [class.ctor]p5, C++11 [class.copy]p11,
5122 // C++11 [class.ctor]p5:
5327 // C++11 [class.ctor]p5:
5371 /// as specified in C++11 [class.ctor]p5, C++11 [class.copy]p12,
5445 // C++11 [class.ctor]p5, C++11 [class.dtor]p5:
5462 // C++11 [class.ctor]p5, C++11 [class.dtor]p5:
5486 // C++11 [class.ctor]p5, C++11 [class.copy]p12, C++11 [class.copy]p25:
5847 // C++ [class.ctor]p3:
5882 // C++0x [class.ctor]p4:
6578 bool Sema::isInitListConstructor(const CXXConstructorDecl* Ctor) {
6584 if (Ctor->getNumParams() < 1 ||
6585 (Ctor->getNumParams() > 1 && !Ctor->getParamDecl(1)->hasDefaultArg()))
6588 QualType ArgType = Ctor->getParamDecl(0)->getType();
7877 // C++ [class.ctor]p5:
7937 "DefineImplicitDefaultConstructor - call it for implicit default ctor");
8012 InheritingConstructor &getEntry(Sema &S, const CXXConstructorDecl *Ctor) {
8013 if (FunctionTemplateDecl *FTD = Ctor->getDescribedFunctionTemplate()) {
8028 InheritingConstructor &getEntry(const CXXConstructorDecl *Ctor,
8031 .getEntry(SemaRef, Ctor);
8052 void noteDeclaredInDerived(const CXXConstructorDecl *Ctor) {
8053 getEntry(Ctor, Ctor->getType()).DeclaredInDerived = true;
8057 void inherit(const CXXConstructorDecl *Ctor) {
8059 Ctor->getType()->castAs<FunctionProtoType>();
8063 SourceLocation UsingLoc = getUsingLoc(Ctor->getParent());
8068 SemaRef.Diag(Ctor->getLocation(),
8082 unsigned MinParams = minParamsToInherit(Ctor);
8083 unsigned Params = Ctor->getNumParams();
8086 declareCtor(UsingLoc, Ctor,
8088 Ctor->getResultType(), ArgTypes.slice(0, Params), EPI));
8090 Ctor->getParamDecl(--Params)->hasDefaultArg());
8106 unsigned minParamsToInherit(const CXXConstructorDecl *Ctor) {
8110 if (Ctor->getDescribedFunctionTemplate())
8117 if (Ctor->getNumParams() == 0)
8119 if (Ctor->isCopyOrMoveConstructor())
8124 const ParmVarDecl *PD = Ctor->getParamDecl(0);
9667 assert(T->getNumArgs() >= 1 && "not a copy ctor");
9794 "DefineImplicitCopyConstructor - call it for implicit copy ctor");
9990 "DefineImplicitMoveConstructor - call it for implicit move ctor");
12107 void DelegatingCycleHelper(CXXConstructorDecl* Ctor,
12112 if (Ctor->isInvalidDecl())
12115 CXXConstructorDecl *Target = Ctor->getTargetConstructor();
12126 CXXConstructorDecl *Canonical = Ctor->getCanonicalDecl(),
12143 S.Diag((*Ctor->init_begin())->getSourceLocation(),
12145 << Ctor;
12155 assert(FNTarget && "Ctor cycle through bodiless function");