Index: src/Parser/ExpressionNode.cc
===================================================================
--- src/Parser/ExpressionNode.cc	(revision ccb776b460be3a146c8fa7ddd58eaea3add21af3)
+++ src/Parser/ExpressionNode.cc	(revision cf5af9c8d29577a706fa60398a64924729dc5c24)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 13:17:07 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Jul 12 11:55:44 2020
-// Update Count     : 1040
+// Last Modified On : Mon Jul 13 21:12:02 2020
+// Update Count     : 1043
 //
 
@@ -186,7 +186,7 @@
 	// Cannot be just "0"/"1"; sscanf stops at the suffix, if any; value goes over the wall => always generate
 
-#if __SIZEOF_POINTER__ == 4								// 32-bit mode
+#if ! defined(__SIZEOF_INT128__)
 	if ( type == 5 ) SemanticError( yylloc, "int128 constant is not supported on this target " + str );
-#endif // 32-bit mode
+#endif // ! __SIZEOF_INT128__
 	
 	if ( str[0] == '0' ) {								// radix character ?
@@ -219,5 +219,5 @@
 			if ( type < 5 ) {							// not L128 ?
 				sscanf( (char *)str.c_str(), "%llo", &v );
-#if __SIZEOF_POINTER__ == 8								// 64-bit mode
+#if defined(__SIZEOF_INT128__)
 			} else {									// octal int128 constant
 				unsigned int len = str.length();
@@ -245,5 +245,5 @@
 					str = buf;
 				} // if
-#endif // 64-bit mode
+#endif // __SIZEOF_INT128__
 			} // if
 			//printf( "%#llo %llu\n", v, v );
@@ -252,5 +252,5 @@
 		if ( type < 5 ) {								// not L128 ?
 			sscanf( (char *)str.c_str(), "%llu", &v );
-#if __SIZEOF_POINTER__ == 8								// 64-bit mode
+#if defined(__SIZEOF_INT128__)
 		} else {										// decimal int128 constant
 			#define P10_UINT64 10'000'000'000'000'000'000ULL // 19 zeroes
@@ -280,5 +280,5 @@
 				str = buf;
 			} // if
-#endif // 64-bit mode
+#endif // __SIZEOF_INT128__
 		} // if
 		//printf( "%llu\n", v );
