]>
 
 
src.bluestatic.org Git - zcpointer.git/log 
 
 
 
 
 
 
 
summary  | 
shortlog  | log | 
commit  | 
commitdiff  | 
tree 
first ⋅ prev ⋅ next
 
Robert Sesek [Sun, 9 Oct 2016 05:03:38 +0000  (01:03  -0400)] 
 
Add a .gitignore for build output. 
 
Robert Sesek [Sun, 9 Oct 2016 04:29:18 +0000  (00:29  -0400)] 
 
Add file-line information to test failure messages. 
 
For EXPECT_UAF, attempt to catch exceptions in non-ZCPOINTER_TRACK_REFS mode, 
in case the stdlib throws one. 
 
Robert Sesek [Sun, 9 Oct 2016 04:01:06 +0000  (00:01  -0400)] 
 
In tests, do not expect zero-cost mode to catch UAF. 
 
Also differentiate pass/faile output and add a `make test` target. 
 
Robert Sesek [Sun, 9 Oct 2016 01:03:01 +0000  (21:03 -0400)] 
 
Add a test for ref and owned in std::vector. 
 
Robert Sesek [Sun, 9 Oct 2016 00:54:21 +0000  (20:54 -0400)] 
 
ref<T>::ref() now initializes to nullptr. Improve boolean comparisons for ref. 
 
Also add internal::OwnedPtrDeleter::operator= to suport std::move of owned. 
 
Robert Sesek [Sun, 9 Oct 2016 00:44:50 +0000  (20:44 -0400)] 
 
Introduce a basic EXPECT() and EXPECT_UAF() to test.cc. 
 
Robert Sesek [Sat, 8 Oct 2016 22:17:18 +0000  (18:17 -0400)] 
 
Add a Suggested Usage section to the README. 
 
Robert Sesek [Sat, 8 Oct 2016 21:56:52 +0000  (17:56 -0400)] 
 
Throw a custom exception type and attempt to catch it in the test program. 
 
This allows all the tests to run. It is possible to inspect the exception by 
breaking on __cxa_throw. 
 
Robert Sesek [Sat, 8 Oct 2016 21:55:40 +0000  (17:55 -0400)] 
 
Fix ref<T>::~ref to not try to RemoveRef if already deleted. 
 
Caught by TestReset. 
 
Robert Sesek [Sat, 8 Oct 2016 21:30:25 +0000  (17:30 -0400)] 
 
Remove unnecessary owned<T>::GetRawPointer(). 
 
Robert Sesek [Sat, 8 Oct 2016 21:23:27 +0000  (17:23 -0400)] 
 
Reduce the size of ref<T> to a single pointer. 
 
Rather than tracking |T*|, |OwnedPtrDeleter<T>|, and a |bool|; ref<T> now just 
holds an |owned<T>*|. It uses uintptr_t's max value as a deletion sentinel 
rather than a separate flag. And with the actual owned<T>*, the deleter doesn't 
need to be held separately either. 
 
Robert Sesek [Sat, 8 Oct 2016 20:14:29 +0000  (16:14 -0400)] 
 
Add a README. 
 
Robert Sesek [Sat, 8 Oct 2016 19:29:59 +0000  (15:29 -0400)] 
 
Fix ref::operator= for non-const lvalue binding to a temporary. 
 
Implement operator= manually and reimplement the copy-ctor using it, rather than 
vice versa. In addition, deleter_ gets changed to a pointer rather than 
reference, so that a default ctor can be added. 
 
Robert Sesek [Sat, 8 Oct 2016 19:29:27 +0000  (15:29 -0400)] 
 
Move exception raising into a .cc file so that -fno-exceptions can be used with the header. 
 
Robert Sesek [Sat, 8 Oct 2016 18:59:18 +0000  (14:59 -0400)] 
 
Add a Makefile. 
 
Robert Sesek [Sat, 8 Oct 2016 18:48:57 +0000  (14:48 -0400)] 
 
Make ref(owned<T>) explicit. 
 
Robert Sesek [Sat, 8 Oct 2016 18:16:46 +0000  (14:16 -0400)] 
 
Initial implementation of zero-cost unique_ptr with exploding weak references.