ARMCC: Fix identification of ARM compiler when it defines GNU macros
According to ARMCC 5.06 documentation:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0472m/chr1359125007083.html
the compiler may define `__GNUC__` in addition to `__ARMCC_VERSION`.
Re-order our preprocessor checks to consider the ARM-specific macro
first so that the ARM compiler is not mistaken for a GNU compiler.
Fixes: #19065