From: Chris Lattner Date: Tue, 27 Nov 2007 21:21:35 +0000 (+0000) Subject: Set loc earlier in CheckSingleInitializer to avoid emitting a X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f471f2eb17ad9733b73785bf256639110f26d330;p=clang Set loc earlier in CheckSingleInitializer to avoid emitting a diagnostic without a location. This produces: simpleTest.c:2:18: error: initializer element is not constant int *myPointer = &(myArray[2]); ^~~~~~~~~~~~~ instead of: error: initializer element is not constant git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44375 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/Sema/SemaDecl.cpp b/Sema/SemaDecl.cpp index 8ecbd7cb52..5bd03d0128 100644 --- a/Sema/SemaDecl.cpp +++ b/Sema/SemaDecl.cpp @@ -359,7 +359,7 @@ Sema::DeclTy *Sema::ParsedFreeStandingDeclSpec(Scope *S, DeclSpec &DS) { bool Sema::CheckSingleInitializer(Expr *&Init, bool isStatic, QualType DeclType) { - SourceLocation loc; + SourceLocation loc = Init->getLocStart(); // FIXME: Remove the isReferenceType check and handle assignment // to a reference. @@ -370,7 +370,6 @@ bool Sema::CheckSingleInitializer(Expr *&Init, bool isStatic, } AssignmentCheckResult result; - loc = Init->getLocStart(); // Get the type before calling CheckSingleAssignmentConstraints(), since // it can promote the expression. QualType rhsType = Init->getType();