r204517 - CGDebugInfo: At the end of EmitFunctionStart, Initialize PrevLoc to the

Eric Christopher echristo at gmail.com
Fri Mar 21 14:46:33 PDT 2014

On Fri, Mar 21, 2014 at 2:40 PM, Adrian Prantl <aprantl at apple.com> wrote:
> On Mar 21, 2014, at 2:21 PM, Eric Christopher <echristo at gmail.com> wrote:
>>> -  // Push function on region stack.
>>> +  // Push the function onto the lexical block stack.
>>>   llvm::MDNode *SPN = SP;
>>>   LexicalBlockStack.push_back(SPN);
>>> +  // Initialize PrevLoc to the location of the function header.
>>> +  PrevLoc = Loc;
>>> +
>> No guarantees that this is a "header" in any way :) We're also not
>> initializing it.
> Bad wording here. I meant this to mean the header of the function as opposed to its body. No relation to header files at all :-)
>> Also, are you sure this is the right fix? We seem to be pretty much
>> immediately setting PrevLoc to Loc any time we see a function. Are we
>> missing something somewhere else?
> Not exactly. We're invoking EmitLocation pretty soon after, but without the above change, it will early-exit before having a chance to modify PrevLoc. And this is precisely what this patch is fixing.

How will it early exit?


> -- adrian

More information about the cfe-commits mailing list