mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
lalr1.cc: fix compiler warnings
Reported by Rob Conde. http://lists.gnu.org/archive/html/bug-bison/2013-03/msg00003.html * data/stack.hh (operator=, stack(const stack&)): Make this class uncopyable, i.e., "undefine" these operators: make them private and don't implement them. (clear): New. * data/lalr1.cc: Use it instead of an assignment. (parser): Make this class uncopyable.
This commit is contained in:
@@ -107,6 +107,10 @@ b4_user_stype
|
||||
#endif
|
||||
|
||||
private:
|
||||
/// This class is not copyable.
|
||||
]b4_parser_class_name[ (const ]b4_parser_class_name[&);
|
||||
]b4_parser_class_name[& operator= (const ]b4_parser_class_name[&);
|
||||
|
||||
/// Report a syntax error.
|
||||
/// \param loc where the syntax error is found.
|
||||
/// \param msg a description of the syntax error.
|
||||
@@ -552,9 +556,9 @@ b4_dollar_popdef])[]dnl
|
||||
yynewstate, since the latter expects the semantical and the
|
||||
location values to have been already stored, initialize these
|
||||
stacks with a primary value. */
|
||||
yystate_stack_ = state_stack_type (0);
|
||||
yysemantic_stack_ = semantic_stack_type (0);
|
||||
yylocation_stack_ = location_stack_type (0);
|
||||
yystate_stack_.clear ();
|
||||
yysemantic_stack_.clear ();
|
||||
yylocation_stack_.clear ();
|
||||
yysemantic_stack_.push (yylval);
|
||||
yylocation_stack_.push (yylloc);
|
||||
|
||||
|
||||
@@ -77,6 +77,12 @@ b4_copyright([Stack handling for Bison parsers in C++],
|
||||
seq_.pop_front ();
|
||||
}
|
||||
|
||||
void
|
||||
clear ()
|
||||
{
|
||||
seq_.clear ();
|
||||
}
|
||||
|
||||
inline
|
||||
unsigned int
|
||||
height () const
|
||||
@@ -88,6 +94,8 @@ b4_copyright([Stack handling for Bison parsers in C++],
|
||||
inline const_iterator end () const { return seq_.rend (); }
|
||||
|
||||
private:
|
||||
stack (const stack&);
|
||||
stack& operator= (const stack&);
|
||||
S seq_;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user