fix clang warnings:
- pragma pop_macro could not pop <...> no matching push_macro
- <...> defined as a struct here but previously declared as a class