From 85278a69707ec85db28e9a1b11d708ab550592ce Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 7 May 2018 23:18:55 -0700 Subject: qlalr: fix build in C++17 std::unary_function and std::binary_function are gone. Remove their uses. Change-Id: I5d0ee9389a794d80983efffd152c96f0f2149b40 Reviewed-by: Lars Knoll --- src/tools/qlalr/compress.cpp | 6 +++--- src/tools/qlalr/lalr.cpp | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/tools/qlalr/compress.cpp b/src/tools/qlalr/compress.cpp index a486e68c4a..0ededbd920 100644 --- a/src/tools/qlalr/compress.cpp +++ b/src/tools/qlalr/compress.cpp @@ -37,7 +37,7 @@ #define QLALR_NO_CHECK_SORTED_TABLE -struct _Fit: public std::binary_function +struct _Fit { inline bool operator () (int a, int b) const { @@ -45,7 +45,7 @@ struct _Fit: public std::binary_function } }; -struct _PerfectMatch: public std::binary_function +struct _PerfectMatch { inline bool operator () (int a, int b) const { return a == b; } @@ -135,7 +135,7 @@ private: const_iterator _M_endNonZeros; }; -struct _SortUncompressedRow: public std::binary_function +struct _SortUncompressedRow { inline bool operator () (const UncompressedRow &a, const UncompressedRow &b) const { return a.count (0) > b.count (0); } diff --git a/src/tools/qlalr/lalr.cpp b/src/tools/qlalr/lalr.cpp index 00597d1379..ec960925aa 100644 --- a/src/tools/qlalr/lalr.cpp +++ b/src/tools/qlalr/lalr.cpp @@ -242,8 +242,9 @@ void Grammar::buildExtendedGrammar () non_terminals.insert (accept_symbol); } -struct Nullable: public std::unary_function +struct Nullable { + typedef Name argument_type; Automaton *_M_automaton; Nullable (Automaton *aut): -- cgit v1.2.3