[cfe-dev] Stmt.getLocEnd()

Antoine Trouve trouve at isit.or.jp
Fri Feb 1 00:25:10 PST 2013


Hi everybody,

I am now using LibTooling with the RefactoringTool to add some comments in some C codes.

I am now trying to add comments after a given statement (the body of a for to say the truth);
in order to detect the location of the end of a statement I use "Stmt.getLocEnd()", but I seems that its output is often inaccurate.

Here are two examples, if I insert "/* HERE */" at the end location:

	for(i=0; i<N/2; i++) res +=mand(i,N/4/* HERE */);
	for(i=0; i<mand(N,N); i++) res /* HERE */++;

I would expect the following output:

	for(i=0; i<N/2; i++) res +=mand(i,N/4);/* HERE */
	for(i=0; i<mand(N,N); i++) res ++;/* HERE */

It looks like a bug. Am I right or did I miss something ?

I found a previous recent discussion about this matter (http://clang-developers.42468.n3.nabble.com/Statements-that-end-with-td4028311.html), but It looks like nothing has been done.

- Antoine







More information about the cfe-dev mailing list