I've noticed a lot of signedness warnings when compiling Postgres with GCC 4. They may have been there with GCC 3.3 as well, but I don't recall. Here's a example:

gcc -no-cpp-precomp -O2 -Wall -Wmissing-prototypes -Wpointer-arith - Wdeclaration-after-statement -Wold-style-definition -Wendif-labels - fno-strict-aliasing -g -I../../../src/include -I/usr/include/ -c -o pg_proc.o pg_proc.c
pg_proc.c: In function 'match_prosrc_to_query':
pg_proc.c:724: warning: pointer targets in passing argument 1 of 'pg_mbstrlen_with_len' differ in signedness pg_proc.c:738: warning: pointer targets in passing argument 1 of 'pg_mbstrlen_with_len' differ in signedness

Here's another:
gcc -no-cpp-precomp -O2 -Wall -Wmissing-prototypes -Wpointer-arith - Wdeclaration-after-statement -Wold-style-definition -Wendif-labels - fno-strict-aliasing -g -I../../../../../../src/include -I/usr/ include/ -c -o utf8_and_ascii.o utf8_and_ascii.c
utf8_and_ascii.c: In function 'ascii_to_utf8':
utf8_and_ascii.c:38: warning: pointer targets in initialization differ in signedness utf8_and_ascii.c:39: warning: pointer targets in initialization differ in signedness


I've also noticed some possible uninitialized variable warnings, such as this: gcc -no-cpp-precomp -O2 -Wall -Wmissing-prototypes -Wpointer-arith - Wdeclaration-after-statement -Wold-style-definition -Wendif-labels - fno-strict-aliasing -g -I../../../../src/interfaces/ecpg/include - I../../../../src/include/utils -I../../../../src/interfaces/libpq - I../../../../src/include -I/usr/include/ -DFRONTEND -c -o datetime.o datetime.c
datetime.c: In function 'PGTYPESdate_defmt_asc':
datetime.c:335: warning: 'tm$tm_mday' may be used uninitialized in this function datetime.c:335: warning: 'tm$tm_mon' may be used uninitialized in this function datetime.c:335: warning: 'tm$tm_year' may be used uninitialized in this function

Are these things we could clean up? (Yes, I'm volunteering if it's something I'm capable of helping out with, though probably not for 8.1.)

Michael Glaesemann
grzm myrealbox com


laughter:~ glaesema$ gcc -v
Reading specs from /usr/lib/gcc/powerpc-apple-darwin8/4.0.0/specs
Configured with: /private/var/tmp/gcc/gcc-4061.obj~8/src/configure -- disable-checking --prefix=/usr --mandir=/share/man --enable- languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^+.-]*$/ s/$/-4.0/ --with-gxx-include-dir=/include/gcc/darwin/4.0/c++ -- build=powerpc-apple-darwin8 --host=powerpc-apple-darwin8 -- target=powerpc-apple-darwin8
Thread model: posix
gcc version 4.0.0 20041026 (Apple Computer, Inc. build 4061)


---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
      choose an index scan if your joining column's datatypes do not
      match

Reply via email to