[cfe-dev] Invalid assert in lib/Sema/Lookup.h ?
Douglas Gregor
dgregor at apple.com
Mon Aug 9 15:43:09 PDT 2010
On Aug 9, 2010, at 12:53 PM, Eli Friedman wrote:
> On Mon, Aug 9, 2010 at 12:42 AM, Eli Friedman <eli.friedman at gmail.com> wrote:
>> On Mon, Aug 9, 2010 at 12:34 AM, Eli Friedman <eli.friedman at gmail.com> wrote:
>>> On Mon, Aug 9, 2010 at 12:17 AM, EI <geneing at gmail.com> wrote:
>>>> Hello,
>>>> What is the meaning of this assert statement in Lookup.h?
>>>> void setNotFoundInCurrentInstantiation() {
>>>> assert(ResultKind == NotFound && Decls.empty());
>>>> ResultKind = NotFoundInCurrentInstantiation;
>>>> }
>>>> I saw assert failing when compiling some code that includes Qt headers. I
>>>> think the code I was compiling was actually missing some class definitions,
>>>> so I was expecting to see an error - not a failing assert. Btw, in the
>>>> debugger I see that ResultKind == NotFoundInCurrentInstantiation when assert
>>>> statement is reached.
>>>
>>> It roughly means that the caller thinks nothing was found when
>>> something actually was found. It's hard to say more without more
>>> information; can you provide a preprocessed file which reproduces the
>>> issue, or at least a backtrace?
>>
>> Erm, wait, actually, what's most likely happening is that
>> LookupQualifiedName is getting called multiple times and failing...
>> random guess: does -fno-spell-checking help?
>
> Umm, actually, I just realized we already have a bug filed for this;
> see http://llvm.org/bugs/show_bug.cgi?id=7625 .
... which I've just fixed in Clang r110615. Please check whether this was the problem!
- Doug
More information about the cfe-dev
mailing list