Commit 9a427e9e authored by Francis Dupont's avatar Francis Dupont

[master] Regen flex/bison (with bison 3.2.2)

parent 2dd2b653
......@@ -271,7 +271,7 @@ namespace isc { namespace agent {
break;
}
#if defined __cplusplus && 201103L <= __cplusplus
#if 201103L <= YY_CPLUSPLUS
// that is emptied.
that.state = empty_state;
#endif
......@@ -312,7 +312,7 @@ namespace isc { namespace agent {
that.type = empty_symbol;
}
#if !defined __cplusplus || __cplusplus < 201103L
#if YY_CPLUSPLUS < 201103L
AgentParser::stack_symbol_type&
AgentParser::stack_symbol_type::operator= (stack_symbol_type& that)
{
......@@ -446,7 +446,7 @@ namespace isc { namespace agent {
void
AgentParser::yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym)
{
#if defined __cplusplus && 201103L <= __cplusplus
#if 201103L <= YY_CPLUSPLUS
yypush_ (m, stack_symbol_type (s, std::move (sym)));
#else
stack_symbol_type ss (s, sym);
......
......@@ -64,8 +64,14 @@ using namespace std;
# include <string>
# include <vector>
#if defined __cplusplus
# define YY_CPLUSPLUS __cplusplus
#else
# define YY_CPLUSPLUS 199711L
#endif
// Support move semantics when possible.
#if defined __cplusplus && 201103L <= __cplusplus
#if 201103L <= YY_CPLUSPLUS
# define YY_MOVE std::move
# define YY_MOVE_OR_COPY move
# define YY_MOVE_REF(Type) Type&&
......@@ -157,7 +163,7 @@ using namespace std;
#line 14 "agent_parser.yy" // lalr1.cc:404
namespace isc { namespace agent {
#line 161 "agent_parser.h" // lalr1.cc:404
#line 167 "agent_parser.h" // lalr1.cc:404
/// A stack with random access from its top.
template <typename T, typename S = std::vector<T> >
......@@ -323,7 +329,7 @@ namespace isc { namespace agent {
return *new (yyas_<T> ()) T ();
}
# if defined __cplusplus && 201103L <= __cplusplus
# if 201103L <= YY_CPLUSPLUS
/// Instantiate a \a T in here from \a t.
template <typename T, typename U>
T&
......@@ -411,7 +417,7 @@ namespace isc { namespace agent {
void
move (self_type& other)
{
# if defined __cplusplus && 201103L <= __cplusplus
# if 201103L <= YY_CPLUSPLUS
emplace<T> (std::move (other.as<T> ()));
# else
emplace<T> ();
......@@ -420,7 +426,7 @@ namespace isc { namespace agent {
other.destroy<T> ();
}
# if defined __cplusplus && 201103L <= __cplusplus
# if 201103L <= YY_CPLUSPLUS
/// Move the content of \a other to this.
template <typename T>
void
......@@ -608,12 +614,36 @@ namespace isc { namespace agent {
/// Constructor for valueless symbols, and symbols from each type.
basic_symbol (typename Base::kind_type t, YY_RVREF (location_type) l);
basic_symbol (typename Base::kind_type t, YY_RVREF (ElementPtr) v, YY_RVREF (location_type) l);
basic_symbol (typename Base::kind_type t, YY_RVREF (bool) v, YY_RVREF (location_type) l);
basic_symbol (typename Base::kind_type t, YY_RVREF (double) v, YY_RVREF (location_type) l);
basic_symbol (typename Base::kind_type t, YY_RVREF (int64_t) v, YY_RVREF (location_type) l);
basic_symbol (typename Base::kind_type t, YY_RVREF (std::string) v, YY_RVREF (location_type) l);
# if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, location_type&& l);
#else
basic_symbol (typename Base::kind_type t, const location_type& l);
#endif
# if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l);
#else
basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l);
#endif
# if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l);
#else
basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l);
#endif
# if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, double&& v, location_type&& l);
#else
basic_symbol (typename Base::kind_type t, const double& v, const location_type& l);
#endif
# if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l);
#else
basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l);
#endif
# if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l);
#else
basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l);
#endif
/// Destroy the symbol.
......@@ -635,7 +665,7 @@ namespace isc { namespace agent {
location_type location;
private:
#if !defined __cplusplus || __cplusplus < 201103L
#if YY_CPLUSPLUS < 201103L
/// Assignment operator.
basic_symbol& operator= (const basic_symbol& other);
#endif
......@@ -1032,7 +1062,7 @@ namespace isc { namespace agent {
stack_symbol_type (YY_RVREF (stack_symbol_type) that);
/// Steal the contents from \a sym to build this.
stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
#if !defined __cplusplus || __cplusplus < 201103L
#if YY_CPLUSPLUS < 201103L
/// Assignment, needed by push_back by some old implementations.
/// Moves the contents of that.
stack_symbol_type& operator= (stack_symbol_type& that);
......@@ -1182,47 +1212,94 @@ namespace isc { namespace agent {
// Implementation of basic_symbol constructor for each type.
# if 201103L <= YY_CPLUSPLUS
template <typename Base>
AgentParser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (location_type) l)
AgentParser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, location_type&& l)
: Base (t)
, location (YY_MOVE (l))
, location (std::move (l))
{}
#else
template <typename Base>
AgentParser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (ElementPtr) v, YY_RVREF (location_type) l)
AgentParser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const location_type& l)
: Base (t)
, value (YY_MOVE (v))
, location (YY_MOVE (l))
, location (l)
{}
#endif
# if 201103L <= YY_CPLUSPLUS
template <typename Base>
AgentParser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (bool) v, YY_RVREF (location_type) l)
AgentParser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l)
: Base (t)
, value (YY_MOVE (v))
, location (YY_MOVE (l))
, value (std::move (v))
, location (std::move (l))
{}
#else
template <typename Base>
AgentParser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (double) v, YY_RVREF (location_type) l)
AgentParser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l)
: Base (t)
, value (YY_MOVE (v))
, location (YY_MOVE (l))
, value (v)
, location (l)
{}
#endif
# if 201103L <= YY_CPLUSPLUS
template <typename Base>
AgentParser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (int64_t) v, YY_RVREF (location_type) l)
AgentParser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l)
: Base (t)
, value (YY_MOVE (v))
, location (YY_MOVE (l))
, value (std::move (v))
, location (std::move (l))
{}
#else
template <typename Base>
AgentParser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (std::string) v, YY_RVREF (location_type) l)
AgentParser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l)
: Base (t)
, value (YY_MOVE (v))
, location (YY_MOVE (l))
, value (v)
, location (l)
{}
#endif
# if 201103L <= YY_CPLUSPLUS
template <typename Base>
AgentParser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, double&& v, location_type&& l)
: Base (t)
, value (std::move (v))
, location (std::move (l))
{}
#else
template <typename Base>
AgentParser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const double& v, const location_type& l)
: Base (t)
, value (v)
, location (l)
{}
#endif
# if 201103L <= YY_CPLUSPLUS
template <typename Base>
AgentParser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l)
: Base (t)
, value (std::move (v))
, location (std::move (l))
{}
#else
template <typename Base>
AgentParser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l)
: Base (t)
, value (v)
, location (l)
{}
#endif
# if 201103L <= YY_CPLUSPLUS
template <typename Base>
AgentParser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l)
: Base (t)
, value (std::move (v))
, location (std::move (l))
{}
#else
template <typename Base>
AgentParser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l)
: Base (t)
, value (v)
, location (l)
{}
#endif
template <typename Base>
......@@ -1682,7 +1759,7 @@ namespace isc { namespace agent {
#line 14 "agent_parser.yy" // lalr1.cc:404
} } // isc::agent
#line 1686 "agent_parser.h" // lalr1.cc:404
#line 1763 "agent_parser.h" // lalr1.cc:404
......
// Generated 201811172153
// Generated 201811271343
// A Bison parser, made by GNU Bison 3.2.1.
// Locations for Bison parsers in C++
......
// Generated 201811172153
// Generated 201811271343
// A Bison parser, made by GNU Bison 3.2.1.
// Starting with Bison 3.2, this file is useless: the structure it
......
// Generated 201811172153
// Generated 201811271343
// A Bison parser, made by GNU Bison 3.2.1.
// Starting with Bison 3.2, this file is useless: the structure it
......
......@@ -271,7 +271,7 @@ namespace isc { namespace d2 {
break;
}
#if defined __cplusplus && 201103L <= __cplusplus
#if 201103L <= YY_CPLUSPLUS
// that is emptied.
that.state = empty_state;
#endif
......@@ -312,7 +312,7 @@ namespace isc { namespace d2 {
that.type = empty_symbol;
}
#if !defined __cplusplus || __cplusplus < 201103L
#if YY_CPLUSPLUS < 201103L
D2Parser::stack_symbol_type&
D2Parser::stack_symbol_type::operator= (stack_symbol_type& that)
{
......@@ -446,7 +446,7 @@ namespace isc { namespace d2 {
void
D2Parser::yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym)
{
#if defined __cplusplus && 201103L <= __cplusplus
#if 201103L <= YY_CPLUSPLUS
yypush_ (m, stack_symbol_type (s, std::move (sym)));
#else
stack_symbol_type ss (s, sym);
......
......@@ -65,8 +65,14 @@ using namespace std;
# include <string>
# include <vector>
#if defined __cplusplus
# define YY_CPLUSPLUS __cplusplus
#else
# define YY_CPLUSPLUS 199711L
#endif
// Support move semantics when possible.
#if defined __cplusplus && 201103L <= __cplusplus
#if 201103L <= YY_CPLUSPLUS
# define YY_MOVE std::move
# define YY_MOVE_OR_COPY move
# define YY_MOVE_REF(Type) Type&&
......@@ -158,7 +164,7 @@ using namespace std;
#line 14 "d2_parser.yy" // lalr1.cc:404
namespace isc { namespace d2 {
#line 162 "d2_parser.h" // lalr1.cc:404
#line 168 "d2_parser.h" // lalr1.cc:404
/// A stack with random access from its top.
template <typename T, typename S = std::vector<T> >
......@@ -324,7 +330,7 @@ namespace isc { namespace d2 {
return *new (yyas_<T> ()) T ();
}
# if defined __cplusplus && 201103L <= __cplusplus
# if 201103L <= YY_CPLUSPLUS
/// Instantiate a \a T in here from \a t.
template <typename T, typename U>
T&
......@@ -412,7 +418,7 @@ namespace isc { namespace d2 {
void
move (self_type& other)
{
# if defined __cplusplus && 201103L <= __cplusplus
# if 201103L <= YY_CPLUSPLUS
emplace<T> (std::move (other.as<T> ()));
# else
emplace<T> ();
......@@ -421,7 +427,7 @@ namespace isc { namespace d2 {
other.destroy<T> ();
}
# if defined __cplusplus && 201103L <= __cplusplus
# if 201103L <= YY_CPLUSPLUS
/// Move the content of \a other to this.
template <typename T>
void
......@@ -621,12 +627,36 @@ namespace isc { namespace d2 {
/// Constructor for valueless symbols, and symbols from each type.
basic_symbol (typename Base::kind_type t, YY_RVREF (location_type) l);
basic_symbol (typename Base::kind_type t, YY_RVREF (ElementPtr) v, YY_RVREF (location_type) l);
basic_symbol (typename Base::kind_type t, YY_RVREF (bool) v, YY_RVREF (location_type) l);
basic_symbol (typename Base::kind_type t, YY_RVREF (double) v, YY_RVREF (location_type) l);
basic_symbol (typename Base::kind_type t, YY_RVREF (int64_t) v, YY_RVREF (location_type) l);
basic_symbol (typename Base::kind_type t, YY_RVREF (std::string) v, YY_RVREF (location_type) l);
# if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, location_type&& l);
#else
basic_symbol (typename Base::kind_type t, const location_type& l);
#endif
# if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l);
#else
basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l);
#endif
# if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l);
#else
basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l);
#endif
# if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, double&& v, location_type&& l);
#else
basic_symbol (typename Base::kind_type t, const double& v, const location_type& l);
#endif
# if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l);
#else
basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l);
#endif
# if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l);
#else
basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l);
#endif
/// Destroy the symbol.
......@@ -648,7 +678,7 @@ namespace isc { namespace d2 {
location_type location;
private:
#if !defined __cplusplus || __cplusplus < 201103L
#if YY_CPLUSPLUS < 201103L
/// Assignment operator.
basic_symbol& operator= (const basic_symbol& other);
#endif
......@@ -1093,7 +1123,7 @@ namespace isc { namespace d2 {
stack_symbol_type (YY_RVREF (stack_symbol_type) that);
/// Steal the contents from \a sym to build this.
stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
#if !defined __cplusplus || __cplusplus < 201103L
#if YY_CPLUSPLUS < 201103L
/// Assignment, needed by push_back by some old implementations.
/// Moves the contents of that.
stack_symbol_type& operator= (stack_symbol_type& that);
......@@ -1245,47 +1275,94 @@ namespace isc { namespace d2 {
// Implementation of basic_symbol constructor for each type.
# if 201103L <= YY_CPLUSPLUS
template <typename Base>
D2Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (location_type) l)
D2Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, location_type&& l)
: Base (t)
, location (YY_MOVE (l))
, location (std::move (l))
{}
#else
template <typename Base>
D2Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (ElementPtr) v, YY_RVREF (location_type) l)
D2Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const location_type& l)
: Base (t)
, value (YY_MOVE (v))
, location (YY_MOVE (l))
, location (l)
{}
#endif
# if 201103L <= YY_CPLUSPLUS
template <typename Base>
D2Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (bool) v, YY_RVREF (location_type) l)
D2Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l)
: Base (t)
, value (YY_MOVE (v))
, location (YY_MOVE (l))
, value (std::move (v))
, location (std::move (l))
{}
#else
template <typename Base>
D2Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (double) v, YY_RVREF (location_type) l)
D2Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l)
: Base (t)
, value (YY_MOVE (v))
, location (YY_MOVE (l))
, value (v)
, location (l)
{}
#endif
# if 201103L <= YY_CPLUSPLUS
template <typename Base>
D2Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (int64_t) v, YY_RVREF (location_type) l)
D2Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l)
: Base (t)
, value (YY_MOVE (v))
, location (YY_MOVE (l))
, value (std::move (v))
, location (std::move (l))
{}
#else
template <typename Base>
D2Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (std::string) v, YY_RVREF (location_type) l)
D2Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l)
: Base (t)
, value (YY_MOVE (v))
, location (YY_MOVE (l))
, value (v)
, location (l)
{}
#endif
# if 201103L <= YY_CPLUSPLUS
template <typename Base>
D2Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, double&& v, location_type&& l)
: Base (t)
, value (std::move (v))
, location (std::move (l))
{}
#else
template <typename Base>
D2Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const double& v, const location_type& l)
: Base (t)
, value (v)
, location (l)
{}
#endif
# if 201103L <= YY_CPLUSPLUS
template <typename Base>
D2Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l)
: Base (t)
, value (std::move (v))
, location (std::move (l))
{}
#else
template <typename Base>
D2Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l)
: Base (t)
, value (v)
, location (l)
{}
#endif
# if 201103L <= YY_CPLUSPLUS
template <typename Base>
D2Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l)
: Base (t)
, value (std::move (v))
, location (std::move (l))
{}
#else
template <typename Base>
D2Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l)
: Base (t)
, value (v)
, location (l)
{}
#endif
template <typename Base>
......@@ -1830,7 +1907,7 @@ namespace isc { namespace d2 {
#line 14 "d2_parser.yy" // lalr1.cc:404
} } // isc::d2
#line 1834 "d2_parser.h" // lalr1.cc:404
#line 1911 "d2_parser.h" // lalr1.cc:404
......
// Generated 201811172153
// Generated 201811271344
// A Bison parser, made by GNU Bison 3.2.1.
// Locations for Bison parsers in C++
......
// Generated 201811172153
// Generated 201811271344
// A Bison parser, made by GNU Bison 3.2.1.
// Starting with Bison 3.2, this file is useless: the structure it
......
// Generated 201811172153
// Generated 201811271344
// A Bison parser, made by GNU Bison 3.2.1.
// Starting with Bison 3.2, this file is useless: the structure it
......
......@@ -276,7 +276,7 @@ namespace isc { namespace dhcp {
break;
}
#if defined __cplusplus && 201103L <= __cplusplus
#if 201103L <= YY_CPLUSPLUS
// that is emptied.
that.state = empty_state;
#endif
......@@ -322,7 +322,7 @@ namespace isc { namespace dhcp {
that.type = empty_symbol;
}
#if !defined __cplusplus || __cplusplus < 201103L
#if YY_CPLUSPLUS < 201103L
Dhcp4Parser::stack_symbol_type&
Dhcp4Parser::stack_symbol_type::operator= (stack_symbol_type& that)
{
......@@ -496,7 +496,7 @@ namespace isc { namespace dhcp {
void
Dhcp4Parser::yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym)
{
#if defined __cplusplus && 201103L <= __cplusplus
#if 201103L <= YY_CPLUSPLUS
yypush_ (m, stack_symbol_type (s, std::move (sym)));
#else
stack_symbol_type ss (s, sym);
......
......@@ -65,8 +65,14 @@ using namespace std;
# include <string>
# include <vector>
#if defined __cplusplus
# define YY_CPLUSPLUS __cplusplus
#else
# define YY_CPLUSPLUS 199711L
#endif
// Support move semantics when possible.
#if defined __cplusplus && 201103L <= __cplusplus
#if 201103L <= YY_CPLUSPLUS
# define YY_MOVE std::move
# define YY_MOVE_OR_COPY move
# define YY_MOVE_REF(Type) Type&&
......@@ -158,7 +164,7 @@ using namespace std;
#line 14 "dhcp4_parser.yy" // lalr1.cc:404
namespace isc { namespace dhcp {
#line 162 "dhcp4_parser.h" // lalr1.cc:404
#line 168 "dhcp4_parser.h" // lalr1.cc:404
/// A stack with random access from its top.
template <typename T, typename S = std::vector<T> >
......@@ -324,7 +330,7 @@ namespace isc { namespace dhcp {
return *new (yyas_<T> ()) T ();
}
# if defined __cplusplus && 201103L <= __cplusplus
# if 201103L <= YY_CPLUSPLUS
/// Instantiate a \a T in here from \a t.
template <typename T, typename U>
T&
......@@ -412,7 +418,7 @@ namespace isc { namespace dhcp {
void
move (self_type& other)
{
# if defined __cplusplus && 201103L <= __cplusplus
# if 201103L <= YY_CPLUSPLUS
emplace<T> (std::move (other.as<T> ()));
# else
emplace<T> ();
......@@ -421,7 +427,7 @@ namespace isc { namespace dhcp {
other.destroy<T> ();
}
# if defined __cplusplus && 201103L <= __cplusplus
# if 201103L <= YY_CPLUSPLUS
/// Move the content of \a other to this.
template <typename T>
void
......@@ -738,12 +744,36 @@ namespace isc { namespace dhcp {
/// Constructor for valueless symbols, and symbols from each type.
basic_symbol (typename Base::kind_type t, YY_RVREF (location_type) l);
basic_symbol (typename Base::kind_type t, YY_RVREF (ElementPtr) v, YY_RVREF (location_type) l);
basic_symbol (typename Base::kind_type t, YY_RVREF (bool) v, YY_RVREF (location_type) l);
basic_symbol (typename Base::kind_type t, YY_RVREF (double) v, YY_RVREF (location_type) l);
basic_symbol (typename Base::kind_type t, YY_RVREF (int64_t) v, YY_RVREF (location_type) l);
basic_symbol (typename Base::kind_type t, YY_RVREF (std::string) v, YY_RVREF (location_type) l);
# if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, location_type&& l);
#else
basic_symbol (typename Base::kind_type t, const location_type& l);
#endif
# if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l);
#else
basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l);
#endif
# if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l);
#else
basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l);
#endif
# if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, double&& v, location_type&& l);
#else
basic_symbol (typename Base::kind_type t, const double& v, const location_type& l);
#endif
# if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l);
#else
basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l);
#endif
# if 201103L <= YY_CPLUSPLUS
basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l);
#else
basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l);
#endif
/// Destroy the symbol.
......@@ -765,7 +795,7 @@ namespace isc { namespace dhcp {
location_type location;
private:
#if !defined __cplusplus || __cplusplus < 201103L
#if YY_CPLUSPLUS < 201103L
/// Assignment operator.
basic_symbol& operator= (const basic_symbol& other);
#endif
......@@ -1658,7 +1688,7 @@ namespace isc { namespace dhcp {
stack_symbol_type (YY_RVREF (stack_symbol_type) that);
/// Steal the contents from \a sym to build this.
stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
#if !defined __cplusplus || __cplusplus < 201103L
#if YY_CPLUSPLUS < 201103L
/// Assignment, needed by push_back by some old implementations.
/// Moves the contents of that.
stack_symbol_type& operator= (stack_symbol_type& that);
......@@ -1826,47 +1856,94 @@ namespace isc { namespace dhcp {
// Implementation of basic_symbol constructor for each type.
# if 201103L <= YY_CPLUSPLUS
template <typename Base>
Dhcp4Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, YY_RVREF (location_type) l)
Dhcp4Parser::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, location_type&& l)
: Base (t)