compiler.h 897 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef COMPILER_H
  2. #define COMPILER_H
  3. #include "git-compat-util.h"
  4. #include "strbuf.h"
  5. #ifdef __GLIBC__
  6. #include <gnu/libc-version.h>
  7. #endif
  8. static inline void get_compiler_info(struct strbuf *info)
  9. {
  10. int len = info->len;
  11. #ifdef __clang__
  12. strbuf_addf(info, "clang: %s\n", __clang_version__);
  13. #elif defined(__GNUC__)
  14. strbuf_addf(info, "gnuc: %d.%d\n", __GNUC__, __GNUC_MINOR__);
  15. #endif
  16. #ifdef _MSC_VER
  17. strbuf_addf(info, "MSVC version: %02d.%02d.%05d\n",
  18. _MSC_VER / 100, _MSC_VER % 100, _MSC_FULL_VER % 100000);
  19. #endif
  20. if (len == info->len)
  21. strbuf_addstr(info, _("no compiler information available\n"));
  22. }
  23. static inline void get_libc_info(struct strbuf *info)
  24. {
  25. int len = info->len;
  26. #ifdef __GLIBC__
  27. strbuf_addf(info, "glibc: %s\n", gnu_get_libc_version());
  28. #endif
  29. if (len == info->len)
  30. strbuf_addstr(info, _("no libc information available\n"));
  31. }
  32. #endif /* COMPILER_H */