File: compiler.h

package info (click to toggle)
git 1%3A2.51.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 61,616 kB
  • sloc: ansic: 304,617; sh: 259,866; perl: 25,871; tcl: 21,754; makefile: 4,158; python: 3,442; javascript: 772; csh: 45
file content (40 lines) | stat: -rw-r--r-- 874 bytes parent folder | download | duplicates (5)
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)
{
	size_t 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)
{
	size_t 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 */