CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
memory_model_tso.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: Memory models for partial order concurrency
4
5Author: Michael Tautschnig, michael.tautschnig@cs.ox.ac.uk
6
7\*******************************************************************/
8
11
12#ifndef CPROVER_GOTO_SYMEX_MEMORY_MODEL_TSO_H
13#define CPROVER_GOTO_SYMEX_MEMORY_MODEL_TSO_H
14
15#include "memory_model_sc.h"
16
18{
19public:
22 {
23 }
24
25 virtual void operator()(symex_target_equationt &equation, message_handlert &);
26
27protected:
29 virtual bool program_order_is_relaxed(
33};
34
35#endif // CPROVER_GOTO_SYMEX_MEMORY_MODEL_TSO_H
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:562
Base class for all expressions.
Definition expr.h:56
virtual exprt before(event_it e1, event_it e2)
virtual void operator()(symex_target_equationt &equation, message_handlert &)
void program_order(symex_target_equationt &equation)
virtual bool program_order_is_relaxed(partial_order_concurrencyt::event_it e1, partial_order_concurrencyt::event_it e2) const
memory_model_tsot(const namespacet &_ns)
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition namespace.h:91
Inheriting the interface of symex_targett this class represents the SSA form of the input program as ...
Memory models for partial order concurrency.