cprover
cpp_storage_spec.cpp
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module:
4 
5 Author: Michael Tautschnig
6 
7 \*******************************************************************/
8 
9 #include "cpp_storage_spec.h"
10 
11 void cpp_storage_spect::read(const typet &type)
12 {
13  if(type.id() == ID_merged_type || type.id() == ID_function_type)
14  {
15  forall_subtypes(it, type)
16  read(*it);
17  }
18  else if(type.id() == ID_static)
19  set_static();
20  else if(type.id() == ID_extern)
21  set_extern();
22  else if(type.id() == ID_auto)
23  set_auto();
24  else if(type.id() == ID_register)
25  set_register();
26  else if(type.id() == ID_mutable)
27  set_mutable();
28  else if(type.id() == ID_thread_local)
30  else if(type.id() == ID_asm)
31  set_asm();
32  else if(type.id() == ID_weak)
33  set_weak();
34 }
cpp_storage_spect::set_mutable
void set_mutable()
Definition: cpp_storage_spec.h:53
typet
The type of an expression, extends irept.
Definition: type.h:29
cpp_storage_spect::set_extern
void set_extern()
Definition: cpp_storage_spec.h:50
cpp_storage_spect::set_static
void set_static()
Definition: cpp_storage_spec.h:49
cpp_storage_spec.h
sharing_treet< irept, std::map< irep_namet, irept > >::read
const dt & read() const
Definition: irep.h:270
cpp_storage_spect::set_register
void set_register()
Definition: cpp_storage_spec.h:52
irept::id
const irep_idt & id() const
Definition: irep.h:418
forall_subtypes
#define forall_subtypes(it, type)
Definition: type.h:216
cpp_storage_spect::set_thread_local
void set_thread_local()
Definition: cpp_storage_spec.h:54
cpp_storage_spect::set_auto
void set_auto()
Definition: cpp_storage_spec.h:51
cpp_storage_spect::set_asm
void set_asm()
Definition: cpp_storage_spec.h:55
cpp_storage_spect::set_weak
void set_weak()
Definition: cpp_storage_spec.h:56