diff anagram/agcore/rpz.cpp @ 6:607e3be6bad8

Adjust to the moving target called the C++ standard. Apparently nowadays it's not allowed to define an explicit copy constructor but not an assignment operator. Consequently, defining the explicit copy constructor in terms of the implicit/automatic assignment operator for general convenience no longer works. Add assignment operators. Caution: not tested with the IBM compiler, but there's no particular reason it shouldn't work.
author David A. Holland
date Mon, 30 May 2022 23:46:22 -0400
parents 13d2b8934445
children
line wrap: on
line diff
--- a/anagram/agcore/rpz.cpp	Mon May 30 23:32:56 2022 -0400
+++ b/anagram/agcore/rpz.cpp	Mon May 30 23:46:22 2022 -0400
@@ -319,7 +319,8 @@
     sis(tn);
     return;
   }
-  tn = n->token_number = Token::create();
+  n->token_number = Token::create();
+  tn = n->token_number;
   tn->token_name = n;
   tn->value_type = 0;
   if (!flag && n->parse_tree.isNotNull()) {
@@ -356,7 +357,8 @@
   rcs();
   LOGV((int) keyword->token_number);
   if (keyword->token_number.isNull()) {
-    Token token = keyword->token_number = Token::create();
+    keyword->token_number = Token::create();
+    Token token = keyword->token_number;
     LOGV((int) token);
     token->key = keyword;
     token->value_type = void_token_type;