My legacy project code was used in both MPLAB/C30 and IAR workbench compilers. To make sure both IDE/compiler combinations worked properly with "packed" arrays in their respective sandboxes I used this check:
#define PACKED_C30 __attribute__((packed))
// Do NOT use __packed in structs that have pointers for IAR compilers.
#define PACKED_EWARM __packed
Is there a similar macro defined in XC16? My Google foo has not turned up such a thing. I can obviously re-arrange my test to get similar results, but if such a thing exists - I am not even sure whether the IDE or the compiler defined that macro...