Commit Graph

401 Commits

Author SHA1 Message Date
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7bfbba6355
wip comparison operators for monad. This implementation is wrong, but a good basis for more work on it tomorrow. 2016-06-23 17:52:37 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2ffa7a84c7
travis 2016-06-23 13:45:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
403e1291c4
Broke travis :) 2016-06-23 09:39:37 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b2f8e7e37d
Added content comparison to value_storage in preparation for adding it to monad later today or tomorrow. 2016-06-23 08:59:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f57405be68
Broke out value storage compatibility testing into template variables 2016-06-23 08:24:23 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6eb4cbdba4
Tied up some legacy macros for dealing with C++ 14 constexpr 2016-06-23 08:07:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0ae2a51b1f
Merge branch 'master' of github.com:ned14/boost.spinlock 2016-06-22 07:47:01 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4bde3fbb52
Add constexpr results for winclang 2016-06-22 07:46:35 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c5e832c3ee
travis 2016-06-21 16:55:42 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
591e6ace44
travis 2016-06-21 16:23:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e592db760b
travis 2016-06-21 14:48:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4f4fe42313
travis 2016-06-21 14:35:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c6528dc757
Added winclang processing, and indeed made it the default for testing constexpr on Windows as MSVC suffers from generating too much code bloat. 2016-06-21 11:16:40 +01:00
Niall Douglas
f096bbb929 Freshen constexpr results for GCC 5.4 and clang 3.8 2016-06-20 02:08:14 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
64e92c3308
upd 2016-06-20 01:49:22 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
caa319d82c
Freshen constexpr tests for VS2015 Update 3 RC 2016-06-19 23:40:46 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7e835fcdae
Reworked to fit latest boost-lite 2016-06-03 17:32:03 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7a045419a9
Add some more static assertions to the unit test suite. 2016-06-03 09:09:31 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
17620fa643
Fixed the upconverting constructors which were horribly broken. Added a unit test to ensure this never happens again. 2016-06-03 08:36:00 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
29eb90ed5e
Rename Boost.BindLib to boost-lite 2016-05-23 21:51:29 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f75d55d1d1
Purge last remaining vestiges of monadic future promise. It's now only Outcome baby! 2016-05-23 00:24:32 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cb2898b135
Moved the non-allocating future promise into attic. 2016-05-22 20:40:14 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e13dfe72bb
Try again Travis 2016-04-21 18:57:13 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a9202c138d
Try again with Travis, and update Readme to point at Travis + Appveyor 2016-04-21 18:32:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6d1c714d99
Disable unit testing the future implementation for now. 2016-04-20 17:33:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4b5c5d164b
Fixed failing unit tests. 2016-04-20 17:17:16 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
27ae32b3f4 Fix for small unit test build breakage. 2016-01-27 10:22:59 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f9eea01e2e Fixed bug where returning a not ready future from a continuation did not correctly propagate the not ready future into the returned future. Added unit test for the above. 2015-11-21 18:10:04 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
4cc2961acc Default to not throwing no_state if promise set after future dead. Fixes issue #4. 2015-09-12 13:59:00 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
591d7666a7 Fix issue #4 where setting a promise after a future destruction with continuations was incorrectly throwing no_state. 2015-09-10 19:23:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d7f9fdb678 make_ready_future() now correctly makes a ready future<void>. Fixes issue #3. 2015-09-09 12:35:50 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d6bf651c21 Very substantially improved support for monad<void>. 2015-09-09 12:19:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
145f12b537 Restore coverage testing 2015-09-08 14:04:22 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
05762ce477 Fix issue #2 where future<void>::get() was not returning a void type. 2015-09-07 19:04:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
30eb27cbe6 Fix compile error on GCC 5 2015-09-07 18:08:39 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9d7f2bfc26 More outcome rename caused fixes. 2015-08-29 19:11:51 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
111e8263cf Renamed the directories to outcome. 2015-08-29 18:47:16 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
97e5c6135f Lots of renaming Monad to Outcome. 2015-08-29 18:40:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a83a36fb7e Added BOOST_MONAD_USE_BOOST_ERROR_CODE support. 2015-08-08 19:38:04 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
84cf53b555 Boost.Monad is ported to use Boost.Thread, Chrono instead of the STL. Multi-abi unit test to test both ABIs coexist in the same translation unit added and verified as working on MSVC. 2015-08-04 19:40:04 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5dbe5eb4c9 Boost.Monad is now fully Boost.APIBinded 2015-08-04 18:11:30 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b6a10e553a Relocated monads into boost::monad namespace, leaving futures alone in the boost::monad::lightweight_futures namespace. 2015-08-03 19:19:07 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d7fcda449b Boost.Monad rename part 5 2015-08-03 18:51:38 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c1164c5828 Boost.Monad rename part 4 2015-08-03 18:22:30 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ee0a0f0c11 Boost.Monad rename part 3 2015-08-03 18:13:14 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
494d4ed7fb - [x] Implement wait_for()/wait_until().
- [x] when_all composure.
2015-07-16 03:29:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ac0ce8b4ed wip 2015-07-15 05:00:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5224a0a5c9 - [x] Implement N4399 continuations for shared_future.
Also now compiling on VS2015 again.
2015-07-12 17:49:41 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
86ae0f8c82 Reenabled future continuations. All passing green. 2015-07-12 15:12:03 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8c9fe0bb21 Fixed all remaining benchmarks and performance regressions on GCC. Well, shared_ptr is a lot slower than before, the new design seems to not optimise as well if memory synchronisation is happening (the simple loop is also much slower, but the producer consumer test is actually slightly improved) 2015-07-12 05:43:51 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
465bacb78f Many bug fixes. Nearly passes test suite, there is some problem remaining in the threaded test. 2015-07-12 03:18:02 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
af50ecd711 Removed accidentally still present vptr from future-promise. 2015-07-11 15:57:15 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cb4e62d9d2 Fully refactored, compiling clean, constexpr tests are nearly all green. Hangs during unit tests though (tomorrow!). 2015-07-10 04:24:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
990b2b67fe wip in refactoring. Note that only monad is currently enabled and working, all future promise stuff fails to compile.
- [x] Split implementation policy for value_storage into separate policy (allows value_storage
to convert without considering future-promise type).
 - [x] Get value_storage<bool> and value_storage<void> to consume 1 byte, not 2 bytes.
