gnucobol-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[open-cobol-list] Open Cobol 0.33 and IBM AIX Xlc


From: Gary Cowell
Subject: [open-cobol-list] Open Cobol 0.33 and IBM AIX Xlc
Date: Wed Mar 8 09:37:08 2006

Whilst trying to get OC to compile up on AIX (I have
compiled up bdb with 1.85 compatibility and gmp
already) I find two problems so far:

1) The ./configure script detects Xlc but generates
GNU compiler options which cause Xlc to choke.

If I hack the Makefiles to get around this problem, we
find the following:

$ make
        make  all-recursive
Making all in lib
Target "all" is up to date.
Making all in libcob
        source='move.c' object='libcob_la-move.lo'
libtool=yes  DEPDIR=.deps depmode=aix /bin/sh
../depcomp  /bin/sh ../libtool --tag=CC --mode=compile
cc -DHAVE_CONFIG_H -I. -I. -I..  
-I/usr/local/BerkeleyDB.4.4/include
-I/usr/local/include -fsigned-char -DSUPER_OPTIMIZE 
-I..  -c -o libcob_la-move.lo `test -f 'move.c' ||
echo './'`move.c
 cc -DHAVE_CONFIG_H -I. -I. -I..
-I/usr/local/BerkeleyDB.4.4/include
-I/usr/local/include -fsigned-char -DSUPER_OPTIMIZE
-I.. -c -M move.c  -DPIC -o .libs/libcob_la-move.o
"move.c", line 793.37: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 798.54: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 807.55: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 809.60: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 811.59: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 813.59: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 815.59: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 819.54: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 823.68: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 826.61: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 832.59: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 834.46: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 841.59: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 847.46: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 850.46: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 857.59: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 863.46: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 865.60: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 867.62: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 872.38: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 877.61: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 883.46: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 885.60: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
"move.c", line 887.62: 1506-068 (S) Operation between
types "void" and "void" is not allowed.
make: 1254-004 The error code from the last command is
1.


Stop.
make: 1254-004 The error code from the last command is
1.


Stop.
make: 1254-004 The error code from the last command is
2.


This is a problem from returning a call to a function
which returns void.

This small example:

#include <stdio.h>

static void myvoid() {
        return;
}
static void thingy() {
        return myvoid();
}

int main(int argc, char *argv[]) {
        thingy();
        return 0;
}

Will compile and work (for whatever work means in for
this code!) if you use GCC. With Xlc it will refuse to
compile it.

I don't know if there are options that could be added
to Xlc to make it accept this code but the construct
looks wrong to me anyway

Gary


                
___________________________________________________________ 
To help you stay safe and secure online, we've developed the all new Yahoo! 
Security Centre. http://uk.security.yahoo.com


reply via email to

[Prev in Thread] Current Thread [Next in Thread]