Skip to content

Commit 1d6162d

Browse files
committed
Simply pointer_abstract_objectt::write_dereference
1 parent 5d8c27c commit 1d6162d

File tree

6 files changed

+10
-9
lines changed

6 files changed

+10
-9
lines changed

src/analyses/variable-sensitivity/constant_pointer_abstract_object.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ abstract_object_pointert constant_pointer_abstract_objectt::read_dereference(
169169
}
170170
}
171171

172-
sharing_ptrt<pointer_abstract_objectt>
172+
abstract_object_pointert
173173
constant_pointer_abstract_objectt::write_dereference(
174174
abstract_environmentt &environment,
175175
const namespacet &ns,

src/analyses/variable-sensitivity/constant_pointer_abstract_object.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ class constant_pointer_abstract_objectt : public pointer_abstract_objectt
9999
///
100100
/// \return A modified abstract object representing this pointer after it
101101
/// has been written to.
102-
sharing_ptrt<pointer_abstract_objectt> write_dereference(
102+
abstract_object_pointert write_dereference(
103103
abstract_environmentt &environment,
104104
const namespacet &ns,
105105
const std::stack<exprt> stack,

src/analyses/variable-sensitivity/pointer_abstract_object.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,9 @@ abstract_object_pointert pointer_abstract_objectt::read_dereference(
6565
return env.abstract_object_factory(pointed_to_type, ns, true, false);
6666
}
6767

68-
sharing_ptrt<pointer_abstract_objectt>
68+
#include <iostream>
69+
70+
abstract_object_pointert
6971
pointer_abstract_objectt::write_dereference(
7072
abstract_environmentt &environment,
7173
const namespacet &ns,
@@ -76,12 +78,11 @@ pointer_abstract_objectt::write_dereference(
7678
if(is_top() || is_bottom())
7779
{
7880
environment.havoc("Writing to a 2value pointer");
79-
return std::dynamic_pointer_cast<const pointer_abstract_objectt>(clone());
81+
return shared_from_this();
8082
}
8183
else
8284
{
83-
return sharing_ptrt<pointer_abstract_objectt>(
84-
new pointer_abstract_objectt(type(), true, false));
85+
return std::make_shared<pointer_abstract_objectt>(type(), true, false);
8586
}
8687
}
8788

src/analyses/variable-sensitivity/pointer_abstract_object.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ class pointer_abstract_objectt : public abstract_objectt
120120
///
121121
/// \return A modified abstract object representing this pointer after it
122122
/// has been written to.
123-
virtual sharing_ptrt<pointer_abstract_objectt> write_dereference(
123+
virtual abstract_object_pointert write_dereference(
124124
abstract_environmentt &environment,
125125
const namespacet &ns,
126126
const std::stack<exprt> stack,

src/analyses/variable-sensitivity/value_set_pointer_abstract_object.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ abstract_object_pointert value_set_pointer_abstract_objectt::read_dereference(
4747
return pointer_abstract_objectt::read_dereference(env, ns);
4848
}
4949

50-
sharing_ptrt<pointer_abstract_objectt>
50+
abstract_object_pointert
5151
value_set_pointer_abstract_objectt::write_dereference(
5252
abstract_environmentt &environment,
5353
const namespacet &ns,

src/analyses/variable-sensitivity/value_set_pointer_abstract_object.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class value_set_pointer_abstract_objectt : public pointer_abstract_objectt
4242
const abstract_environmentt &env,
4343
const namespacet &ns) const override;
4444

45-
sharing_ptrt<pointer_abstract_objectt> write_dereference(
45+
abstract_object_pointert write_dereference(
4646
abstract_environmentt &environment,
4747
const namespacet &ns,
4848
std::stack<exprt> stack,

0 commit comments

Comments
 (0)