Patch LGTM -- committed in r188934 Thanks!
~Aaron On Wed, Aug 21, 2013 at 5:38 PM, Eli Friedman <[email protected]> wrote: > LGTM. > > -Eli > > > On Wed, Aug 21, 2013 at 2:31 PM, Christian Wailes <[email protected]> > wrote: >> >> Hi dblaikie, delesley, aaron.ballman, >> >> Several asserts were unnecessarily testing the validity of attributes. >> This was already assured at an earlier state of the attribute processing >> pipeline. This patch removes them from several functions. >> >> http://llvm-reviews.chandlerc.com/D1466 >> >> Files: >> lib/Sema/SemaDeclAttr.cpp >> >> Index: lib/Sema/SemaDeclAttr.cpp >> =================================================================== >> --- lib/Sema/SemaDeclAttr.cpp >> +++ lib/Sema/SemaDeclAttr.cpp >> @@ -497,8 +497,6 @@ >> >> static bool checkGuardedVarAttrCommon(Sema &S, Decl *D, >> const AttributeList &Attr) { >> - assert(!Attr.isInvalid()); >> - >> if (!checkAttributeNumArgs(S, Attr, 0)) >> return false; >> >> @@ -537,8 +535,6 @@ >> static bool checkGuardedByAttrCommon(Sema &S, Decl *D, >> const AttributeList &Attr, >> Expr* &Arg) { >> - assert(!Attr.isInvalid()); >> - >> if (!checkAttributeNumArgs(S, Attr, 1)) >> return false; >> >> @@ -584,8 +580,6 @@ >> >> static bool checkLockableAttrCommon(Sema &S, Decl *D, >> const AttributeList &Attr) { >> - assert(!Attr.isInvalid()); >> - >> if (!checkAttributeNumArgs(S, Attr, 0)) >> return false; >> >> @@ -618,8 +612,6 @@ >> >> static void handleNoThreadSafetyAnalysis(Sema &S, Decl *D, >> const AttributeList &Attr) { >> - assert(!Attr.isInvalid()); >> - >> if (!checkAttributeNumArgs(S, Attr, 0)) >> return; >> >> @@ -635,8 +627,6 @@ >> >> static void handleNoSanitizeAddressAttr(Sema &S, Decl *D, >> const AttributeList &Attr) { >> - assert(!Attr.isInvalid()); >> - >> if (!checkAttributeNumArgs(S, Attr, 0)) >> return; >> >> @@ -653,8 +643,6 @@ >> >> static void handleNoSanitizeMemory(Sema &S, Decl *D, >> const AttributeList &Attr) { >> - assert(!Attr.isInvalid()); >> - >> if (!checkAttributeNumArgs(S, Attr, 0)) >> return; >> >> @@ -670,8 +658,6 @@ >> >> static void handleNoSanitizeThread(Sema &S, Decl *D, >> const AttributeList &Attr) { >> - assert(!Attr.isInvalid()); >> - >> if (!checkAttributeNumArgs(S, Attr, 0)) >> return; >> >> @@ -688,8 +674,6 @@ >> static bool checkAcquireOrderAttrCommon(Sema &S, Decl *D, >> const AttributeList &Attr, >> SmallVectorImpl<Expr *> &Args) { >> - assert(!Attr.isInvalid()); >> - >> if (!checkAttributeAtLeastNumArgs(S, Attr, 1)) >> return false; >> >> @@ -749,8 +733,6 @@ >> static bool checkLockFunAttrCommon(Sema &S, Decl *D, >> const AttributeList &Attr, >> SmallVectorImpl<Expr *> &Args) { >> - assert(!Attr.isInvalid()); >> - >> // zero or more arguments ok >> >> // check that the attribute is applied to a function >> @@ -824,8 +806,6 @@ >> static bool checkTryLockFunAttrCommon(Sema &S, Decl *D, >> const AttributeList &Attr, >> SmallVectorImpl<Expr *> &Args) { >> - assert(!Attr.isInvalid()); >> - >> if (!checkAttributeAtLeastNumArgs(S, Attr, 1)) >> return false; >> >> @@ -878,8 +858,6 @@ >> static bool checkLocksRequiredCommon(Sema &S, Decl *D, >> const AttributeList &Attr, >> SmallVectorImpl<Expr *> &Args) { >> - assert(!Attr.isInvalid()); >> - >> if (!checkAttributeAtLeastNumArgs(S, Attr, 1)) >> return false; >> >> @@ -925,8 +903,6 @@ >> >> static void handleUnlockFunAttr(Sema &S, Decl *D, >> const AttributeList &Attr) { >> - assert(!Attr.isInvalid()); >> - >> // zero or more arguments ok >> >> if (!isa<FunctionDecl>(D) && !isa<FunctionTemplateDecl>(D)) { >> @@ -948,8 +924,6 @@ >> >> static void handleLockReturnedAttr(Sema &S, Decl *D, >> const AttributeList &Attr) { >> - assert(!Attr.isInvalid()); >> - >> if (!checkAttributeNumArgs(S, Attr, 1)) >> return; >> >> @@ -973,8 +947,6 @@ >> >> static void handleLocksExcludedAttr(Sema &S, Decl *D, >> const AttributeList &Attr) { >> - assert(!Attr.isInvalid()); >> - >> if (!checkAttributeAtLeastNumArgs(S, Attr, 1)) >> return; >> >> @@ -999,7 +971,6 @@ >> >> static void handleConsumesAttr(Sema &S, Decl *D, >> const AttributeList &Attr) { >> - assert(!Attr.isInvalid()); >> if (!checkAttributeNumArgs(S, Attr, 0)) return; >> >> if (!(isa<CXXMethodDecl>(D) || isa<CXXConstructorDecl>(D))) { >> @@ -1015,7 +986,6 @@ >> >> static void handleCallableWhenUnconsumedAttr(Sema &S, Decl *D, >> const AttributeList &Attr) { >> - assert(!Attr.isInvalid()); >> if (!checkAttributeNumArgs(S, Attr, 0)) return; >> >> if (!isa<CXXMethodDecl>(D)) { >> @@ -1031,7 +1001,6 @@ >> >> static void handleTestsConsumedAttr(Sema &S, Decl *D, >> const AttributeList &Attr) { >> - assert(!Attr.isInvalid()); >> if (!checkAttributeNumArgs(S, Attr, 0)) return; >> >> if (!isa<CXXMethodDecl>(D)) { >> @@ -1047,7 +1016,6 @@ >> >> static void handleTestsUnconsumedAttr(Sema &S, Decl *D, >> const AttributeList &Attr) { >> - assert(!Attr.isInvalid()); >> if (!checkAttributeNumArgs(S, Attr, 0)) return; >> >> if (!isa<CXXMethodDecl>(D)) { >> @@ -1714,7 +1682,6 @@ >> } >> >> static void handleNoCommonAttr(Sema &S, Decl *D, const AttributeList >> &Attr) { >> - assert(!Attr.isInvalid()); >> if (isa<VarDecl>(D)) >> D->addAttr(::new (S.Context) >> NoCommonAttr(Attr.getRange(), S.Context, >> @@ -1725,8 +1692,6 @@ >> } >> >> static void handleCommonAttr(Sema &S, Decl *D, const AttributeList &Attr) >> { >> - assert(!Attr.isInvalid()); >> - >> if (S.LangOpts.CPlusPlus) { >> S.Diag(Attr.getLoc(), diag::err_common_not_supported_cplusplus); >> return; >> @@ -4020,13 +3985,10 @@ >> } >> >> static void handleOpenCLKernelAttr(Sema &S, Decl *D, const AttributeList >> &Attr){ >> - assert(!Attr.isInvalid()); >> D->addAttr(::new (S.Context) OpenCLKernelAttr(Attr.getRange(), >> S.Context)); >> } >> >> static void handleOpenCLImageAccessAttr(Sema &S, Decl *D, const >> AttributeList &Attr){ >> - assert(!Attr.isInvalid()); >> - >> Expr *E = Attr.getArg(0); >> llvm::APSInt ArgNum(32); >> if (E->isTypeDependent() || E->isValueDependent() || >> >> _______________________________________________ >> 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
