[omniORB] Compiling omniORBpy with aCC A.03.63 on PA-RISC

Matej Kenda matej.kenda at hermes.si
Wed May 25 16:38:57 BST 2005


Hi,

We made an upgrade of HPUX compiler aCC for PA-RISC to version A.03.63.
Compiling omniORBpy (64-bit) failed with error:


aCC -c +O0 -AA -mt +DD64 +z -DOMNIPY_MAJOR=2 -DOMNIPY_MINOR=5   -
I../../../../include/omniORB4/internal -I../include -
I/usr/local/aCCPython/include -DPYTHON_INCLUDE="<python2.3/Python.h>" -
DPYTHON_THREAD_INC="<python2.3/pythread.h>" -D__OMNIORB4__ -
I../../../../stub +DD64  -I. -I. -I../../../../include -D__ia64__ -
D__hpux__ -D__OSVERSION__=11 +DD64 -fpwidetypes -ldir pyFixed.cc -o
pyFixed.o

"pyFixed.cc", line 99: error #2309: more than one instance of
constructor 
          "CORBA::Fixed::Fixed" matches the argument list: 
            function "CORBA::Fixed::Fixed(int)" 
            function "CORBA::Fixed::Fixed(unsigned int)" 
            function "CORBA::Fixed::Fixed(CORBA::LongLong)" 
            function "CORBA::Fixed::Fixed(CORBA::ULongLong)" 
            function "CORBA::Fixed::Fixed(CORBA::Double)" 
            function "CORBA::Fixed::Fixed(CORBA::LongDouble)" 
            argument types are: (long) 
        CORBA::Fixed f(l); 
                       ^

When the code was modified as suggested in the attached patch (replacing
long with int), compile succeeded, but the compiler issued a warning:

Error (future) 229: "pyFixed.cc", line 99 # "Ambiguous overloaded
function call; a function match was not found that was strictly best for
ALL arguments. Two functions

    that matched best for some arguments (but not all) were
"CORBA::Fixed::Fixed
(double)" ["../../../../include/omniORB4/CORBA_Fixed.h", line 78] and

    "CORBA::Fixed::Fixed(unsigned long
long)" ["../../../../include/omniORB4/CORBA_Fixed.h", line 75]."
Choosing "CORBA::Fixed::Fixed(double)"

    ["../../../../include/omniORB4/CORBA_Fixed.h", line 78] for
resolving ambiguity. 
            CORBA::Fixed f(l); 
                         ^

Those two declaration of constructors don't look overloaded to me.


Is replacing long with int in the aforementioned case safe for all
platforms?

If CORBA::LongLong would be used instead of long, the warning wouldn't
be reported, however LongLong is not supported by all platforms.

Regards,

Matej

-- 
Matej Kenda, HERMES SoftLab d.d. (www.hermes-softlab.com)
Erjavčeva 2, 5000 Nova Gorica, Slovenia
Phone: +386 5 3330 514, Fax: +386 5 3332 656
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hpux-omnipy.diff
Type: text/x-patch
Size: 2477 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20050525/b1351418/hpux-omnipy.bin


More information about the omniORB-list mailing list