Skip to content

Commit bdece85

Browse files
JohnDumbellsmowton
authored andcommitted
Adding move constructors
1 parent b9d091d commit bdece85

File tree

4 files changed

+30
-0
lines changed

4 files changed

+30
-0
lines changed

src/goto-symex/goto_state.h

+6
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,12 @@ class goto_statet
5555
unsigned atomic_section_id = 0;
5656

5757
/// Constructors
58+
goto_statet() = default;
59+
goto_statet &operator=(const goto_statet &other) = default;
60+
goto_statet &operator=(goto_statet &&other) = default;
61+
goto_statet(const goto_statet &other) = default;
62+
goto_statet(goto_statet &&other) = default;
63+
5864
explicit goto_statet(const class goto_symex_statet &s);
5965

6066
explicit goto_statet(guard_managert &guard_manager)

src/goto-symex/renaming_level.h

+10
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,13 @@ enum levelt
3232
/// during symex to ensure static single assignment (SSA) form.
3333
struct symex_renaming_levelt
3434
{
35+
symex_renaming_levelt() = default;
3536
virtual ~symex_renaming_levelt() = default;
37+
symex_renaming_levelt &
38+
operator=(const symex_renaming_levelt &other) = default;
39+
symex_renaming_levelt &operator=(symex_renaming_levelt &&other) = default;
40+
symex_renaming_levelt(const symex_renaming_levelt &other) = default;
41+
symex_renaming_levelt(symex_renaming_levelt &&other) = default;
3642

3743
/// Map identifier to ssa_exprt and counter
3844
typedef std::map<irep_idt, std::pair<ssa_exprt, unsigned>> current_namest;
@@ -125,6 +131,10 @@ struct symex_level2t : public symex_renaming_levelt
125131

126132
symex_level2t() = default;
127133
~symex_level2t() override = default;
134+
symex_level2t &operator=(const symex_level2t &other) = default;
135+
symex_level2t &operator=(symex_level2t &&other) = default;
136+
symex_level2t(const symex_level2t &other) = default;
137+
symex_level2t(symex_level2t &&other) = default;
128138
};
129139

130140
/// Undo all levels of renaming

src/goto-symex/symex_target.h

+9
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,15 @@ class symex_targett
5353
pc(_goto_program.instructions.begin())
5454
{
5555
}
56+
57+
sourcet(sourcet &&other) noexcept
58+
: thread_nr(other.thread_nr), function_id(other.function_id), pc(other.pc)
59+
{
60+
}
61+
62+
sourcet(const sourcet &other) = default;
63+
sourcet &operator=(const sourcet &other) = default;
64+
sourcet &operator=(sourcet &&other) = default;
5665
};
5766

5867
enum class assignment_typet

src/pointer-analysis/value_set.h

+5
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ class value_sett
4545
{
4646
}
4747

48+
value_sett(value_sett &&other)
49+
: location_number(other.location_number), values(std::move(other.values))
50+
{
51+
}
52+
4853
virtual ~value_sett() = default;
4954

5055
value_sett(const value_sett &other) = default;

0 commit comments

Comments
 (0)