[ROOT] va_list cast

From: Jiri Masik (masik@pc203b.fzu.cz)
Date: Wed Jan 17 2001 - 18:25:33 MET


Hi,

I'm trying to compile the development version from the CVS as of
today. The compiler can't compile a couple of rootcint
generated files. G__Base2.cxx is one of them

static int G__TObject_Warning_0_6(G__value *result7,G__CONST char
*funcname,struct G__param *libp,int hash) {
      G__setnull(result7);
      ((const TObject*)(G__getstructoffset()))->
        Warning((const char*)G__int(libp->para[0]),
        (const char*)G__int(libp->para[1]),
        (va_list)G__int(libp->para[2]));
   return(1 || funcname || hash || result7 || libp) ;
}


g++  -pipe -Wall -fPIC -fsigned-char -Iinclude -DHAVE_CONFIG -I. -o
base/src/G__Base2.o -c base/src/G__Base2.cxx
base/src/G__Base2.cxx: In function `int G__TObject_Warning_0_6(G__value *, const char *, G__param *, int)':
base/src/G__Base2.cxx:2840: ANSI C++ forbids casting to an array type

which seems to be correct because va_list is defined as an array on my
system. I am running Debian/linux on powerpc, gcc 2.95.3, libc 2.2.1.

Please could you extend the recent changes in the vararg handling to
account also for this definition of va_list. I don't know how to do it
myself. Modifying (va_list) to (va_list*) seems to work with simple
testing but I'm not sure if it is correct.

        Jiri



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:33 MET