aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/timestamp.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2006-11-11 01:14:19 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2006-11-11 01:14:19 +0000
commita46ca619f858ad09bbe8d07903018da47f1d1306 (patch)
tree111b1c46a20c32c1cdfae896801d55d12277a06d /src/backend/utils/adt/timestamp.c
parentd13f372acd5a07e3edd1917970f65ccb350ac40a (diff)
downloadpostgresql-a46ca619f858ad09bbe8d07903018da47f1d1306.tar.gz
postgresql-a46ca619f858ad09bbe8d07903018da47f1d1306.zip
Suppress a few 'uninitialized variable' warnings that gcc emits only at
-O3 or higher (presumably because it inlines more things). Per gripe from Mark Mielke.
Diffstat (limited to 'src/backend/utils/adt/timestamp.c')
-rw-r--r--src/backend/utils/adt/timestamp.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/backend/utils/adt/timestamp.c b/src/backend/utils/adt/timestamp.c
index e06fa99dc17..f94413e3f32 100644
--- a/src/backend/utils/adt/timestamp.c
+++ b/src/backend/utils/adt/timestamp.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/adt/timestamp.c,v 1.168 2006/10/04 00:29:59 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/timestamp.c,v 1.169 2006/11/11 01:14:19 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1257,7 +1257,10 @@ tm2timestamp(struct pg_tm * tm, fsec_t fsec, int *tzp, Timestamp *result)
/* Julian day routines are not correct for negative Julian days */
if (!IS_VALID_JULIAN(tm->tm_year, tm->tm_mon, tm->tm_mday))
+ {
+ *result = 0; /* keep compiler quiet */
return -1;
+ }
date = date2j(tm->tm_year, tm->tm_mon, tm->tm_mday) - POSTGRES_EPOCH_JDATE;
time = time2t(tm->tm_hour, tm->tm_min, tm->tm_sec, fsec);
@@ -1266,11 +1269,17 @@ tm2timestamp(struct pg_tm * tm, fsec_t fsec, int *tzp, Timestamp *result)
*result = date * USECS_PER_DAY + time;
/* check for major overflow */
if ((*result - time) / USECS_PER_DAY != date)
+ {
+ *result = 0; /* keep compiler quiet */
return -1;
+ }
/* check for just-barely overflow (okay except time-of-day wraps) */
if ((*result < 0 && date >= 0) ||
(*result >= 0 && date < 0))
+ {
+ *result = 0; /* keep compiler quiet */
return -1;
+ }
#else
*result = date * SECS_PER_DAY + time;
#endif