summaryrefslogtreecommitdiff
path: root/src/interfaces
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2018-03-12 12:17:58 -0400
committerPeter Eisentraut <peter_e@gmx.net>2018-03-13 09:56:25 -0400
commit6cf86f435472b27bbc5e22c713bca08aa2d94af7 (patch)
treec1722f6bb851bcb468a2d01edf23f872c0b89597 /src/interfaces
parent377b5ac4845c5ffbf992ee95c32d7d16d38b9081 (diff)
Change internal integer representation of Value node
A Value node would store an integer as a long. This causes needless portability risks, as long can be of varying sizes. Change it to use int instead. All code using this was already careful to only store 32-bit values anyway. Reviewed-by: Michael Paquier <michael@paquier.xyz>
Diffstat (limited to 'src/interfaces')
-rw-r--r--src/interfaces/ecpg/preproc/pgc.l9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l
index e99b7ff5863..ba1798c77eb 100644
--- a/src/interfaces/ecpg/preproc/pgc.l
+++ b/src/interfaces/ecpg/preproc/pgc.l
@@ -732,12 +732,9 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+
errno = 0;
val = strtol((char *)yytext, &endptr,10);
- if (*endptr != '\0' || errno == ERANGE
-#ifdef HAVE_LONG_INT_64
- /* if long > 32 bits, check for overflow of int4 */
- || val != (long) ((int32) val)
-#endif
- )
+ if (*endptr != '\0' || errno == ERANGE ||
+ /* check for overflow of int */
+ val != (int) val)
{
errno = 0;
base_yylval.str = mm_strdup(yytext);