From e8eae00afe76fdeadde32e6cd02c4fa90c2625ed Mon Sep 17 00:00:00 2001 From: Zach Laine Date: Fri, 18 Nov 2016 18:58:57 -0600 Subject: [PATCH] Add -Wall; fix warnings. --- CMakeLists.txt | 2 +- perf/code_gen_samples.cpp | 3 +++ print.hpp | 1 - test/CMakeLists.txt | 2 +- test/compile_const_term.cpp | 9 ++++--- test/compile_copy_only_types.cpp | 11 ++++----- test/compile_move_only_types.cpp | 9 +++---- test/compile_placeholders.cpp | 9 ++++--- test/compile_term_plus_expr.cpp | 21 ++++++++++++---- test/compile_term_plus_term.cpp | 24 +++++++++++++++---- test/compile_term_plus_x.cpp | 20 ++++++++++++---- ...compile_term_plus_x_this_ref_overloads.cpp | 20 ++++++++++++---- test/compile_tests_main.cpp | 19 +++++++++++++++ test/compile_x_plus_term.cpp | 20 ++++++++++++---- 14 files changed, 120 insertions(+), 50 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e7a0a36..29adfbf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.6) -add_definitions(-std=c++1z -stdlib=libc++ -g) +add_definitions(-std=c++1z -stdlib=libc++ -g -Wall) add_subdirectory(googletest-release-1.8.0) diff --git a/perf/code_gen_samples.cpp b/perf/code_gen_samples.cpp index e24a5a5..d9bbe2a 100644 --- a/perf/code_gen_samples.cpp +++ b/perf/code_gen_samples.cpp @@ -169,5 +169,8 @@ int main () user::number result_1 = eval_as_proto_expr(expr); user::number result_2 = eval_as_cpp_expr(a, x, y); + (void)result_1; + (void)result_2; + return 0; } diff --git a/print.hpp b/print.hpp index d0df00d..4f50071 100644 --- a/print.hpp +++ b/print.hpp @@ -80,7 +80,6 @@ namespace boost::proto17 { os << " const"; if (std::is_volatile_v) os << " volatile"; - using no_cv_t = std::remove_cv_t; if (std::is_lvalue_reference_v) os << " &"; if (std::is_rvalue_reference_v) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index adc43ef..366cb30 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -42,5 +42,5 @@ add_executable( compile_term_plus_x_this_ref_overloads.cpp compile_const_term.cpp compile_move_only_types.cpp - # ICE! compile_copy_only_types.cpp + compile_copy_only_types.cpp ) diff --git a/test/compile_const_term.cpp b/test/compile_const_term.cpp index 9bc2cda..2f6aada 100644 --- a/test/compile_const_term.cpp +++ b/test/compile_const_term.cpp @@ -7,9 +7,7 @@ using term = boost::proto17::terminal; namespace bp17 = boost::proto17; -namespace { - -void compile() +void compile_const_term () { { term unity{1.0}; @@ -29,6 +27,7 @@ void compile() term > > unevaluated_expr = unity + std::move(expr); + (void)unevaluated_expr; } { @@ -49,6 +48,7 @@ void compile() term > > unevaluated_expr = unity + std::move(expr); + (void)unevaluated_expr; } { @@ -69,7 +69,6 @@ void compile() term > > unevaluated_expr = unity + std::move(expr); + (void)unevaluated_expr; } } - -} diff --git a/test/compile_copy_only_types.cpp b/test/compile_copy_only_types.cpp index ce01379..c9d8ad7 100644 --- a/test/compile_copy_only_types.cpp +++ b/test/compile_copy_only_types.cpp @@ -8,9 +8,7 @@ using term = boost::proto17::terminal; namespace bp17 = boost::proto17; -namespace { - -auto double_to_float (term expr) +inline auto double_to_float (term expr) { return term{(float)expr.value()}; } struct copy_only_t @@ -21,8 +19,9 @@ struct copy_only_t int value; }; -void compile() +void compile_copy_only_types () { +#if 0 // TODO: This ICEs! term unity{1}; term d{3.5}; bp17::expression< @@ -42,6 +41,6 @@ void compile() > expr_2 = unity + expr_1; auto transformed_expr = transform(expr_2, double_to_float); -} - + (void)transformed_expr; +#endif } diff --git a/test/compile_move_only_types.cpp b/test/compile_move_only_types.cpp index 833049c..41aca07 100644 --- a/test/compile_move_only_types.cpp +++ b/test/compile_move_only_types.cpp @@ -8,12 +8,10 @@ using term = boost::proto17::terminal; namespace bp17 = boost::proto17; -namespace { - -auto double_to_float (term expr) +inline auto double_to_float (term expr) { return term{(float)expr.value()}; } -void compile() +void compile_move_only_types () { term unity{1.0}; term> i{new int{7}}; @@ -34,6 +32,5 @@ void compile() > expr_2 = unity + std::move(expr_1); auto transformed_expr = transform(std::move(expr_2), double_to_float); -} - + (void)transformed_expr; } diff --git a/test/compile_placeholders.cpp b/test/compile_placeholders.cpp index afd92d6..2e80156 100644 --- a/test/compile_placeholders.cpp +++ b/test/compile_placeholders.cpp @@ -7,14 +7,13 @@ using term = boost::proto17::terminal; namespace bp17 = boost::proto17; -namespace { - -void compile() +void compile_placeholders () { using namespace boost::proto17::literals; { bp17::placeholder<0> p0 = 0_p; + (void)p0; } { @@ -25,6 +24,7 @@ void compile() bp17::placeholder<0>, term > expr = p0 + unity; + (void)expr; } { @@ -34,7 +34,6 @@ void compile() bp17::placeholder<0>, bp17::placeholder<1> > expr = p0 + 1_p; + (void)expr; } } - -} diff --git a/test/compile_term_plus_expr.cpp b/test/compile_term_plus_expr.cpp index fa649a9..c47bbe2 100644 --- a/test/compile_term_plus_expr.cpp +++ b/test/compile_term_plus_expr.cpp @@ -7,9 +7,7 @@ using term = boost::proto17::terminal; namespace bp17 = boost::proto17; -namespace { - -void compile () +void compile_term_plus_expr () { // values { @@ -29,6 +27,7 @@ void compile () term > > unevaluated_expr = unity + expr; + (void)unevaluated_expr; } { @@ -48,6 +47,7 @@ void compile () term > > unevaluated_expr = unity + expr; + (void)unevaluated_expr; } { @@ -67,6 +67,7 @@ void compile () term > > unevaluated_expr = unity + expr; + (void)unevaluated_expr; } // const value terminals/expressions @@ -87,6 +88,7 @@ void compile () term > > unevaluated_expr = unity + expr; + (void)unevaluated_expr; } { @@ -106,6 +108,7 @@ void compile () term > > unevaluated_expr = unity + expr; + (void)unevaluated_expr; } // lvalue refs @@ -127,6 +130,7 @@ void compile () term > > unevaluated_expr = unity + expr; + (void)unevaluated_expr; } { @@ -147,6 +151,7 @@ void compile () term > > unevaluated_expr = unity + expr; + (void)unevaluated_expr; } { @@ -167,6 +172,7 @@ void compile () term > > unevaluated_expr = unity + expr; + (void)unevaluated_expr; } { @@ -187,6 +193,7 @@ void compile () term > > unevaluated_expr = unity + std::move(expr); + (void)unevaluated_expr; } { @@ -207,6 +214,7 @@ void compile () term > > unevaluated_expr = unity + std::move(expr); + (void)unevaluated_expr; } { @@ -227,6 +235,7 @@ void compile () term > > unevaluated_expr = unity + std::move(expr); + (void)unevaluated_expr; } // rvalue refs @@ -248,6 +257,7 @@ void compile () term > > unevaluated_expr = unity + std::move(expr); + (void)unevaluated_expr; } { @@ -268,6 +278,7 @@ void compile () term > > unevaluated_expr = unity + std::move(expr); + (void)unevaluated_expr; } { @@ -288,6 +299,7 @@ void compile () term > > unevaluated_expr = unity + std::move(expr); + (void)unevaluated_expr; } { @@ -308,7 +320,6 @@ void compile () term > > unevaluated_expr = unity + std::move(expr); + (void)unevaluated_expr; } } - -} diff --git a/test/compile_term_plus_term.cpp b/test/compile_term_plus_term.cpp index 2fe0646..b4c3b5b 100644 --- a/test/compile_term_plus_term.cpp +++ b/test/compile_term_plus_term.cpp @@ -10,9 +10,7 @@ using term = boost::proto17::terminal; namespace bp17 = boost::proto17; -namespace { - -void compile () +void compile_term_plus_term () { using namespace std::literals; @@ -24,6 +22,7 @@ void compile () term, term > unevaluated_expr = unity + term{"3"}; + (void)unevaluated_expr; } // std::string temporary @@ -34,6 +33,7 @@ void compile () term, term > unevaluated_expr = unity + term{"3"s}; + (void)unevaluated_expr; } // pointers @@ -46,6 +46,7 @@ void compile () term, term > unevaluated_expr = unity + ints; + (void)unevaluated_expr; } { @@ -57,6 +58,7 @@ void compile () term, term > unevaluated_expr = unity + ints; + (void)unevaluated_expr; } { @@ -68,6 +70,7 @@ void compile () term, term > unevaluated_expr = unity + std::move(ints); + (void)unevaluated_expr; } // const pointers @@ -80,6 +83,7 @@ void compile () term, term > unevaluated_expr = unity + int_ptr; + (void)unevaluated_expr; } { @@ -91,6 +95,7 @@ void compile () term, term > unevaluated_expr = unity + int_ptr; + (void)unevaluated_expr; } { @@ -102,6 +107,7 @@ void compile () term, term > unevaluated_expr = unity + std::move(int_ptr); + (void)unevaluated_expr; } // values @@ -113,6 +119,7 @@ void compile () term, term > unevaluated_expr = unity + i; + (void)unevaluated_expr; } { @@ -123,6 +130,7 @@ void compile () term, term > unevaluated_expr = unity + i; + (void)unevaluated_expr; } { @@ -133,6 +141,7 @@ void compile () term, term > unevaluated_expr = unity + std::move(i); + (void)unevaluated_expr; } // const value terminals @@ -144,6 +153,7 @@ void compile () term, term > unevaluated_expr = unity + i; + (void)unevaluated_expr; } { @@ -154,6 +164,7 @@ void compile () term, term > unevaluated_expr = unity + i; + (void)unevaluated_expr; } // lvalue refs @@ -166,6 +177,7 @@ void compile () term, term > unevaluated_expr = unity + i; + (void)unevaluated_expr; } { @@ -177,6 +189,7 @@ void compile () term, term > unevaluated_expr = unity + i; + (void)unevaluated_expr; } { @@ -188,6 +201,7 @@ void compile () term, term > unevaluated_expr = unity + std::move(i); + (void)unevaluated_expr; } // rvalue refs @@ -200,6 +214,7 @@ void compile () term, term > unevaluated_expr = unity + std::move(i); + (void)unevaluated_expr; } { @@ -211,7 +226,6 @@ void compile () term, term > unevaluated_expr = unity + std::move(i); + (void)unevaluated_expr; } } - -} diff --git a/test/compile_term_plus_x.cpp b/test/compile_term_plus_x.cpp index 556e9d4..0c981a2 100644 --- a/test/compile_term_plus_x.cpp +++ b/test/compile_term_plus_x.cpp @@ -10,9 +10,7 @@ using term = boost::proto17::terminal; namespace bp17 = boost::proto17; -namespace { - -void compile () +void compile_term_plus_x () { using namespace std::literals; @@ -24,6 +22,7 @@ void compile () term, term > unevaluated_expr = unity + "3"; + (void)unevaluated_expr; } // std::string temporary @@ -34,6 +33,7 @@ void compile () term, term > unevaluated_expr = unity + "3"s; + (void)unevaluated_expr; } // arrays @@ -45,6 +45,7 @@ void compile () term, term > unevaluated_expr = unity + ints; + (void)unevaluated_expr; } { @@ -55,6 +56,7 @@ void compile () term, term > unevaluated_expr = unity + ints; + (void)unevaluated_expr; } { @@ -65,6 +67,7 @@ void compile () term, term > unevaluated_expr = unity + std::move(ints); + (void)unevaluated_expr; } // pointers @@ -77,6 +80,7 @@ void compile () term, term > unevaluated_expr = unity + int_ptr; + (void)unevaluated_expr; } { @@ -88,6 +92,7 @@ void compile () term, term > unevaluated_expr = unity + int_ptr; + (void)unevaluated_expr; } { @@ -99,6 +104,7 @@ void compile () term, term > unevaluated_expr = unity + std::move(int_ptr); + (void)unevaluated_expr; } // const pointers @@ -111,6 +117,7 @@ void compile () term, term > unevaluated_expr = unity + int_ptr; + (void)unevaluated_expr; } { @@ -122,6 +129,7 @@ void compile () term, term > unevaluated_expr = unity + int_ptr; + (void)unevaluated_expr; } { @@ -133,6 +141,7 @@ void compile () term, term > unevaluated_expr = unity + std::move(int_ptr); + (void)unevaluated_expr; } // values @@ -144,6 +153,7 @@ void compile () term, term > unevaluated_expr = unity + i; + (void)unevaluated_expr; } { @@ -154,6 +164,7 @@ void compile () term, term > unevaluated_expr = unity + i; + (void)unevaluated_expr; } { @@ -164,7 +175,6 @@ void compile () term, term > unevaluated_expr = unity + std::move(i); + (void)unevaluated_expr; } } - -} diff --git a/test/compile_term_plus_x_this_ref_overloads.cpp b/test/compile_term_plus_x_this_ref_overloads.cpp index 556e9d4..9440c90 100644 --- a/test/compile_term_plus_x_this_ref_overloads.cpp +++ b/test/compile_term_plus_x_this_ref_overloads.cpp @@ -10,9 +10,7 @@ using term = boost::proto17::terminal; namespace bp17 = boost::proto17; -namespace { - -void compile () +void compile_term_plus_x_this_ref_overloads () { using namespace std::literals; @@ -24,6 +22,7 @@ void compile () term, term > unevaluated_expr = unity + "3"; + (void)unevaluated_expr; } // std::string temporary @@ -34,6 +33,7 @@ void compile () term, term > unevaluated_expr = unity + "3"s; + (void)unevaluated_expr; } // arrays @@ -45,6 +45,7 @@ void compile () term, term > unevaluated_expr = unity + ints; + (void)unevaluated_expr; } { @@ -55,6 +56,7 @@ void compile () term, term > unevaluated_expr = unity + ints; + (void)unevaluated_expr; } { @@ -65,6 +67,7 @@ void compile () term, term > unevaluated_expr = unity + std::move(ints); + (void)unevaluated_expr; } // pointers @@ -77,6 +80,7 @@ void compile () term, term > unevaluated_expr = unity + int_ptr; + (void)unevaluated_expr; } { @@ -88,6 +92,7 @@ void compile () term, term > unevaluated_expr = unity + int_ptr; + (void)unevaluated_expr; } { @@ -99,6 +104,7 @@ void compile () term, term > unevaluated_expr = unity + std::move(int_ptr); + (void)unevaluated_expr; } // const pointers @@ -111,6 +117,7 @@ void compile () term, term > unevaluated_expr = unity + int_ptr; + (void)unevaluated_expr; } { @@ -122,6 +129,7 @@ void compile () term, term > unevaluated_expr = unity + int_ptr; + (void)unevaluated_expr; } { @@ -133,6 +141,7 @@ void compile () term, term > unevaluated_expr = unity + std::move(int_ptr); + (void)unevaluated_expr; } // values @@ -144,6 +153,7 @@ void compile () term, term > unevaluated_expr = unity + i; + (void)unevaluated_expr; } { @@ -154,6 +164,7 @@ void compile () term, term > unevaluated_expr = unity + i; + (void)unevaluated_expr; } { @@ -164,7 +175,6 @@ void compile () term, term > unevaluated_expr = unity + std::move(i); + (void)unevaluated_expr; } } - -} diff --git a/test/compile_tests_main.cpp b/test/compile_tests_main.cpp index bbfe069..49ce5eb 100644 --- a/test/compile_tests_main.cpp +++ b/test/compile_tests_main.cpp @@ -1,3 +1,22 @@ +void compile_const_term(); +void compile_copy_only_types(); +void compile_move_only_types(); +void compile_placeholders(); +void compile_term_plus_expr(); +void compile_term_plus_term(); +void compile_term_plus_x(); +void compile_term_plus_x_this_ref_overloads(); +void compile_x_plus_term(); + int main () { + compile_const_term(); + compile_copy_only_types(); + compile_move_only_types(); + compile_placeholders(); + compile_term_plus_expr(); + compile_term_plus_term(); + compile_term_plus_x(); + compile_term_plus_x_this_ref_overloads(); + compile_x_plus_term(); } diff --git a/test/compile_x_plus_term.cpp b/test/compile_x_plus_term.cpp index 365e6a2..a371339 100644 --- a/test/compile_x_plus_term.cpp +++ b/test/compile_x_plus_term.cpp @@ -10,9 +10,7 @@ using term = boost::proto17::terminal; namespace bp17 = boost::proto17; -namespace { - -void compile () +void compile_x_plus_term () { using namespace std::literals; @@ -24,6 +22,7 @@ void compile () term, term > unevaluated_expr = "3" + unity; + (void)unevaluated_expr; } // std::string temporary @@ -34,6 +33,7 @@ void compile () term, term > unevaluated_expr = "3"s + unity; + (void)unevaluated_expr; } // arrays @@ -45,6 +45,7 @@ void compile () term, term > unevaluated_expr = ints + unity; + (void)unevaluated_expr; } { @@ -55,6 +56,7 @@ void compile () term, term > unevaluated_expr = ints + unity; + (void)unevaluated_expr; } { @@ -65,6 +67,7 @@ void compile () term, term > unevaluated_expr = std::move(ints) + unity; + (void)unevaluated_expr; } // pointers @@ -77,6 +80,7 @@ void compile () term, term > unevaluated_expr = int_ptr + unity; + (void)unevaluated_expr; } { @@ -88,6 +92,7 @@ void compile () term, term > unevaluated_expr = int_ptr + unity; + (void)unevaluated_expr; } { @@ -99,6 +104,7 @@ void compile () term, term > unevaluated_expr = std::move(int_ptr) + unity; + (void)unevaluated_expr; } // const pointers @@ -111,6 +117,7 @@ void compile () term, term > unevaluated_expr = int_ptr + unity; + (void)unevaluated_expr; } { @@ -122,6 +129,7 @@ void compile () term, term > unevaluated_expr = int_ptr + unity; + (void)unevaluated_expr; } { @@ -133,6 +141,7 @@ void compile () term, term > unevaluated_expr = std::move(int_ptr) + unity; + (void)unevaluated_expr; } // values @@ -144,6 +153,7 @@ void compile () term, term > unevaluated_expr = i + unity; + (void)unevaluated_expr; } { @@ -154,6 +164,7 @@ void compile () term, term > unevaluated_expr = i + unity; + (void)unevaluated_expr; } { @@ -164,7 +175,6 @@ void compile () term, term > unevaluated_expr = std::move(i) + unity; + (void)unevaluated_expr; } } - -}