r196657 - Eliminate the last trivial NDEBUG uses in clang headers
Alp Toker
alp at nuanti.com
Sat Dec 7 05:51:35 PST 2013
Author: alp
Date: Sat Dec 7 07:51:35 2013
New Revision: 196657
URL: http://llvm.org/viewvc/llvm-project?rev=196657&view=rev
Log:
Eliminate the last trivial NDEBUG uses in clang headers
assert(sanity()) reads so much better than preprocessor conditional blocks.
Modified:
cfe/trunk/include/clang/AST/DeclBase.h
cfe/trunk/include/clang/AST/Expr.h
cfe/trunk/include/clang/Sema/Lookup.h
cfe/trunk/lib/AST/DeclBase.cpp
cfe/trunk/lib/AST/Expr.cpp
cfe/trunk/lib/Sema/SemaLookup.cpp
Modified: cfe/trunk/include/clang/AST/DeclBase.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclBase.h?rev=196657&r1=196656&r2=196657&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/DeclBase.h (original)
+++ cfe/trunk/include/clang/AST/DeclBase.h Sat Dec 7 07:51:35 2013
@@ -319,7 +319,7 @@ protected:
DeclContext *Parent, std::size_t Extra = 0);
private:
- void CheckAccessDeclContext() const;
+ bool AccessDeclContextSanity() const;
protected:
@@ -413,15 +413,11 @@ public:
void setAccess(AccessSpecifier AS) {
Access = AS;
-#ifndef NDEBUG
- CheckAccessDeclContext();
-#endif
+ assert(AccessDeclContextSanity());
}
AccessSpecifier getAccess() const {
-#ifndef NDEBUG
- CheckAccessDeclContext();
-#endif
+ assert(AccessDeclContextSanity());
return AccessSpecifier(Access);
}
Modified: cfe/trunk/include/clang/AST/Expr.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Expr.h?rev=196657&r1=196656&r2=196657&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/Expr.h (original)
+++ cfe/trunk/include/clang/AST/Expr.h Sat Dec 7 07:51:35 2013
@@ -2633,7 +2633,7 @@ public:
private:
Stmt *Op;
- void CheckCastConsistency() const;
+ bool CastConsistency() const;
const CXXBaseSpecifier * const *path_buffer() const {
return const_cast<CastExpr*>(this)->path_buffer();
@@ -2664,9 +2664,7 @@ protected:
assert(kind != CK_Invalid && "creating cast with invalid cast kind");
CastExprBits.Kind = kind;
setBasePathSize(BasePathSize);
-#ifndef NDEBUG
- CheckCastConsistency();
-#endif
+ assert(CastConsistency());
}
/// \brief Construct an empty cast.
Modified: cfe/trunk/include/clang/Sema/Lookup.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/Lookup.h?rev=196657&r1=196656&r2=196657&view=diff
==============================================================================
--- cfe/trunk/include/clang/Sema/Lookup.h (original)
+++ cfe/trunk/include/clang/Sema/Lookup.h Sat Dec 7 07:51:35 2013
@@ -259,7 +259,7 @@ public:
}
LookupResultKind getResultKind() const {
- sanity();
+ assert(sanity());
return ResultKind;
}
@@ -637,13 +637,7 @@ private:
void configure();
// Sanity checks.
- void sanityImpl() const;
-
- void sanity() const {
-#ifndef NDEBUG
- sanityImpl();
-#endif
- }
+ bool sanity() const;
bool sanityCheckUnresolved() const {
for (iterator I = begin(), E = end(); I != E; ++I)
Modified: cfe/trunk/lib/AST/DeclBase.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/DeclBase.cpp?rev=196657&r1=196656&r2=196657&view=diff
==============================================================================
--- cfe/trunk/lib/AST/DeclBase.cpp (original)
+++ cfe/trunk/lib/AST/DeclBase.cpp Sat Dec 7 07:51:35 2013
@@ -667,7 +667,7 @@ SourceLocation Decl::getBodyRBrace() con
return SourceLocation();
}
-void Decl::CheckAccessDeclContext() const {
+bool Decl::AccessDeclContextSanity() const {
#ifndef NDEBUG
// Suppress this check if any of the following hold:
// 1. this is the translation unit (and thus has no parent)
@@ -689,11 +689,12 @@ void Decl::CheckAccessDeclContext() cons
// AS_none as access specifier.
isa<CXXRecordDecl>(this) ||
isa<ClassScopeFunctionSpecializationDecl>(this))
- return;
+ return true;
assert(Access != AS_none &&
"Access specifier is AS_none inside a record decl");
#endif
+ return true;
}
static Decl::Kind getKind(const Decl *D) { return D->getKind(); }
Modified: cfe/trunk/lib/AST/Expr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/Expr.cpp?rev=196657&r1=196656&r2=196657&view=diff
==============================================================================
--- cfe/trunk/lib/AST/Expr.cpp (original)
+++ cfe/trunk/lib/AST/Expr.cpp Sat Dec 7 07:51:35 2013
@@ -1421,7 +1421,7 @@ SourceLocation MemberExpr::getLocEnd() c
return EndLoc;
}
-void CastExpr::CheckCastConsistency() const {
+bool CastExpr::CastConsistency() const {
switch (getCastKind()) {
case CK_DerivedToBase:
case CK_UncheckedDerivedToBase:
@@ -1524,6 +1524,7 @@ void CastExpr::CheckCastConsistency() co
assert(path_empty() && "Cast kind should not have a base path!");
break;
}
+ return true;
}
const char *CastExpr::getCastKindName() const {
Modified: cfe/trunk/lib/Sema/SemaLookup.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaLookup.cpp?rev=196657&r1=196656&r2=196657&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaLookup.cpp (original)
+++ cfe/trunk/lib/Sema/SemaLookup.cpp Sat Dec 7 07:51:35 2013
@@ -315,7 +315,7 @@ void LookupResult::configure() {
}
}
-void LookupResult::sanityImpl() const {
+bool LookupResult::sanity() const {
// Note that this function is never called by NDEBUG builds. See
// LookupResult::sanity().
assert(ResultKind != NotFound || Decls.size() == 0);
@@ -330,6 +330,7 @@ void LookupResult::sanityImpl() const {
assert((Paths != NULL) == (ResultKind == Ambiguous &&
(Ambiguity == AmbiguousBaseSubobjectTypes ||
Ambiguity == AmbiguousBaseSubobjects)));
+ return true;
}
// Necessary because CXXBasePaths is not complete in Sema.h
More information about the cfe-commits
mailing list