https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96935
--- Comment #3 from Jan Smets <jan.smets at nokia dot com> --- A bisect resulted in this commit : commit 0d48e8779c6a9ac88f5efd1b4a2d40f43ef75faf Author: David Malcolm <dmalc...@redhat.com> Date: Fri Oct 5 19:02:17 2018 +0000 Support string locations for C++ in -Wformat (PR c++/56856) -Wformat in the C++ FE doesn't work as well as it could: (a) it doesn't report precise locations within the string literal, and (b) it doesn't underline arguments for those arguments !CAN_HAVE_LOCATION_P, despite having location wrapper nodes. Your suggestion doesn't trigger it for me. I'v built GCC with -g -O0 , but the standard provided backtrace didn't include function call arguments. A printf confirms your suspicion about start.column == 0 => start.column=0 literal_length=1