CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ms_cl_version.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: Visual Studio CL version numbering scheme
4
5Author: Daniel Kroening
6
7Date: August 2018
8
9\*******************************************************************/
10
11#ifndef CPROVER_GOTO_CC_MS_CL_VERSION_H
12#define CPROVER_GOTO_CC_MS_CL_VERSION_H
13
14#include <iosfwd>
15#include <string>
16
17#include <util/config.h>
18
20{
21public:
22 unsigned v_major, v_minor;
23
24 void get(const std::string &executable);
25
26 bool is_at_least(unsigned v_major, unsigned v_minor = 0) const;
27
30
32 : v_major(0),
33 v_minor(0),
34 default_c_standard(configt::ansi_ct::c_standardt::C89),
35 default_cxx_standard(configt::cppt::cpp_standardt::CPP98)
36 {
37 }
38
39 enum class targett
40 {
41 UNKNOWN,
42 x86,
43 x64,
44 ARM
46};
47
48std::ostream &operator<<(std::ostream &, const ms_cl_versiont &);
49
50#endif // CPROVER_GOTO_CC_MS_CL_VERSION_H
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:562
Globally accessible architectural configuration.
Definition config.h:138
void get(const std::string &executable)
configt::cppt::cpp_standardt default_cxx_standard
enum ms_cl_versiont::targett target
bool is_at_least(unsigned v_major, unsigned v_minor=0) const
configt::ansi_ct::c_standardt default_c_standard
std::ostream & operator<<(std::ostream &, const ms_cl_versiont &)