ROOTCINT problems with long long

From: gora@solar2.ucr.edu
Date: Wed Jul 21 1999 - 05:56:28 MEST


Hi,
   I am having a problem using version 2.22.09 on a Linux Redhat 5.2
installation with version 2.0.36 of the kernel. I have a ROOT class that
is a wrapper around a GPIB device driver written by someone else that uses
/usr/include/gnu/types.h. When using gcc, this header file defines a type,
__quad_t as:
   typedef long long int __quad_t;
and, later uses,
   typedef __quad_t *__qaddr_t;

When I try to generate a dictionary with the command,
  $(ROOTSYS)/bin/rootcint -f GPIBDict.cxx -c -p GPIB.h GPIBLinkDef.h
rootcint does not like the long long int part, giving an error message:
Error: class,struct,union or type __quad_t not defined  FILE:/usr/include/gnu/types.h LINE:42
(line 42 is where the *__qaddr_t type is defined). I am positive that the
problem is with the long long part as if I use the alternate (non-gcc)
definition of __quad_t, viz.,
typedef struct
  {
    long int __val[2];
  } __quad_t;
everything is fine. The obvious workaround is to use the struct version, but
as I only have gcc, that would mean changing the system header files, which
I am loath to do. Any suggestions are welcome. Thanks in advance.

Regards,
Gora



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:36 MET