Skip to content

Instantly share code, notes, and snippets.

@isnullxbh
Created January 8, 2020 04:39
Show Gist options
  • Select an option

  • Save isnullxbh/d2348d944464e3735219f2ff3b41f7f9 to your computer and use it in GitHub Desktop.

Select an option

Save isnullxbh/d2348d944464e3735219f2ff3b41f7f9 to your computer and use it in GitHub Desktop.
#define HM_CONCAT_(ARG0, ARG1) ARG0 ## ARG1
#define HM_CONCAT(ARG0, ARG1) HM_CONCAT_(ARG0, ARG1)
#define HM_STRINGIFY_(ARG) #ARG
#define HM_STRINGIFY(ARG) HM_STRINGIFY_(ARG)
#define HM_SEPARATE_WITH_SPACE(ARG0, ARG1) ARG0 ARG1
#define HM_COMPILER_SPECIFIC_PRAGMA_(ARG) _Pragma(HM_STRINGIFY(HM_SEPARATE_WITH_SPACE(HERMES_COMPILER, ARG)))
#define HM_COMPILER_SPECIFIC_PRAGMA(ARG) HM_COMPILER_SPECIFIC_PRAGMA_(ARG)
#define HM_DISABLE_WARNINGS_PUSH \
HM_COMPILER_SPECIFIC_PRAGMA(diagnostic push) \
HM_COMPILER_SPECIFIC_PRAGMA(diagnostic ignored "-Wall") \
HM_COMPILER_SPECIFIC_PRAGMA(diagnostic ignored "-Wextra") \
HM_COMPILER_SPECIFIC_PRAGMA(diagnostic ignored "-Weffc++")
#define HM_DISABLE_WARNINGS_POP \
HM_COMPILER_SPECIFIC_PRAGMA(diagnostic pop)
#define hm_pragma(ARG) HM_COMPILER_SPECIFIC_PRAGMA(ARG)
#define hm_disable_warnings_push HM_DISABLE_WARNINGS_PUSH
#define hm_disable_warnings_pop HM_DISABLE_WARNINGS_POP
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment