CBMC
gcc_version.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: gcc version numbering scheme
4
5
Author: Daniel Kroening
6
7
Date: May 2018
8
9
\*******************************************************************/
10
11
#ifndef CPROVER_GOTO_CC_GCC_VERSION_H
12
#define CPROVER_GOTO_CC_GCC_VERSION_H
13
14
#include <iosfwd>
15
#include <string>
16
17
#include <
util/config.h
>
18
19
class
gcc_versiont
20
{
21
public
:
22
unsigned
v_major
,
v_minor
,
v_patchlevel
;
23
24
void
get
(
const
std::string &executable);
25
26
bool
is_at_least
(
27
unsigned
v_major
,
28
unsigned
v_minor
= 0,
29
unsigned
v_patchlevel
= 0)
const
;
30
31
enum class
flavort
32
{
33
UNKNOWN
,
34
CLANG
,
35
GCC
,
36
BCC
37
}
flavor
;
38
39
configt::ansi_ct::c_standardt
default_c_standard
;
40
configt::cppt::cpp_standardt
default_cxx_standard
;
41
42
gcc_versiont
()
43
:
v_major
(0),
44
v_minor
(0),
45
v_patchlevel
(0),
46
flavor
(
flavort
::
UNKNOWN
),
47
default_c_standard
(
configt
::ansi_ct::c_standardt::C89),
48
default_cxx_standard
(
configt
::cppt::cpp_standardt::CPP98)
49
{
50
}
51
};
52
53
void
configure_gcc
(
const
gcc_versiont
&);
54
55
std::ostream &
operator<<
(std::ostream &,
const
gcc_versiont
&);
56
57
#endif
ai_verifier_statust::UNKNOWN
@ UNKNOWN
gcc_versiont::get
void get(const std::string &executable)
Definition:
gcc_version.cpp:18
configt::cppt::cpp_standardt
cpp_standardt
Definition:
config.h:285
gcc_versiont::flavor
enum gcc_versiont::flavort flavor
gcc_versiont::default_cxx_standard
configt::cppt::cpp_standardt default_cxx_standard
Definition:
gcc_version.h:40
configt
Globally accessible architectural configuration.
Definition:
config.h:118
gcc_versiont::flavort::UNKNOWN
@ UNKNOWN
gcc_versiont::flavort::GCC
@ GCC
configure_gcc
void configure_gcc(const gcc_versiont &)
Definition:
gcc_version.cpp:147
gcc_versiont::v_major
unsigned v_major
Definition:
gcc_version.h:22
gcc_versiont::is_at_least
bool is_at_least(unsigned v_major, unsigned v_minor=0, unsigned v_patchlevel=0) const
Definition:
gcc_version.cpp:132
gcc_versiont::flavort::CLANG
@ CLANG
gcc_versiont
Definition:
gcc_version.h:19
gcc_versiont::gcc_versiont
gcc_versiont()
Definition:
gcc_version.h:42
gcc_versiont::v_minor
unsigned v_minor
Definition:
gcc_version.h:22
gcc_versiont::default_c_standard
configt::ansi_ct::c_standardt default_c_standard
Definition:
gcc_version.h:39
config.h
gcc_versiont::flavort::BCC
@ BCC
operator<<
std::ostream & operator<<(std::ostream &, const gcc_versiont &)
Definition:
gcc_version.cpp:142
gcc_versiont::flavort
flavort
Definition:
gcc_version.h:31
configt::ansi_ct::c_standardt
c_standardt
Definition:
config.h:142
gcc_versiont::v_patchlevel
unsigned v_patchlevel
Definition:
gcc_version.h:22
src
ansi-c
gcc_version.h
Generated by
1.8.17