/// type checking declaration initializers (C99 6.7.8)
- /// FIXME: The VarDecl parameter should not have a default value,
- /// and all call sites should be audited.
bool CheckInitializerTypes(Expr *&simpleInit_or_initList, QualType &declType,
SourceLocation InitLoc,DeclarationName InitEntity,
- bool DirectInit, VarDecl *VD = 0);
+ bool DirectInit);
bool CheckInitList(InitListExpr *&InitList, QualType &DeclType);
bool CheckForConstantInitializer(Expr *e, QualType t);
VDecl->setInvalidDecl();
} else if (!VDecl->isInvalidDecl()) {
if (CheckInitializerTypes(Init, DclT, VDecl->getLocation(),
- VDecl->getDeclName(), DirectInit, VDecl))
+ VDecl->getDeclName(), DirectInit))
VDecl->setInvalidDecl();
// C++ 3.6.2p2, allow dynamic initialization of static initializers.
bool Sema::CheckInitializerTypes(Expr *&Init, QualType &DeclType,
SourceLocation InitLoc,
- DeclarationName InitEntity,
- bool DirectInit, VarDecl *VD) {
+ DeclarationName InitEntity, bool DirectInit) {
if (DeclType->isDependentType() ||
Init->isTypeDependent() || Init->isValueDependent())
return false;
if (!Constructor)
return true;
- // FIXME: What do do if VD is null here?
- if (VD)
- Init = CXXConstructExpr::Create(Context, VD, DeclType, Constructor,
- false, &Init, 1);
+ Init = CXXConstructExpr::Create(Context, 0, DeclType, Constructor,
+ false, &Init, 1);
return false;
}