2015-07-09 03:31:43 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7b5a78d8ab wip removed any knowledge of the future type from promise, thus permanently closing the door to ever type slicing the future. 2015-07-08 04:56:21 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ebb1573bbf wip refactoring basic_future to match the earlier refactoring of basic_monad 2015-07-07 20:40:57 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
de13b706f3 wip ground up refactor to eliminate all reinterpret_cast completely 2015-07-07 19:42:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7f190808d0 Allow monads to explicitly convert when compatible. 2015-07-06 15:21:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
af6014049b Should work now on all compilers. 2015-07-04 04:23:36 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2b9298ce22 More tightening of then() callable constraints. 2015-07-04 03:55:37 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d1ce67aec2 Improved the static asserting, compiles on GCC now but MSVC is failing. 2015-07-04 03:39:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
120a8cda34 Fixed broken C++ 11 support. 2015-07-04 03:08:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0dde08e428 Fix clang problems. 2015-07-03 18:05:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
207143f1eb Try disabling gcc 4.8 2015-07-03 17:56:09 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d64f4c20c5 First working future continuations. Lots more testing to be added later, but this actually seems to work. 2015-07-03 17:09:59 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2ab25936fb Added future.then(), but it is not compiling. 2015-07-03 14:34:21 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1153088b6a - [x] Refactor the tribool logic mapping such that empty => unknown. 2015-07-03 11:26:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6c852498f6 Fixed failing constexpr tests. 2015-07-02 13:39:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
840f3470da monad.next() now has build time optimised do_next implemented, and therefore is now available without BOOST_SPINLOCK_MONAD_ENABLE_OPERATORS. 2015-07-02 13:13:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
43b2b7df49 Added test of make_ready_XXX. 2015-07-02 02:59:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
975bcde6b6 Fixed two standard conformance failures.
Updated benchmarks for VS2015.

