[cfe-commits] r152279 - in /cfe/trunk: include/clang/Sema/Lookup.h lib/Sema/SemaLookup.cpp

Matthieu Monrocq matthieu.monrocq at gmail.com
Thu Mar 8 11:08:18 PST 2012


Le 8 mars 2012 02:43, Daniel Dunbar <daniel at zuster.org> a écrit :

> Author: ddunbar
> Date: Wed Mar  7 19:43:06 2012
> New Revision: 152279
>
> URL: http://llvm.org/viewvc/llvm-project?rev=152279&view=rev
> Log:
> Sema: Don't emit a gajillion calls to sanity() -- an empty function -- in
> NDEBUG
> builds. Sheesh.
>
> Modified:
>    cfe/trunk/include/clang/Sema/Lookup.h
>    cfe/trunk/lib/Sema/SemaLookup.cpp
>
> Modified: cfe/trunk/include/clang/Sema/Lookup.h
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/Lookup.h?rev=152279&r1=152278&r2=152279&view=diff
>
> ==============================================================================
> --- cfe/trunk/include/clang/Sema/Lookup.h (original)
> +++ cfe/trunk/include/clang/Sema/Lookup.h Wed Mar  7 19:43:06 2012
> @@ -600,7 +600,13 @@
>   void configure();
>
>   // Sanity checks.
> -  void sanity() const;
> +  void sanityImpl() const;
> +
> +  void sanity() const {
> +#ifndef NDEBUG
> +    sanityImpl();
> +#endif
> +  }
>
>   bool sanityCheckUnresolved() const {
>     for (iterator I = begin(), E = end(); I != E; ++I)
>
> Modified: cfe/trunk/lib/Sema/SemaLookup.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaLookup.cpp?rev=152279&r1=152278&r2=152279&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Sema/SemaLookup.cpp (original)
> +++ cfe/trunk/lib/Sema/SemaLookup.cpp Wed Mar  7 19:43:06 2012
> @@ -302,7 +302,9 @@
>   }
>  }
>
> -void LookupResult::sanity() const {
> +void LookupResult::sanityImpl() const {
> +  // Note that this function is never called by NDEBUG builds. See
> +  // LookupResult::sanity().
>   assert(ResultKind != NotFound || Decls.size() == 0);
>   assert(ResultKind != Found || Decls.size() == 1);
>   assert(ResultKind != FoundOverloaded || Decls.size() > 1 ||
>
>
> Since sanityImpl is only ever useful in NDEBUG builds, it could be useful
to #ifdef both its declaration and definition with NDEBUG, would not it ?

-- Matthieu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120308/cf9c202d/attachment.html>


More information about the cfe-commits mailing list