Index: src/Parser/ExpressionNode.cc
===================================================================
--- src/Parser/ExpressionNode.cc	(revision cf5af9c8d29577a706fa60398a64924729dc5c24)
+++ src/Parser/ExpressionNode.cc	(revision 20f5eb8fcd1dbe0855f09f5501bde1b4136fe6f3)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 13:17:07 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jul 13 21:12:02 2020
-// Update Count     : 1043
+// Last Modified On : Wed Jul 15 08:24:08 2020
+// Update Count     : 1046
 //
 
@@ -222,7 +222,4 @@
 			} else {									// octal int128 constant
 				unsigned int len = str.length();
-				char buf[32];
-				__int128 val = v;
-				
 				if ( len > 1 + 43 || (len == 1 + 43 && str[0] > '3') ) SemanticError( yylloc, "128-bit octal constant to large " + str );
 				if ( len <= 1 + 21 ) {					// value < 21 octal digitis
@@ -230,5 +227,5 @@
 				} else {
 					sscanf( &str[len - 21], "%llo", &v );
-					val = v;							// store bits
+					__int128 val = v;					// accumulate bits
 					str[len - 21] ='\0';				// shorten string
 					sscanf( &str[len == 43 ? 1 : 0], "%llo", &v );
@@ -240,4 +237,5 @@
 					} // if
 					v = val >> 64; v2 = (uint64_t)val;	// replace octal constant with 2 hex constants
+					char buf[32];
 					sprintf( buf, "%#llx", v2 );
 					str2 = buf;
@@ -256,7 +254,4 @@
 			#define P10_UINT64 10'000'000'000'000'000'000ULL // 19 zeroes
 			unsigned int len = str.length();
-			char buf[32];
-			__int128 val = v;
-
 			if ( str.length() == 39 && str > (Unsigned ? "340282366920938463463374607431768211455" : "170141183460469231731687303715884105727") )
 				SemanticError( yylloc, "128-bit decimal constant to large " + str );
@@ -265,5 +260,5 @@
 			} else {
 				sscanf( &str[len - 19], "%llu", &v );
-				val = v;								// store bits
+				__int128 val = v;						// accumulate bits
 				str[len - 19] ='\0';					// shorten string
 				sscanf( &str[len == 39 ? 1 : 0], "%llu", &v );
@@ -275,4 +270,5 @@
 				} // if
 				v = val >> 64; v2 = (uint64_t)val;		// replace decimal constant with 2 hex constants
+				char buf[32];
 				sprintf( buf, "%#llx", v2 );
 				str2 = buf;
