[omniORB] omniidl bug?

Borges, Mark mark.borges@attws.com
Tue, 7 Dec 1999 14:58:14 -0800


[ My apologies if this is posted to the list twice; my first attempt didn't
appear to go through, perhaps because I posted from a different account than
what I am subscribed on? ]


The following IDL snippet,

--------------------
$ cat cdt.idl                       
//___________________COMMON DATA TYPES _____________________

#ifndef COMMON_DATA_TYPES
#define COMMON_DATA_TYPES

  typedef string<2>  StringTwo;

#endif
--------------------

gives the error,

--------------------
$ /opt/omniORB/scripts/omniidl -I. -bpython cdt.idl           
cdt.idl:6: Integer literal is too large for unsigned long
omniidl: 1 error.
--------------------

Why? Neither omniidl2 nor python-stubber from the XEROX-PARC ILU-2.0beta1
distribution complain.

The code in question appears to be in idlexpr.cc, around line 145,

--------------------
$ sed -n "145,151{p;}" idlexpr.cc 
_CORBA_ULong IntegerExpr::evalAsULong() {
#ifdef HAS_LongLong
  if (value_ > 0xffffffff) {
    IdlError(file(), line(), "Integer literal is too large for unsigned
long");
    return 1;
  }
#endif
--------------------

If it matters, I'm using,

--------------------
$ gcc -dumpversion    
2.95.2
$ gcc -dumpmachine    
sparc-sun-solaris2.6
$ uname -a
SunOS jimi 5.6 Generic_105181-14 sun4u sparc SUNW,Ultra-5_10
$ cvs status idlexpr.cc
===================================================================
File: idlexpr.cc        Status: Up-to-date

   Working revision:    1.3
   Repository revision: 1.3     /cvsroot/omniidl/cxx/idlexpr.cc,v
   Sticky Tag:          (none)
   Sticky Date:         (none)
   Sticky Options:      (none)
--------------------

-- 
 -mb-