cprover
ansi_c_convert_type.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: ANSI-C Language Conversion
4 
5 Author: Daniel Kroening, kroening@kroening.com
6 
7 \*******************************************************************/
8 
11 
12 #ifndef CPROVER_ANSI_C_ANSI_C_CONVERT_TYPE_H
13 #define CPROVER_ANSI_C_ANSI_C_CONVERT_TYPE_H
14 
15 #include <util/message.h>
16 
17 #include "c_qualifiers.h"
18 #include "c_storage_spec.h"
19 
21 {
22 public:
27 
28  // extensions
33 
35 
36  bool packed, aligned;
38  exprt msc_based; // this is Visual Studio
40 
41  // storage spec
43 
44  // qualifiers
46 
47  void read(const typet &type);
48  void write(typet &type);
49 
51 
52  std::list<typet> other;
53 
54  explicit ansi_c_convert_typet(message_handlert &_message_handler):
55  messaget(_message_handler)
56  {
57  }
58 
59  void clear()
60  {
72 
74 
75  other.clear();
78  }
79 
80 protected:
81  void read_rec(const typet &type);
82 };
83 
84 #endif // CPROVER_ANSI_C_ANSI_C_CONVERT_TYPE_H
The type of an expression.
Definition: type.h:20
source_locationt source_location
std::list< typet > other
c_storage_spect c_storage_spec
void read(const typet &type)
Base class for all expressions.
Definition: expr.h:46
void read_rec(const typet &type)
void make_nil()
Definition: irep.h:243
ansi_c_convert_typet(message_handlert &_message_handler)