diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog index 41c07a43ecdf86333f535a21c67852f16bb37d6c..4516b8e54350522c3d397b5d90d24c49b7e5ca66 100644 --- a/src/interfaces/ecpg/ChangeLog +++ b/src/interfaces/ecpg/ChangeLog @@ -1067,5 +1067,9 @@ Thu Mar 29 10:23:05 CEST 2001 Mon Apr 2 10:16:10 CEST 2001 - Synced scan.l and pgc.l. + +Thu Apr 5 10:11:35 CEST 2001 + + - Fixed long long problem. - Set ecpg version to 2.8.0. - Set library version to 3.2.0. diff --git a/src/interfaces/ecpg/lib/typename.c b/src/interfaces/ecpg/lib/typename.c index 78c2665ed8fd7ecb349394e03983e618057007a1..a27aea474383a2c447e68c9381587e532c046e01 100644 --- a/src/interfaces/ecpg/lib/typename.c +++ b/src/interfaces/ecpg/lib/typename.c @@ -31,12 +31,10 @@ ECPGtype_name(enum ECPGttype typ) return "long"; case ECPGt_unsigned_long: return "unsigned long"; -#ifdef HAVE_LONG_LONG_INT_64 case ECPGt_long_long: return "long long"; case ECPGt_unsigned_long_long: return "unsigned long long"; -#endif /* HAVE_LONG_LONG_INT_64 */ case ECPGt_float: return "float"; case ECPGt_double: diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y index 29bfb3662d0c78c7e47506d7ee1ce645e7ab39dc..13f67a3692dec08274ada2c334fe4f21d6461b23 100644 --- a/src/interfaces/ecpg/preproc/preproc.y +++ b/src/interfaces/ecpg/preproc/preproc.y @@ -4251,8 +4251,20 @@ unsigned_type: SQL_UNSIGNED SQL_SHORT { $$ = ECPGt_unsigned_short; } | SQL_UNSIGNED SQL_INT { $$ = ECPGt_unsigned_int; } | SQL_UNSIGNED SQL_LONG { $$ = ECPGt_unsigned_long; } | SQL_UNSIGNED SQL_LONG SQL_INT { $$ = ECPGt_unsigned_long; } - | SQL_UNSIGNED SQL_LONG SQL_LONG { $$ = ECPGt_unsigned_long_long; } - | SQL_UNSIGNED SQL_LONG SQL_LONG SQL_INT { $$ = ECPGt_unsigned_long_long; } + | SQL_UNSIGNED SQL_LONG SQL_LONG { +#ifdef HAVE_LONG_LONG_INT_64 + $$ = ECPGt_unsigned_long_long; +#else + $$ = ECPGt_unsigned_long; +#endif + } + | SQL_UNSIGNED SQL_LONG SQL_LONG SQL_INT { +#ifdef HAVE_LONG_LONG_INT_64 + $$ = ECPGt_unsigned_long_long; +#else + $$ = ECPGt_unsigned_long; +#endif + } | SQL_UNSIGNED CHAR { $$ = ECPGt_unsigned_char; } ; @@ -4261,8 +4273,20 @@ signed_type: SQL_SHORT { $$ = ECPGt_short; } | SQL_INT { $$ = ECPGt_int; } | SQL_LONG { $$ = ECPGt_long; } | SQL_LONG SQL_INT { $$ = ECPGt_long; } - | SQL_LONG SQL_LONG { $$ = ECPGt_long_long; } - | SQL_LONG SQL_LONG SQL_INT { $$ = ECPGt_long; } + | SQL_LONG SQL_LONG { +#ifdef HAVE_LONG_LONG_INT_64 + $$ = ECPGt_long_long; +#else + $$ = ECPGt_long; +#endif + } + | SQL_LONG SQL_LONG SQL_INT { +#ifdef HAVE_LONG_LONG_INT_64 + $$ = ECPGt_long_long; +#else + $$ = ECPGt_long; +#endif + } | SQL_BOOL { $$ = ECPGt_bool; }; | FLOAT { $$ = ECPGt_float; } | DOUBLE { $$ = ECPGt_double; }