/** * @brief Helper for useful compiler features. */ #ifndef STA_LANG_HPP #define STA_LANG_HPP #ifndef STA_ASM # define STA_ASM __asm #endif // STA_ASM #ifndef STA_DEPRECATED # define STA_DEPRECATED __attribute__((deprecated)) #endif // STA_DEPRECATED #ifndef STA_WEAK # define STA_WEAK __attribute__((weak)) #endif // STA_WEAK #ifndef STA_PACKED # define STA_PACKED __attribute__((packed)) #endif // STA_PACKED #ifndef STA_PACKED_STRUCT # define STA_PACKED_STRUCT struct STA_PACKED #endif // STA_PACKED_STRUCT #ifndef STA_PACKED_UNION # define STA_PACKED_UNION union STA_PACKED #endif // STA_PACKED_UNION #ifndef STA_BKPT # define STA_BKPT(value) STA_ASM volatile ("bkpt "#value) #endif // STA_BKPT #endif // STA_LANG_HPP