Added unit testing for alignment and size multiple of promise future.
2015-07-01 13:54:01 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
46fa713841 Made optional the future constexpr folding. 2015-07-01 04:30:23 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2cfbd8cc54 Added future_option, future_result plus tests for them. 2015-07-01 03:17:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f680c76236 - [x] Implement shared_future_ptr which thunks a shared_future API through a shared_ptr to
basic_future<shared_future_policy>.
2015-06-30 14:45:58 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8a491994a6 Fixes for GCC 4.8 2015-06-30 13:08:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2d55d44998 Hopefully now fully passing on all platforms. 2015-06-30 12:42:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
863853fa99 Fixed rebind_cast and added conformance test for it. 2015-06-30 12:20:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bcd2e99bc0 - [x] Implement shared_future_policy and a conformance suite for shared_future. 2015-06-30 04:00:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
046860e78b - [x] Return monad_errc::exception_present error code for when get_error() sees an excepted state. 2015-06-30 01:55:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5a8313adbc - [x] Add iostream overloads for basic_monad 2015-06-30 01:32:59 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ad994b7868 Now thread sanitiser and valgrind drd problem free and totally green across the board. 2015-06-29 15:09:26 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
fcb5e645b7 Fixed bug in spinlock where is_lockable_locked was taking slow path.
Fixed compile errors on MSVC.
2015-06-29 13:26:41 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c1c3ae2592 Added unit test for testing performance of lightweight future promise 2015-06-29 04:22:37 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
97ac5bc4c8 - [x] Have future-promise conformance suite also run for std::future.
Fixed a number of conformance failures illustrated by the above.
2015-06-29 01:31:02 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
23a0906ec0 Added some benchmarks for future-promise. 2015-06-28 03:47:24 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
278749235e Lots of work on getting next gen promise-future into shape. Compiles but fails its unit tests quite badly. 2015-06-26 17:52:32 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b031a4e3db Updated for MSVC. 2015-06-26 04:10:06 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
44a89e0533 Try getting constexpr msvc test to use finished executables. 2015-06-26 03:49:38 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a1799b7082 Disable renamed constexpr test 2015-06-25 16:55:49 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
321c35a7f3 Fix parse failure in count_opcodes.py 2015-06-25 16:50:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b94b1f6aeb Redisable renamed test. 2015-06-25 16:29:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2e430e3ff2 Forgot to enable monadic operators for MSVC constexpr 2015-06-25 16:24:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
964ce2d756 Added constexpr testing for result<T>, option<T>. 2015-06-25 16:20:10 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
657fac5d37 Added &, | and >> operators. 2015-06-25 14:42:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bb24f6aa27 - [x] Add match() function which visits a callable on the contents. 2015-06-25 13:50:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
ca766c4894 - [x] If monad type is a callable, let the monad be callable.
- [x] Rename .then() to .next().
2015-06-25 10:56:17 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
fee843dd2e Fixed option<bool> being silly large, and added unit testing to ensure it remains so. 2015-06-25 03:24:13 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
58b807469a Finished porting code over to new policy based design. 2015-06-25 02:37:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a6494320bd Reenable unwrap() 2015-06-24 14:54:07 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bdf09d6e01 Still need to restore unwrap(), then(), bind() and map() but ...
- [x] In addition to value_or(), error_or() etc add value_and(), error_and() etc.
 - [x] Expose detail::value_storage such that it can be specialised for optimal space e.g. for bool.
 - [x] Add null_exception_ptr, null_error_code.
 - [x] Make how error_type is converted into exception_type configurable.
 - [x] Add monad<void>.
 - [x] Add template aliases for different configurations of monad<T> (one of maybe, result, holder, value, retval, potential, likely). Add two additional aliases, one for a monad without exception_ptr, and another for a monad with neither error_code nor exception_ptr (option<T>?).
2015-06-24 14:36:18 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
36586c6555 Make tribool nature of monad very explicit with an actual tribool. 2015-06-23 14:23:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1bdef95a0f Add tribool 2015-06-23 14:08:55 +01:00
Niall Douglas
71a6954ade Add definitive assembler for all remaining tests. 2015-06-19 02:18:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b3b4f95ee4 Added max and min constexpr tests for then and bind 2015-06-19 02:11:32 +01:00
Niall Douglas
d9f858384f min_monad_then for clang and gcc. 2015-06-19 01:35:15 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5ddd2dcbdd Add min_monad_then constexpr test. 2015-06-19 01:26:56 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
c57472adbc try again 2015-06-16 18:04:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
388cab042d Disable failing constexpr test in VS2015. 2015-06-16 18:01:10 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9e6020714d Disable tests for VS2015 where the compiler is clearly suffering memory corruption internally. 2015-06-16 17:57:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
853b5fb128 Have withmsvc generate single and multithreaded test executables 2015-06-16 17:51:08 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0d1a435eef map() and bind() fully working and passing all tests. Finally. 2015-06-16 17:33:14 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0d241ff17f bind() is nearly working. Currently it fails to detect an auto lambda which returns a monad, a problem I shall have to ponder how to solve as it isn't entirely straightforward. 2015-06-16 04:23:55 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
921dcb101d wip 2015-06-15 19:00:30 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a655ca7f7d more tidy 2015-06-15 04:44:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8f58896bac minor tidy 2015-06-15 04:43:15 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
01d0b3150d Figured out the problem. Now working very well indeed. Next step tomorrow is to add the detection of callables taking not value_type, and in theory we are then feature complete. 2015-06-15 04:36:59 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0b2e91fe6e Added in rvalue detection traits. Working now, except that I am stuck on how to best detect when an implicit conversion is being done when calling the callable. 2015-06-15 04:23:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6a653f3d1f Broke coverage. 2015-06-13 18:03:43 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
af81789eb2 Disabled failing tests for now. 2015-06-13 18:01:24 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3dffba1beb then(), bind() and map() all now working perfectly except that automatic move semantics isn't. Asked stackoverflow on that one. 2015-06-12 12:59:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f6ec99c0a1 Added then() and bind() monadic operations. 2015-06-12 04:08:39 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0c8d3347ab Workaround GCC failure 2015-06-12 02:16:54 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5b35f714a2 More minor warnings. 2015-06-12 01:59:33 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
995293467c More clang warnings. 2015-06-12 01:55:28 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1c9c063b83 Remove clang warnings. 2015-06-12 01:53:17 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0d867577ba Add unwrap(). 2015-06-12 01:34:12 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
dbd850034a Added complexity guarantees. 2015-06-11 14:39:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6789930fee Fix POSIX build breakage 2015-06-11 13:26:57 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
943c26da03 upd msvc. 2015-06-11 13:14:54 +01:00
Niall Douglas
37c7361a70 Regen for gcc and clang 2015-06-11 10:35:13 +01:00
Niall Douglas
ca34db3e7f Rename all constexpr tests to min_* 2015-06-11 10:25:03 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6a2b65715c Use doxygen snippets 2015-06-11 04:01:12 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
84c058b1c8 Fixed broken vcproj file 2015-06-11 03:35:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f538c990a3 Missing header fix 2015-06-11 03:20:58 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
43ff504d66 Added test of monad as an optional. 2015-06-11 03:11:53 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
86060e14d8 Added test that swap() works. 2015-06-11 02:45:00 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
00c341d218 Added test for whether monad can hold a STL container and itself be inside a STL container. 2015-06-11 02:33:30 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
297c7013d1 Added noexcept and weird udt unit tests. 2015-06-11 02:19:23 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
330c9cc5ba More doc fixes 2015-06-11 00:46:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8d1d58e6bb Increase opcount counter loop timeout to 1000 2015-06-10 14:57:48 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
944139beca Bad logic for detecting failing gcc test. 2015-06-10 12:58:51 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
11c6377810 count_opcodes.py now works using offsets instead of names for call inlining. 2015-06-10 12:51:38 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d7dcab1dd0 monad, promise and future all now take their error and exception types as template parameters.
monad now throws monad_error with monad_category by default.
2015-06-07 03:13:26 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f14ece6b4b Actually change limit instead 2015-06-05 03:30:03 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
1241e2c500 Disabled another failing test on gcc/clang. 2015-06-05 03:26:20 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e5a5a15f92 Added unit test for monad. 2015-06-05 03:14:24 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
208cdd85b3 Stop count_opcodes.py from counting anything but test1() 2015-06-05 01:11:30 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
01e6a82f61 More constexpr monad tests 2015-06-05 00:45:24 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2243b0ceaa Fixed excessive constexpr 2015-06-04 23:34:14 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a6e4203bea Fleshed out the monad class 2015-06-04 19:04:14 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a599913419 Fix bad paths being sent to coveralls 2015-06-04 17:19:52 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
697b35a408 Marked known failing tests with skipped. 2015-06-04 15:15:01 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
61ab65e89f Fix bad xml 2015-06-04 14:20:05 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
61cf82ecd1 fix bad coveralls path 2015-06-04 13:13:23 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
aea34e9e95 tsan suppress spurious openmp 2015-06-04 13:09:27 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
be4cc1f07b Thread sanitiser was disabled :( 2015-06-04 13:02:17 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
8c1c449410 Accidentally disabled building coverage binary 2015-06-04 12:56:38 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cd8c45c08f Stop CATCH being counted in the coverage 2015-06-04 12:51:34 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
141dfb050d Disable clang junit output as clang fails across the board currently. 2015-06-04 12:45:11 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
5ce16e92af Disabled concurrent_unordered_map completely so I can concentrate on lightweight futures. 2015-06-04 12:43:19 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
330f5ea798 Get constexpr juint xml to use CDATA 2015-06-04 12:32:33 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7a65af971d Disable concurrent_unordered_map tests. 2015-06-04 12:13:51 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
eb7c3b8060 MSVC scripts now also output junit XML 2015-06-04 11:59:11 +01:00
Niall Douglas
2f3203b0ef Opcode counting scripts now work on POSIX, and output JUnit XML. 2015-06-04 11:06:52 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
7a17c598a3 Wrote python script to parse assembler dump of lightweight future promise and construct an opcount.
Persuaded MSVC to constexpr fold almost all of the time.
2015-06-04 03:53:45 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d693beb9fe Add gitattributes 2015-06-04 01:14:47 +01:00
Niall Douglas
5294048c61 Might as well add the clang assembler outputs too for bug reporting. 2015-05-26 00:30:50 +01:00
Niall Douglas
39a9334e55 Yay constexpr folding works! 2015-05-26 00:29:06 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
226e081f66 Broke monad out from future 2015-05-25 18:54:42 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3da8d3bb2a Small fixes. 2015-05-25 03:08:41 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
2fdd81e75e Added constexpr folding for future, and future from promise. 2015-05-25 02:51:44 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b8468a730d Yay got it constexpr reducing on gcc yay! 2015-05-24 03:09:57 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bd0b230ac7 Got lightweight future-promise working on VS2015. Still no joy on the constexpr reduction :( 2015-05-24 02:56:49 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
72045c4fe3 Added beginnings of assembler dump unit testing 2015-05-23 22:09:15 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
12a534d886 Added first edition of lightweight future-promise. 2015-05-23 21:27:08 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3b992806e8 Add atomic fences after every modification of std::vector holding bucket items. Almost certainly unnecessary, but no harm to have these. 2015-03-09 19:09:53 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
0a27daf4e1 Try to see if I can see the cause of the suppressed _rehash() race reported by tsan. 2015-03-07 21:06:35 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
22e1fd15bd Revert "Use clang for the thread sanitiser, see what happens."
This reverts commit 3a27694925.
2015-03-07 01:46:55 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
3a27694925 Use clang for the thread sanitiser, see what happens. 2015-03-06 05:30:19 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f2bc84768a Make compiler used for build selectable. 2015-03-06 01:08:16 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9a4646421a Removed the dependency on Expected, and the expected_future as no longer needed. 2015-01-28 17:50:21 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b00b283ea3 Added unit testing for tristate and pointer spinlocks. 2014-12-12 20:58:13 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a959792674 unordered map performance testing now uses identical hash on all platforms. 2014-12-11 22:24:07 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b2ecbdfcca Replaced CATCH with BindLib unit testing. 2014-12-11 22:21:58 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
051875b795 Fixed build failures. Added a FNV-1a hash implementation. 2014-12-11 21:28:17 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
a0e25e9729 Got it compiling under VS2013 again. 2014-12-03 23:04:26 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
9700ccdf5c Now working with improved BindLib. 2014-11-20 18:40:53 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
991c79c627 Missed one in former commit 2014-10-30 18:25:47 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
83e7f521bb Stopped spinlock's valgrind use conflicting with anyone else's.
Fixed broken tsan suppression.
2014-10-30 18:21:36 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
cdd6965925 Fixed bad standalone bindlib include path 2014-10-30 17:43:38 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
e1287e567c Relocated bindlib and expected into includes 2014-10-29 20:05:58 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
6f57b937c2 Reorged to match Boost library directory conventions.
concurrent_unordered_map now has its own header.
2014-10-29 19:51:30 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bfdb5f79b3 Added a shared_future implementation. I still need to invert the Continuations... relationship between future and promise, and promise needs to not care about whether the future consumes or not. 2014-10-16 19:33:21 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d0f4a5f828 First working expected-based future promise implementation. 2014-10-15 20:37:03 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
f5f1d9148a Wip expected future promise 2014-10-13 20:06:47 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
b1450545a2 Ended up suppressing the tsan warnings about unsynchronised use of bucket.count as it's only a speculative early out of doing a lock acquire, so it has relaxed ordering. This optimisation adds about 7% to benchmarks, so is probably worth it. 2014-10-11 21:39:29 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
74d9c55b03 Fixed bug where std:🧵:hardware_concurrency doesn't work on ARM. 2014-10-11 20:20:37 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
bbbb0c6bc3 Build script no longer builds everything unless asked 2014-10-11 19:32:24 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
75dc814006 Fixed bad Doxyfile
Made a start on noexcept markup
2014-10-11 17:37:17 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
710974c9d3 Fixed up renaming to work. 2014-10-11 17:11:50 +01:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
d44d6d8b5c Moved everything into Boost library directory org 2014-10-11 16:56:49 +01:00