Anyone who’s done much work with metaprogramming or heavy STL usage in C++ will be familiar with this:
While Clang’s output is often slightly less ugly than GCC, it’s still fairly cryptic.
To resolve this, I wrote a perl script which re-formats GCC output. Simply pipe your GCC output into the script, then optionally into
less -R to get nicer output:
There are two files required, the actual formatter
c++-color and a helper
cxx-type-formatter specifically for data-types:
Put c++-color in somewhere in your
$PATH and mark it executable, alter the
require line to point to where you saved
cxx-type-formatter then to use the formatter, pipe gcc/g++ into it:
# Example $ g++ -std=c++14 -Wall -g *.cpp -o my-app 2>&1 | c++-color | less -R
It is important to pipe gcc’s STDERR stream into STDOUT with the
2>&1, otherwise the formatter can’t operate on it.