I pushed this in maint, and merge it in master. Thanks! commit 406e8c7c02daf1b74eeacf9831763ceec128ab9b Author: Akim Demaille <akim.demai...@gmail.com> Date: Wed Sep 25 19:34:34 2019 +0200
c++: add copy ctors for compatibility with the IAR compiler Reported by Andreas Damm. https://savannah.gnu.org/support/?110032 * data/skeletons/lalr1.cc (stack_symbol_type::operator=): New overload, const, to please the IAR C++ compiler (version ca 2013). diff --git a/THANKS b/THANKS index 4d2b25f7..2cdd9b0b 100644 --- a/THANKS +++ b/THANKS @@ -10,6 +10,7 @@ Albert Chin-A-Young ch...@thewrittenword.com Alexander Belopolsky al...@rentec.com Alexandre Duret-Lutz a...@lrde.epita.fr Andre da Costa Barros andre.cbar...@yahoo.com +Andreas Damm ad...@onica.com Andreas Schwab sch...@suse.de Andrew Suffield asuffi...@users.sourceforge.net Angelo Borsotti angelo.borso...@gmail.com diff --git a/data/skeletons/lalr1.cc b/data/skeletons/lalr1.cc index d1c30403..3e1ac445 100644 --- a/data/skeletons/lalr1.cc +++ b/data/skeletons/lalr1.cc @@ -335,6 +335,10 @@ m4_define([b4_shared_declarations], /// Assignment, needed by push_back by some old implementations. /// Moves the contents of that. stack_symbol_type& operator= (stack_symbol_type& that); + + /// Assignment, needed by push_back by other implementations. + /// Needed by some other old implementations. + stack_symbol_type& operator= (const stack_symbol_type& that); #endif }; @@ -627,6 +631,17 @@ m4_if(b4_prefix, [yy], [], } #if YY_CPLUSPLUS < 201103L + ]b4_parser_class[::stack_symbol_type& + ]b4_parser_class[::stack_symbol_type::operator= (const stack_symbol_type& that) + { + state = that.state; + ]b4_variant_if([b4_symbol_variant([that.type_get ()], + [value], [copy], [that.value])], + [[value = that.value;]])[]b4_locations_if([ + location = that.location;])[ + return *this; + } + ]b4_parser_class[::stack_symbol_type& ]b4_parser_class[::stack_symbol_type::operator= (stack_symbol_type& that) {