diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-05-01 23:39:58 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-05-01 23:39:59 +0300 |
commit | dd094c2b75401f6e1e53e7a5bbfca3c66c44f556 (patch) | |
tree | c10b122157431d5be105f48436f909bdeb345381 /compat/compiler.h | |
parent | 6d6b412da32229bf6a5f366a72b5ad29cc70ce59 (diff) | |
parent | 8f0e9843bdf82b04591416367bee3817991e0722 (diff) |
Merge branch 'es/bugreport'
The "bugreport" tool.
* es/bugreport:
bugreport: drop extraneous includes
bugreport: add compiler info
bugreport: add uname info
bugreport: gather git version and build info
bugreport: add tool to generate debugging info
help: move list_config_help to builtin/help
Diffstat (limited to 'compat/compiler.h')
-rw-r--r-- | compat/compiler.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/compat/compiler.h b/compat/compiler.h new file mode 100644 index 0000000000..10dbb65937 --- /dev/null +++ b/compat/compiler.h @@ -0,0 +1,41 @@ +#ifndef COMPILER_H +#define COMPILER_H + +#include "git-compat-util.h" +#include "strbuf.h" + +#ifdef __GLIBC__ +#include <gnu/libc-version.h> +#endif + +static inline void get_compiler_info(struct strbuf *info) +{ + int len = info->len; +#ifdef __clang__ + strbuf_addf(info, "clang: %s\n", __clang_version__); +#elif defined(__GNUC__) + strbuf_addf(info, "gnuc: %d.%d\n", __GNUC__, __GNUC_MINOR__); +#endif + +#ifdef _MSC_VER + strbuf_addf(info, "MSVC version: %02d.%02d.%05d\n", + _MSC_VER / 100, _MSC_VER % 100, _MSC_FULL_VER % 100000); +#endif + + if (len == info->len) + strbuf_addstr(info, _("no compiler information available\n")); +} + +static inline void get_libc_info(struct strbuf *info) +{ + int len = info->len; + +#ifdef __GLIBC__ + strbuf_addf(info, "glibc: %s\n", gnu_get_libc_version()); +#endif + + if (len == info->len) + strbuf_addstr(info, _("no libc information available\n")); +} + +#endif /* COMPILER_H */ |