forked from OSchip/llvm-project
fix an absolutely inscrutible gcc 4.0 error:
llvm[0]: Compiling SemaInit.cpp for Debug build SemaInit.cpp:171: error: ‘InitListChecker’ has not been declared SemaInit.cpp:171: error: ISO C++ forbids declaration of ‘InitListChecker’ with no type SemaInit.cpp: In function ‘int InitListChecker(clang::Sema*, clang::InitListExpr*, clang::QualType&)’: SemaInit.cpp:172: error: ‘hadError’ was not declared in this scope SemaInit.cpp:173: error: ‘SemaRef’ was not declared in this scope SemaInit.cpp:177: error: ‘FullyStructuredList’ was not declared in this scope llvm-svn: 63270
This commit is contained in:
parent
c0474013cb
commit
d9ae05ba50
|
@ -49,6 +49,7 @@ using namespace clang;
|
|||
/// point. CheckDesignatedInitializer() recursively steps into the
|
||||
/// designated subobject and manages backing out the recursion to
|
||||
/// initialize the subobjects after the one designated.
|
||||
namespace clang {
|
||||
class InitListChecker {
|
||||
Sema *SemaRef;
|
||||
bool hadError;
|
||||
|
@ -115,6 +116,8 @@ public:
|
|||
// semantic analysis and code generation.
|
||||
InitListExpr *getFullyStructuredList() const { return FullyStructuredList; }
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
/// Recursively replaces NULL values within the given initializer list
|
||||
/// with expressions that perform value-initialization of the
|
||||
|
@ -161,11 +164,12 @@ static void fillInValueInitializations(ASTContext &Context, InitListExpr *ILE) {
|
|||
ILE->setInit(Init, new (Context) CXXZeroInitValueExpr(ElementType,
|
||||
SourceLocation(),
|
||||
SourceLocation()));
|
||||
else if (InitListExpr *InnerILE = dyn_cast<InitListExpr>(ILE->getInit(Init)))
|
||||
else if (InitListExpr *InnerILE =dyn_cast<InitListExpr>(ILE->getInit(Init)))
|
||||
fillInValueInitializations(Context, InnerILE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
InitListChecker::InitListChecker(Sema *S, InitListExpr *IL, QualType &T) {
|
||||
hadError = false;
|
||||
SemaRef = S;
|
||||
|
|
Loading…
Reference in New Issue