CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
cpp_storage_spec.cpp
Go to the documentation of this file.
1/*******************************************************************\
2
3Module:
4
5Author: Michael Tautschnig
6
7\*******************************************************************/
8
9#include "cpp_storage_spec.h"
10
11#include <util/type.h>
12
14{
15 if(type.id() == ID_merged_type || type.id() == ID_function_type)
16 {
17 for(const typet &subtype : to_type_with_subtypes(type).subtypes())
18 read(subtype);
19 }
20 else if(type.id() == ID_static)
21 set_static();
22 else if(type.id() == ID_extern)
23 set_extern();
24 else if(type.id() == ID_auto)
25 set_auto();
26 else if(type.id() == ID_register)
28 else if(type.id() == ID_mutable)
30 else if(type.id() == ID_thread_local)
32 else if(type.id() == ID_asm)
33 set_asm();
34 else if(type.id() == ID_weak)
35 set_weak();
36}
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:562
const irep_idt & id() const
Definition irep.h:388
The type of an expression, extends irept.
Definition type.h:29
Defines typet, type_with_subtypet and type_with_subtypest.
const type_with_subtypest & to_type_with_subtypes(const typet &type)
Definition type.h:252