From: Rusty Russell Date: Thu, 17 Mar 2011 11:42:22 +0000 (+1030) Subject: tdb2: clear bogus gcc uninitialized warnings with -O3 X-Git-Url: https://git.ozlabs.org/?p=ccan;a=commitdiff_plain;h=c8c9a4693b9fbe2a6b2b6dfced49958db5c7fdd4 tdb2: clear bogus gcc uninitialized warnings with -O3 --- diff --git a/ccan/tdb2/test/run-11-simple-fetch.c b/ccan/tdb2/test/run-11-simple-fetch.c index 447da9c2..1a68b54e 100644 --- a/ccan/tdb2/test/run-11-simple-fetch.c +++ b/ccan/tdb2/test/run-11-simple-fetch.c @@ -43,7 +43,7 @@ int main(int argc, char *argv[]) O_RDWR|O_CREAT|O_TRUNC, 0600, &tap_log_attr); ok1(tdb); if (tdb) { - struct tdb_data d; + struct tdb_data d = { NULL, 0 }; /* Bogus GCC warning */ /* fetch should fail. */ failtest_suppress = false; diff --git a/ccan/tdb2/test/run-12-store.c b/ccan/tdb2/test/run-12-store.c index 2cc3e86b..8ab9ddc1 100644 --- a/ccan/tdb2/test/run-12-store.c +++ b/ccan/tdb2/test/run-12-store.c @@ -50,7 +50,7 @@ int main(int argc, char *argv[]) /* We seemed to lose some keys. * Insert and check they're in there! */ for (j = 0; j < 500; j++) { - struct tdb_data d; + struct tdb_data d = { NULL, 0 }; /* Bogus GCC warning */ ok1(tdb_store(tdb, key, data, TDB_REPLACE) == 0); ok1(tdb_fetch(tdb, key, &d) == TDB_SUCCESS); ok1(equal(d, data)); diff --git a/ccan/tdb2/test/run-25-hashoverload.c b/ccan/tdb2/test/run-25-hashoverload.c index fced3f30..b96a4cc4 100644 --- a/ccan/tdb2/test/run-25-hashoverload.c +++ b/ccan/tdb2/test/run-25-hashoverload.c @@ -38,7 +38,7 @@ int main(int argc, char *argv[]) plan_tests(6883); for (i = 0; i < sizeof(flags) / sizeof(flags[0]); i++) { - struct tdb_data d; + struct tdb_data d = { NULL, 0 }; /* Bogus GCC warning */ tdb = tdb_open("run-25-hashoverload.tdb", flags[i], O_RDWR|O_CREAT|O_TRUNC, 0600, &hattr); diff --git a/ccan/tdb2/transaction.c b/ccan/tdb2/transaction.c index a143ee85..2cab4655 100644 --- a/ccan/tdb2/transaction.c +++ b/ccan/tdb2/transaction.c @@ -745,11 +745,12 @@ static void set_recovery_header(struct tdb_recovery_record *rec, static enum TDB_ERROR transaction_setup_recovery(struct tdb_context *tdb, tdb_off_t *magic_offset) { - tdb_len_t recovery_size; + /* Initialized for GCC's 4.4.5 overzealous uninitialized warnings. */ + tdb_len_t recovery_size = 0; + tdb_off_t recovery_offset = 0, recovery_max_size = 0; unsigned char *data, *p; const struct tdb_methods *methods = tdb->transaction->io_methods; struct tdb_recovery_record *rec; - tdb_off_t recovery_offset, recovery_max_size; tdb_off_t old_map_size = tdb->transaction->old_map_size; uint64_t magic, tailer; int i;