[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:21:16 PST 2012
Le 8 mars 2012 20:14, Daniel Dunbar <daniel at zuster.org> a écrit :
> On Thu, Mar 8, 2012 at 11:08 AM, Matthieu Monrocq
> <matthieu.monrocq at gmail.com> wrote:
> >
> >
> > 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 ?
>
> I don't like changing the external API based on NDEBUG or not.
>
> - Daniel
>
> > -- Matthieu
> >
>
Isn't it a private function though ?
Anyway, not that *I* mind :)
-- Matthieu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120308/60d5bba4/attachment.html>
More information about the cfe-commits
mailing list