Experimental Physics and Industrial Control System
We don't use c++ much at all here so the latest releases are testing
us... We don't have the c++ compiler from Sun and so are forced to use
g++, and we are finding it has a problem with variable argument lists.
Does anyone know the way around this? It is a known problem we have with
g++, but it hasn't worried us before and we have never found the solution.
The problem first occurs when compiling gdd.cc:
/opt/gnu/bin/g++ -ansi -pedantic -Wall -O -DSOLARIS -I. -I.. -I/ukirt_sw/epics/R3.13.0.beta2/include -DUNIX -c ../gdd.cc
../gdd.cc: In method `long int gdd::copyStuff(class gdd *, int)':
../gdd.cc:427: warning: suggest parentheses around assignment used as truth value
../gdd.cc: In method `long int gdd::copyData(const class gdd *)':
../gdd.cc:1389: warning: comparison between signed and unsigned
../gdd.cc: In method `gddAtomic::gddAtomic(int, aitEnum, int ...)':
../gdd.cc:1418: `__builtin_va_alist' undeclared (first use this function)
../gdd.cc:1418: (Each undeclared identifier is reported only once
../gdd.cc:1418: for each function it appears in.)
../gdd.cc:1421: warning: implicit declaration of function `int __builtin_va_arg_incr(...)'
../gdd.cc:1414: warning: `void * ap' might be used uninitialized in this function
gmake[1]: *** [gdd.o] Error 1
gmake[1]: Leaving directory `/ukirt_sw/epics/src/R3.13.0.beta2/base/src/gdd/O.solaris'
gmake: *** [install.solaris] Error 2
The relevant lines are:
1411: gddAtomic::gddAtomic(int app, aitEnum prim, int dimen, ...):
1412: gdd(app,prim,dimen)
1413: {
1414: va_list ap;
1415: int i;
1416: aitIndex val;
1417:
1418: va_start(ap,dimen);
1419: for(i=0;i<dimen;i++)
1420: {
1421: val=va_arg(ap,aitUint32);
1422: bounds[i].set(0,val);
1423: }
1424: va_end(ap);
1425: }
There may, of course, be other problems but my build hasn't got that
far...
I did ask once which c++ compilers were to be supported but got no
reply - I also know Jeff said at one point that he managed to compile
base with gcc and g++, but I don't know whether it still does. How
about the situation that I have - is using Solaris c (because nominally
we only support the vendor supplied C compilers) with GNU g++
supported, or is there a library problem sometimes? How does all this
effect our support for other hosts (Linux, HP etc?).
I would dearly like someone to clarify all this because now it is
impossible to compile base without a c++ compiler of some sort or
other.
Cheers,
Nick Rees
Joint Astronomy Centre Ph: +1 (808) 961-3756
660 N. Aohoku Place Fax: +1 (808) 961-6516
Hilo, HI. 96720 Internet: [email protected]
- Replies:
- Re: Using g++ with 3.13 beta2 Jeff Hill
- Re: Using g++ with 3.13 beta2 Kazuro FURUKAWA
- Navigate by Date:
- Prev:
3.13 beta4 Marty Kraimer
- Next:
Re: RAWL/RAWH Marty Kraimer
- Index:
1994
1995
<1996>
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
3.13 beta4 Marty Kraimer
- Next:
Re: Using g++ with 3.13 beta2 Jeff Hill
- Index:
1994
1995
<1996>
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024