Single-line if statements cause a false positive when the last token in the conditional statement is a char constant:
if (condition) return 'a';
For some reason findEndLocation seems to skips too many (vertical) whitespaces in this case. The same problem already occured with string literals (https://reviews.llvm.org/D25558), and was fixed by adding a special check for this very case. I just extended the condition to also include char constants. No idea what really causes the issue though.