ecpg glitches in Feb 23rd beta. - Mailing list pgsql-hackers
From | darrenk@insightdist.com (Darren King) |
---|---|
Subject | ecpg glitches in Feb 23rd beta. |
Date | |
Msg-id | 9802231531.AA27896@ceodev Whole thread Raw |
Responses |
Re: [HACKERS] ecpg glitches in Feb 23rd beta.
|
List | pgsql-hackers |
1. ecpg Makefiles have hard-coded gcc-only options hard coded. 2. ecpg/preproc/Makefile trashes CFLAGS instead of appending to it. 3. ecpg/preproc/preproc.y has duplicate S_SIGNED Patch appended to fix #1-#3 for Michael's review. Don't appear to break anything else, but I'm not the one working on this. 4. ecpg/preproc/preproc.y has an illegal assignment between "void*" and "const char*". Log of the make error is... gmake -C preproc all gmake[3]: Entering directory `/ceo/darrenk/pgsql63d/src/interfaces/ecpg/preproc' xlc -I../../../include -I../../../backend -I/gnu -qchars=signed -qmaxmem=8192 -qhalt=w -qsrcmsg -I../include -DMAJOR_VERSION=1-DMINOR_VERSION=0 -DPATCHLEVEL=0 -c y.tab.c -o y.tab.o 289 | free(yyvsp[-2].type.name); ...........................a...... a - 1506-280 (E) Function argument assignment between types "void*" and "const char*" is not allowed. gmake[3]: *** [y.tab.o] Error 1 This one I don't know how to fix. I just commented ecpg out of the interfaces make and all else went a-ok. darrenk *** interfaces/ecpg/lib/Makefile.in.orig Mon Feb 23 09:00:20 1998 --- interfaces/ecpg/lib/Makefile.in Mon Feb 23 09:00:51 1998 *************** *** 61,66 **** libecpg.a : libecpg.a(ecpglib.o) libecpg.a(typename.o) ecpglib.o : ecpglib.c ../include/ecpglib.h ../include/ecpgtype.h ! $(CC) -O2 -g -Wall -I../include $(PQ_INCLUDE) -c ecpglib.c typename.o : typename.c ../include/ecpgtype.h ! $(CC) -g -O2 -Wall -I../include $(PQ_INCLUDE) -c typename.c --- 61,66 ---- libecpg.a : libecpg.a(ecpglib.o) libecpg.a(typename.o) ecpglib.o : ecpglib.c ../include/ecpglib.h ../include/ecpgtype.h ! $(CC) -I../include $(PQ_INCLUDE) -c ecpglib.c typename.o : typename.c ../include/ecpgtype.h ! $(CC) -I../include $(PQ_INCLUDE) -c typename.c *** interfaces/ecpg/preproc/Makefile.orig Mon Feb 23 09:01:35 1998 --- interfaces/ecpg/preproc/Makefile Mon Feb 23 09:09:02 1998 *************** *** 6,12 **** MINOR_VERSION=0 PATCHLEVEL=0 ! CFLAGS=-I../include -O2 -g -Wall -DMAJOR_VERSION=$(MAJOR_VERSION) -DMINOR_VERSION=$(MINOR_VERSION) -DPATCHLEVEL=$(PATCHLEVEL) all:: ecpg --- 6,12 ---- MINOR_VERSION=0 PATCHLEVEL=0 ! CFLAGS+=-I../include -DMAJOR_VERSION=$(MAJOR_VERSION) -DMINOR_VERSION=$(MINOR_VERSION) -DPATCHLEVEL=$(PATCHLEVEL) all:: ecpg *************** *** 21,27 **** # Rule that really do something. ecpg: y.tab.o pgc.o type.o ecpg.o ../lib/typename.o ! $(CC) -g -O2 -Wall -o ecpg y.tab.o pgc.o type.o ecpg.o ../lib/typename.o $(LEXLIB) y.tab.h y.tab.c: preproc.y $(YACC) $(YFLAGS) $< --- 21,27 ---- # Rule that really do something. ecpg: y.tab.o pgc.o type.o ecpg.o ../lib/typename.o ! $(CC) -o ecpg y.tab.o pgc.o type.o ecpg.o ../lib/typename.o $(LEXLIB) y.tab.h y.tab.c: preproc.y $(YACC) $(YFLAGS) $< *** interfaces/ecpg/preproc/preproc.y.orig Mon Feb 23 08:38:33 1998 --- interfaces/ecpg/preproc/preproc.y Mon Feb 23 08:38:39 1998 *************** *** 231,237 **** %token <tagname> S_SYMBOL S_LENGTH S_ANYTHING S_LABEL %token <tagname> S_VARCHAR S_VARCHAR2 ! %token <tagname> S_EXTERN S_STATIC S_AUTO S_CONST S_REGISTER S_STRUCT S_SIGNED %token <tagname> S_UNSIGNED S_SIGNED %token <tagname> S_LONG S_SHORT S_INT S_CHAR S_FLOAT S_DOUBLE S_BOOL %token <tagname> '[' ']' ';' ',' '{' '}' '=' '*' '(' ')' --- 231,237 ---- %token <tagname> S_SYMBOL S_LENGTH S_ANYTHING S_LABEL %token <tagname> S_VARCHAR S_VARCHAR2 ! %token <tagname> S_EXTERN S_STATIC S_AUTO S_CONST S_REGISTER S_STRUCT %token <tagname> S_UNSIGNED S_SIGNED %token <tagname> S_LONG S_SHORT S_INT S_CHAR S_FLOAT S_DOUBLE S_BOOL %token <tagname> '[' ']' ';' ',' '{' '}' '=' '*' '(' ')'
pgsql-hackers by date: