Thread
-
Bug Report - Compile errors in vacuum.c and shmem.c
Billy G. Allie <bill.allie@mug.org> — 1999-03-31T08:06:41Z
============================================================================ POSTGRESQL BUG REPORT TEMPLATE ============================================================================ Your name : Billy G. Allie Your email address : Bill.Allie@mug.org System Configuration --------------------- Architecture (example: Intel Pentium) : Pentium Operating System (example: Linux 2.0.26 ELF) : UnixWare 7.0.1 PostgreSQL version (example: PostgreSQL-6.4) : Current CVS version Compiler used (example: gcc 2.8.0) : Optimizing C Compilation System (CCS) 3.2 08/18/98 (u701) Please enter a FULL description of your problem: ------------------------------------------------ Compiling 'vacuum.c' produces the following errors: UX:acomp: ERROR: "vacuum.c", line 2424: cannot do pointer arithmetic on operand of unknown size UX:acomp: ERROR: "vacuum.c", line 2428: cannot do pointer arithmetic on operand of unknown size UX:acomp: ERROR: "vacuum.c", line 2431: cannot do pointer arithmetic on operand of unknown size UX:acomp: ERROR: "vacuum.c", line 2433: cannot do pointer arithmetic on operand of unknown size UX:acomp: ERROR: "vacuum.c", line 2448: cannot do pointer arithmetic on operand of unknown size Compiling 'shmem.c' produces the following error: UX:acomp: ERROR: "shmem.c", line 740: void function cannot return value Please describe a way to repeat the problem. Please try to provide a concise reproducible example, if at all possible: ---------------------------------------------------------------------- Compile the program on a strict ANSI C compiler :-) If you know how this problem might be fixed, list the solution below: --------------------------------------------------------------------- The attached patch will fix the problems. In vacuumc.c, pointer arithmatic was performed on a pointer of type void. The patch casts the void pointer to a character pointer, does the arithmatic, and then casts the result back to a void pointer. In shmem.c, a function of type void returned a value. The patch removes the offending return statement.