On 19.05.2012, at 18:52, Fariborz Jahanian wrote: > > On May 19, 2012, at 9:34 AM, Benjamin Kramer wrote: > >> Author: d0k >> Date: Sat May 19 11:34:46 2012 >> New Revision: 157117 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=157117&view=rev >> Log: >> Apparently empty names are allowed here. > > Please provide a test case if this intends to fix a bug (rather than doing a > refactoring).
This commit fixed a refactoring mistake of mine that basically broke half of the regression tests. It's is what you get for doing minor cleanups just before committing and forgetting to run make test :( - Ben > > - Fariborz > >> >> Modified: >> cfe/trunk/lib/Sema/SemaDeclCXX.cpp >> cfe/trunk/lib/Sema/SemaExprObjC.cpp >> >> Modified: cfe/trunk/lib/Sema/SemaDeclCXX.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclCXX.cpp?rev=157117&r1=157116&r2=157117&view=diff >> ============================================================================== >> --- cfe/trunk/lib/Sema/SemaDeclCXX.cpp (original) >> +++ cfe/trunk/lib/Sema/SemaDeclCXX.cpp Sat May 19 11:34:46 2012 >> @@ -1504,15 +1504,16 @@ >> Decl *Member; >> if (isInstField) { >> CXXScopeSpec &SS = D.getCXXScopeSpec(); >> - IdentifierInfo *II = Name.getAsIdentifierInfo(); >> >> // Data members must have identifiers for names. >> - if (!II) { >> + if (!Name.isIdentifier()) { >> Diag(Loc, diag::err_bad_variable_name) >> << Name; >> return 0; >> } >> >> + IdentifierInfo *II = Name.getAsIdentifierInfo(); >> + >> // Member field could not be with "template" keyword. >> // So TemplateParameterLists should be empty in this case. >> if (TemplateParameterLists.size()) { >> >> Modified: cfe/trunk/lib/Sema/SemaExprObjC.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExprObjC.cpp?rev=157117&r1=157116&r2=157117&view=diff >> ============================================================================== >> --- cfe/trunk/lib/Sema/SemaExprObjC.cpp (original) >> +++ cfe/trunk/lib/Sema/SemaExprObjC.cpp Sat May 19 11:34:46 2012 >> @@ -1399,12 +1399,13 @@ >> const ObjCInterfaceType *IFaceT = OPT->getInterfaceType(); >> ObjCInterfaceDecl *IFace = IFaceT->getDecl(); >> >> - IdentifierInfo *Member = MemberName.getAsIdentifierInfo(); >> - if (!Member) { >> + if (!MemberName.isIdentifier()) { >> Diag(MemberLoc, diag::err_invalid_property_name) >> << MemberName << QualType(OPT, 0); >> return ExprError(); >> } >> + >> + IdentifierInfo *Member = MemberName.getAsIdentifierInfo(); >> >> SourceRange BaseRange = Super? SourceRange(SuperLoc) >> : BaseExpr->getSourceRange(); >> >> >> _______________________________________________ >> cfe-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
