The line number is off-by-one, for some reason, but since the operation is AS (assign), and since the assignment from dlerror is on the next line, and dlerror won't be declared anywhere, that's most likely to be the problem.

On 23 January 2012 08:37, Jens Staal <staal1978@gmail.com> wrote:
I get the same error no matter which BASIC file that gets generated to C and it is put in the generated header file (at different row numbers, ofcourse. I used test1 as use case to try to track it down), so there is some sort of typedef inconsistency in there somewhere. I believe that it has something to do with strndup and the "switch" function in the generated header, but I am not sure exactly what.

2012-01-23 09:13, steve skrev:

I must have missed that one,
 From your old report it seems tr problem is at line 432 of test1.bac.h

Can you reproduce the error?

-Steve

On 23 Jan 2012, at 06:47 AM, Jens Staal<staal1978@gmail.com>  wrote:

2012/1/18 John Floren<john@jfloren.net>:
On Wed, Jan 18, 2012 at 10:46 AM, Martin Harriss<martin@princeton.edu>  wrote:
John Floren wrote:
I figured I'd try building Python from the source on their website
just for kicks. Configure went ok, but when I went to run "make", it
soon bailed out with this error:

cc -c -OPT:Olimit=0 -g -DNDEBUG -O  -I. -IInclude -I./Include
-DPy_BUILD_CORE -o Parser/grammar.o Parser/grammar.c
cc: flag -P ignored
cc: flag -: ignored
cc: can't find library for -l
/usr/john/Python-2.7.2/Parser/grammar.c:46[stdin:12906] incompatible
types: "IND CHAR" and "INT" for op "AS"
/usr/john/Python-2.7.2/Parser/grammar.c:108[stdin:12968] incompatible
types: "IND CHAR" and "INT" for op "AS"
cc: cpp: 8c 896765: error
*** Error code 1
#

The offending lines are these:

   d->d_name = strdup(name);
and
   lb->lb_str = strdup(str);

d_name and lb_str are both defined as char*, and strdup is supposed to
return a char*. However, if I'm reading that error message correctly,
it thinks strdup is trying to return a char*. Does anyone recognize
what's going on?

No declaration in scope for the string functions, compiler thinks they
return INT?

Martin

Yup, I r dum, needed a -D_BSD_EXTENSION in my flags to make string.h
behave right.

I have a similar issue with BaCon (a ksh script converting BASIC code
to C), a modified version running under APE sh can be found here:

http://code.google.com/p/ports2plan9/source/browse/BaCon

Also this one has the problem 'incompatible types "IND CONST CHAR" and
"INT" for op "AS"'

and I have not been able to track down exactly where in the script
that the erroneous code gets generated.

issue described here:
http://code.google.com/p/ports2plan9/issues/detail?id=1

I have already added the -D_BSD_EXTENSION in the CFLAGS in the script.