[LLVMbugs] [Bug 7650] New: Incorrect lookup for overloaded operator<<=

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Jul 15 03:24:54 PDT 2010


http://llvm.org/bugs/show_bug.cgi?id=7650

           Summary: Incorrect lookup for overloaded operator<<=
           Product: clang
           Version: trunk
          Platform: Macintosh
        OS/Version: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: wotte at dre.vanderbilt.edu
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=5229)
 --> (http://llvm.org/bugs/attachment.cgi?id=5229)
Pre-processed source reproducing the problem.

Compiling the attached pre-processed source file with the following command: 

clang++  -Wall -Wpointer-arith  -g -pipe   -pipe -Wno-logical-bitwise-confusion
-DACE_HAS_CUSTOM_EXPORT_MACROS=0   -I/Users/Shared/workspace/DOC_ROOT_clang/ACE
-DACE_HAS_EXCEPTIONS -D_\
_ACE_INLINE__ -I/Users/Shared/workspace/DOC_ROOT_clang/ACE -I..
-DTAO_HAS_VALUETYPE_OUT_INDIRECTION -DTAO_PORTABLESERVER_BUILD_DLL  -c  -o
.shobj/PortableServer/PolicyS.o PortableServer/PolicyS.cpp

I get the following diagnostic:

==========================
In file included from PortableServer/PolicyS.cpp:36:
In file included from ../tao/AnyTypeCode/TypeCode.h:34:
../tao/Any_Insert_Policy_T.h:44:14: error: 'operator<<=' is a private member of
'CORBA::Any'
        (*p) <<= x;
        ~~~~ ^   ~
In file included from PortableServer/PolicyS.cpp:43:
In file included from ../tao/PortableServer/Basic_SArguments.h:24:
In file included from ../tao/PortableServer/Basic_SArgument_T.h:154:
../tao/PortableServer/Basic_SArgument_T.cpp:103:21: note: in instantiation of
member function 'TAO::Any_Insert_Policy_Stream<unsigned int>::any_insert'
requested here
  Insert_Policy<S>::any_insert (any, this->x_);
                    ^
PortableServer/PolicyS.cpp:476:51: note: in instantiation of member function
'TAO::Ret_Basic_SArgument_T<unsigned int,
Any_Insert_Policy_Stream>::interceptor_value' requested here
  TAO::SArg_Traits< ::CORBA::PolicyType>::ret_val retval;
                                                  ^
In file included from PortableServer/PolicyS.cpp:37:
../tao/AnyTypeCode/Any.h:171:10: note: declared private here
    void operator<<= (unsigned char);
         ^
In file included from PortableServer/PolicyS.cpp:36:
In file included from ../tao/AnyTypeCode/TypeCode.h:34:
../tao/Any_Insert_Policy_T.h:44:14: error: no viable overloaded '<<='
        (*p) <<= x;
        ~~~~ ^   ~

===========================

>From an investigation of the pre-processed source, I can see that (In
PolicyS.pp.cpp):

It is finding:
Line 74988 - finding void operator<<= (unsigned char);, a private unimplemented
function in the CORBA::Any class.  

Should be finding:
Line 75089: void operator<<= (CORBA::Any &, CORBA::ULong);
Line 3774:  typedef ACE_UINT32 ULong;
Line 3613:  typedef unsigned int ACE_UINT32;

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list