Created
August 3, 2023 14:19
-
-
Save Eczbek/b86c636769ad8845d2ba7062cbd507ad to your computer and use it in GitHub Desktop.
pragma message test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// -ftrack-macro-expansion=0 | |
#define STRINGIFY_PRIMITIVE(...) #__VA_ARGS__ | |
#define STRINGIFY(...) STRINGIFY_PRIMITIVE(__VA_ARGS__) | |
#define ERROR(x) _Pragma(STRINGIFY(message("\n\r\x1B[38;2;255;0;0m[ERROR] in file \x1B[38;2;255;127;127m'" __FILE__ "'\x1B[38;2;255;0;0m at line \x1B[38;2;255;127;127m" STRINGIFY(__LINE__) "\x1B[38;2;255;0;0m: \x1B[38;2;255;191;191m\"" STRINGIFY(x) "\"\x1B[0m\n\r"))) | |
#define WARNING(x) _Pragma(STRINGIFY(message("\n\r\x1B[38;2;255;255;0m[WARNING] in file \x1B[38;2;255;255;127m'" __FILE__ "'\x1B[38;2;255;255;0m at line \x1B[38;2;255;255;127m" STRINGIFY(__LINE__) "\x1B[38;2;255;255;0m: \x1B[38;2;255;255;191m\"" STRINGIFY(x) "\"\x1B[0m\n\r"))) | |
#define LOG(x) _Pragma(STRINGIFY(message("\n\r\x1B[38;2;0;255;0m[LOG] in file \x1B[38;2;127;255;127m'" __FILE__ "'\x1B[38;2;0;255;0m at line \x1B[38;2;127;255;127m" STRINGIFY(__LINE__) "\x1B[38;2;0;255;0m: \x1B[38;2;191;255;191m\"" STRINGIFY(x) "\"\x1B[0m\n\r"))) | |
#define NOTE(x) _Pragma(STRINGIFY(message("\n\r\x1B[38;2;0;0;255m[NOTE] in file \x1B[38;2;127;127;255m'" __FILE__ "'\x1B[38;2;0;0;255m at line \x1B[38;2;127;127;255m" STRINGIFY(__LINE__) "\x1B[38;2;0;0;255m: \x1B[38;2;191;191;255m\"" STRINGIFY(x) "\"\x1B[0m\n\r"))) | |
#define MESSAGE hello, world! | |
int main() { | |
ERROR(MESSAGE) | |
WARNING(MESSAGE) | |
LOG(MESSAGE) | |
NOTE(MESSAGE) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment