MTC marked an inline comment as done.
MTC added inline comments.
================
Comment at: lib/StaticAnalyzer/Core/PathDiagnostic.cpp:694
+ } else if (Optional<BlockEntrance> BE = P.getAs<BlockEntrance>()) {
+ CFGElement BlockFront = BE->getBlock()->front();
+ if (BlockFront.getKind() == CFGElement::Statement) {
----------------
dcoughlin wrote:
> MTC wrote:
> > szepet wrote:
> > > I think it would be more correct to use the location what is used in case
> > > of the BlockEdge. (So on the entranced block terminator condition.) The
> > > reason is because the BlockEntrance display message will be displayed
> > > before the message of the BlockEdge (since it is an "earlier" node in the
> > > ExplodedGraph). So it would result that if check these notes in a viewer
> > > then the earlier note would belong to the later location which could be
> > > confusing.
> > Yes, it would be better to use the location of the TerminatorCondition :D.
> Thanks for looking into fixing this.
>
> I don't think using the terminator condition of the entered block is the
> right thing to do. The terminator is at the *end* of a basic block and this
> program point represents the entrance to the block. I think it is better to
> use the location corresponding to the first element in in the entered block.
Thank you, dcoughlin!
I have updated the diff. The first element kind I can think of is only `Stmt`
and `NewAllocator`. I don't know if it's enough?
https://reviews.llvm.org/D37187
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits