Commit Graph

101 Commits

Author SHA1 Message Date
Nikita Kniazev
4d9990c3e1 VS2017 support (#88)
* VS2017 support workarounds

* TST: call_expr: Removed unused function

This also make the test compilable on VS2017

* TST: reference_returns: Make test compilable on VS2017

* TST: comma: Make test compilable on VS2017

* TST: print: Fix TTI differences between MSVC and Clang/GCC
2018-10-24 22:59:15 -05:00
Zach Laine
c2d27e58df Define BOOST_NO_AUTO_PTR for all the Travis tests. 2018-10-24 22:59:15 -05:00
Nikita Kniazev
d7d9dcd435 B2: Added project requirements 2018-10-24 22:59:15 -05:00
Zach Laine
97fca5f741 check -> yap_check. If a "check" target exists, give it a dependency on
yap_check. Add a custom target check that depends on yap_check otherwise.
2018-10-24 22:59:15 -05:00
Zach Laine
ba3d943559 Simplify if_else so that it no longer requires linking to unit_test_framework. 2018-03-04 12:41:00 -06:00
Zach Laine
8cbd7c70c2 Fix CMake build. 2018-03-04 12:23:08 -06:00
Zach Laine
e14b9d962f Use Boost.Build and Boost.Test for tests.
Fixes #52.
2018-03-04 02:50:29 -06:00
Zach Laine
26ff6ece8c Add compile-fail tests for functions in algorithm.hpp.
Fixes #54.
2018-03-03 22:28:11 -06:00
Zach Laine
5c8f50273d Flesh out print test for 100% coverage.
Fixes #55.
2018-03-03 21:42:07 -06:00
Zach Laine
71e983a0f6 Add code coverage build mode. 2018-03-03 20:54:50 -06:00
Zach Laine
143beb91de Unify binary member and nonmember macros; add subscript operator member macro.
Fixes #22.
Fixes #68.
2018-03-03 18:06:34 -06:00
Zach Laine
4ce7fbafd8 BOOST_YAP_USER_UNARY_OPERATOR_MEMBER -> BOOST_YAP_USER_UNARY_OPERATOR
Partially implements #22.
2018-03-03 16:20:39 -06:00
Zach Laine
9c67b71648 Fix dangling reference errors by reinstating the use of as_expr() in recursive
transforms.
2018-03-02 23:32:19 -06:00
Zach Laine
311ce35ec9 Revert "Remove the now-redundant uses of as_expr()."
This reverts commit 260dc0e82d.
2018-03-02 23:11:44 -06:00
Zach Laine
4c6eaec081 Add missing message string to all static_asserts without them. 2018-03-01 20:04:42 -06:00
Zach Laine
20dff650a1 Fix expected number of allocations in lazy_vector_alloc_test. 2018-02-28 19:03:17 -06:00
Zach Laine
3f5178551b Correct undefined behavior in operator new() in lazy_vector_alloc_test. 2018-02-28 18:30:19 -06:00
Zach Laine
47ad8c1a9c Prohibit use of assign with BOOST_YAP_BINARY_MEMBER_OPERATOR(), and create a
new macro BOOST_YAP_USER_ASSIGN_OPERATOR_MEMBER() that guards against
assignment ambiguity.

Fixes #58.
2018-02-25 22:04:51 -06:00
Zach Laine
b25a907198 Add value checks to deref tests.
Fixes #56.
2018-02-25 16:21:16 -06:00
Zach Laine
0dbd7592b8 Fix transform() in the case that a default-handled nonterminal does not come
from an expression template; as_expr_result -> minimal_expr.

Fixes #60.
2018-02-25 14:58:52 -06:00
Zach Laine
f85c018dd8 Remove TODO.
Fixes #66.
2018-02-25 14:21:16 -06:00
Zach Laine
260dc0e82d Remove the now-redundant uses of as_expr(). 2018-02-23 21:50:06 -06:00
Zach Laine
46d9b4fe22 Improve vector_alloc_test based on review feedback.
Fixes #53.
2018-02-23 21:50:06 -06:00
Zach Laine
20e4faa593 Clang format in include/ and test/.
Fixes #42.
2018-02-20 01:15:52 -06:00
Zach Laine
36fdafaf38 Changes based on Part 3 of Steven Watanabe's review. 2018-02-20 01:02:41 -06:00
Zach Laine
8712988c25 Add expr_tag template to handle expr_kind <-> tag mapping.
Fixes #49.
2018-02-16 22:34:09 -06:00
Zach Laine
27380020d7 Revert "Transform terminals before they are unwrapped and given as arguments to"
This reverts commit 4e68505bab.

Fixes #40.
2018-02-15 21:24:20 -06:00
Zach Laine
191aa0c0ae Consolidate expression<> code into a single header.
Fixes #37.
2018-02-15 19:17:10 -06:00
Zach Laine
8282c4b10e Add Boost license copyright headers to all C++ files.
Fixes #31.
2018-02-15 18:07:48 -06:00
Zach Laine
f7a02fcc96 Fix accidentally passing if_else test. 2018-02-14 22:54:36 -06:00
Zach Laine
7d4b56e4ab Add test to verify that if_else evaluates only one of its alternatives.
Fixes #35
2018-02-14 21:27:06 -06:00
Zach Laine
63e88fe713 Add test of comma operator order of evaluation and ability to return void.
Fixes #34
2018-02-14 21:10:38 -06:00
Zach Laine
2adaeb8813 Remove customization point-based and their implicit tranformations,
evaluate_as(), and BOOST_YAP_CONVERSION_OPERATOR_TEMPLATE.

Fixes #29
Fixes #30
2018-02-14 20:32:00 -06:00
Zach Laine
55e9f33892 Remove this_type parameter from all member function macros. 2017-05-09 11:14:55 -05:00
Zach Laine
1b2ca8744b Make make_expression_function() follow the expression operand handling rules
used in operators.
2017-04-06 20:38:17 -05:00
Zach Laine
9d327542a6 Move is_expr<> up out of detail, and document it. 2017-04-06 19:09:44 -05:00
Zach Laine
4e68505bab Transform terminals before they are unwrapped and given as arguments to
TagTransforms.
2017-03-12 14:59:35 -05:00
Zach Laine
f46fbd26ac Extend transform tests with transforms that match terminals and nonterminals. 2017-03-12 14:57:44 -05:00
Zach Laine
ed1fb70939 Add a test of nested expression evaluation. 2016-12-21 20:11:37 -06:00
Zach Laine
7db4f6b187 Add placeholder case to print test. 2016-12-19 18:49:50 -06:00
Louis Dionne
c23c06e509 [CMake] Pull the setting up of dependencies into its own file
Also, properly define link/header dependencies between targets.
2016-12-18 17:49:23 -06:00
Louis Dionne
79c7972a03 [nfc] Use hana::is_a instead of ad-hoc function 2016-12-18 17:46:13 -06:00
Zach Laine
efcdc0cf67 Make tests C++14 friendly. 2016-12-17 23:17:04 -06:00
Zach Laine
31669e341b Implement placeholder as a terminal with a special value type. 2016-12-16 18:07:29 -06:00
Zach Laine
3c39a117b8 Flesh out Transform Matching section. 2016-12-13 23:39:14 -06:00
Zach Laine
1b7cd22217 Fill in customization points section. 2016-12-13 19:32:18 -06:00
Zach Laine
1fe42d079c TODO cruft removal. 2016-12-13 17:06:32 -06:00
Zach Laine
d6e3a4186c Add vector_alloc_test. 2016-12-12 14:32:43 -06:00
Zach Laine
548143b8fb Reduce the depth of the stress tests, for Travis VM compatability. 2016-12-09 23:46:08 -06:00
Zach Laine
1e3f6fb667 Add GCC support to CMake build. 2016-12-09 22:36:21 -06:00