Identifying Due in Libraries

pYro_65:
Hi all, I'm updating my AtomicBlock library for the Due, the update contains versions for 'ARM' and the 'Cortex M3' variant. However I can't find any defines to conditionally decide which to use.

Is there a macro like _TARGET_ARCH_xx or similar?

Looking at the current GCC sources, there doesn't appear to any single macro that completely identifies each chip, rather there are a bunch of feature macros defined (i.e. thumb/thumb2 instruction sets, whether it has DSP multiply, etc.). I believe the Arduino IDE defines things like MK20DX128 and SAM3X8E.