File: compiler.h

package info (click to toggle)
cgit 1.2.3%2Bgit20240802.70.09d24d7%2Bgit2.46.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 56,184 kB
  • sloc: ansic: 301,641; sh: 254,574; perl: 29,353; tcl: 22,151; makefile: 4,198; python: 3,594; javascript: 810; csh: 45; ruby: 43; lisp: 12
file content (40 lines) | stat: -rw-r--r-- 868 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifndef COMPILER_H
#define COMPILER_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 */