aaron.ballman added a comment.

In http://reviews.llvm.org/D20428#452680, @hintonda wrote:

> The comment says to rebuild TypeSourceInfo, but isn't that what this does?
>
>   if (TSInfo->getType() != FD->getType())
>     Updated = getFunctionTypeWithExceptionSpec(*this, TSInfo->getType(), ESI);
>   TSInfo->overrideType(Updated);
>   


That is only overriding the `QualType` stored in the `TypeSourceInfo`, but it 
does not rebuild the type source information as a whole (which includes the 
`FunctionTypeLoc`). The problem is that we need a new TSI that has sufficient 
space to store the exception specification source range in the case the 
existing source info does not have it. What's more, this function doesn't 
currently have that information (I believe it needs to be passed in as a 
parameter) to store in the adjusted type info.


http://reviews.llvm.org/D20428



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to