#include "../../../include/memory.h" #include "../../../include/utility.h" using std::shared_ptr; using std::unique_ptr; struct S { int x; }; void unique_ptr_init(S s) { unique_ptr p(new S); // MISSING: $ussa=dynamic{1} int i = (*p).x; //$ MISSING: ussa=dynamic{1}[0..4) *p = s; //$ MISSING: ussa=dynamic{1}[0..4) unique_ptr q = std::move(p); *(q.get()) = s; //$ MISSING: ussa=dynamic{1}[0..4) shared_ptr t(std::move(q)); t->x = 5; //$ MISSING: ussa=dynamic{1}[0..4) *t = s; //$ MISSING: ussa=dynamic{1}[0..4) *(t.get()) = s; //$ MISSING: ussa=dynamic{1}[0..4) } void shared_ptr_init(S s) { shared_ptr p(new S); //$ MISSING: ussa=dynamic{1} int i = (*p).x; //$ MISSING: ussa=dynamic{1}[0..4) *p = s; //$ MISSING: ussa=dynamic{1}[0..4) shared_ptr q = std::move(p); *(q.get()) = s; //$ MISSING: ussa=dynamic{1}[0..4) shared_ptr t(q); t->x = 5; //$ MISSING: ussa=dynamic{1}[0..4) *t = s; //$ MISSING: ussa=dynamic{1}[0..4) *(t.get()) = s; //$ MISSING: ussa=dynamic{1}[0..4) }