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

Adrian Prantl aprantl at apple.com
Fri Mar 21 14:40:58 PDT 2014

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.

— adrian

More information about the cfe-commits mailing list