Recognizing clang, gcc, and tcc by implementation-defined macros
<p>I use <code>clang</code>, <code>gcc</code>, and <code>tcc</code>, and I'd like to be able to differentiate between the three in a common header.</p>

<p>Judging by their macro dumps, I expect that the presence of the 
<code>__clang__</code> macro will uniquely identify clang.</p>

<p>I'm unable to get a macro dump with <code>tcc</code> ( <code>$compiler -x c -E -dM /dev/null</code> doesn't work in its case ).</p>

<p>What is the macro(s) (if any) that will uniquely identify gcc (and possibly tcc)? </p>