[LLVMdev] AsmWriter.cpp:255: error: ambiguous overload for `std::basic_ostream<char,...

Henrik Bach henrik_bach_llvm at hotmail.com
Wed Jul 7 16:13:11 PDT 2004


Yes, Chris you're right. It seems that my << operator for int64_t is missing 
in my '/opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc' file.

Which ordinary version of GCC are you working with and how do your 
definition of the << operator for int64_t look like?

/Henrik

>
>Here is an excerpt from the config.log for LLVM:
>
>configure:19451: checking for int64_t
>configure:19476: gcc -c -g -O2  conftest.c >&5
>configure:19479: $? = 0
>configure:19482: test -s conftest.o
>configure:19485: $? = 0
>configure:19496: result: yes
>configure:19511: checking for uint64_t
>configure:19536: gcc -c -g -O2  conftest.c >&5
>configure:19539: $? = 0
>configure:19542: test -s conftest.o
>configure:19545: $? = 0
>configure:19556: result: yes
>
>All seems to be fine...
>
>/Henrik
>
>>
>>Not sure if this will help, but something is terribly wrong, possibly with 
>>the definition of int64_t.  Note that the message from the compiler is not 
>>"can't find overload" but it is "ambiguous overload". It provides what it 
>>thinks is a close match, that being an operator<< that takes a pointer to 
>>a function returning basic_ostream<char>& and taken basic_ostream<char>& 
>>as an argument. Why would it attempt to match an int64_t with a function 
>>pointer?
>>
>>Reid.
>>
>>On Tue, 6 Jul 2004 17:48:17 -0500 (CDT)
>>  Chris Lattner <sabre at nondot.org> wrote:
>>>On Wed, 7 Jul 2004, Henrik Bach wrote:
>>>>This tweak seems to work.
>>>>
>>>>As far as I can see, correct me if I'm wrong, it is the compiler, that 
>>>>can't
>>>>figure out which std::basic_ostream to use. Why?
>>>
>>>What I'm saying is that it appears that your implementation of operator<<
>>>is not functional or is missing.  You said that you are using GCC on
>>>internix.  Is it possible that when you configured/built gcc that it
>>>didn't find 64-bit integer support and disabled it or something?
>>>
>>>I really no nothing about internix so all I can do is speculate.  Sorry.
>>>
>>>-Chris
>>>
>>>
>>>
>>>> > > Compiling AsmWriter.cpp
>>>> > > AsmWriter.cpp: In function `void WriteConstantInt(std::ostream&, 
>>>>const
>>>> > >    llvm::Constant*, bool, std::map<const llvm::Type*, std::string,
>>>> > >    std::less<const llvm::Type*>, std::allocator<std::pair<const
>>>> >llvm::Type*
>>>> > >    const, std::string> > >&, llvm::SlotCalculator*)':
>>>> > > AsmWriter.cpp:255: error: ambiguous overload for
>>>> >`std::basic_ostream<char,
>>>> > >    std::char_traits<char> >& << int64_t' operator
>>>> > > /opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:63: error: candidates 
>>>>are:
>>>> > >    std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
>>>> > >    _Traits>::operator<<(std::basic_ostream<_CharT,
>>>> > >    _Traits>&(*)(std::basic_ostream<_CharT, _Traits>&)) [with _CharT 
>>>>=
>>>> >char,
>>>> > >    _Traits = std::char_traits<char>] <near match>
>>>> > > /opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:85: error:
>>>> > >    std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
>>>> > >    _Traits>::operator<<(std::basic_ios<_CharT,
>>>> > >    _Traits>&(*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = 
>>>>char,
>>>> > > _Traits
>>>> > >    = std::char_traits<char>] <near match>
>>>> > > /opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:107: error:
>>>> > >    std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
>>>> > >    _Traits>::operator<<(std::ios_base&(*)(std::ios_base&)) [with 
>>>>_CharT
>>>> >=
>>>> > > char,
>>>> > >    _Traits = std::char_traits<char>] <near match>
>>>> > > /opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:179: error:
>>>> > >    std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
>>>> > >    _Traits>::operator<<(long int) [with _CharT = char, _Traits =
>>>> > >    std::char_traits<char>]
>>>> > > /opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:216: error:
>>>> > >    std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
>>>> > >    _Traits>::operator<<(long unsigned int) [with _CharT = char, 
>>>>_Traits
>>>> >=
>>>> > >    std::char_traits<char>]
>>>> > > /opt/gcc.3.3/include/c++/3.3/bits/ostream.tcc:154: error:
>>>> > >    std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
>>>> > >    _Traits>::operator<<(bool) [with _CharT = char, _Traits =
>>>> > >    std::char_traits<char>]
>>>> > > /opt/gcc.3.3/include/c++/3.3/ostream:178: error:
>>>> > >    std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
>>>> > >    _Traits>::operator<<(short int) [with _CharT = char, _Traits =
>>>> > >    std::char_traits<char>]
>>>> > > /opt/gcc.3.3/include/c++/3.3/ostream:189: error:
>>>> > >    std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
>>>> > >    _Traits>::operator<<(short unsigned int) [with _CharT = char, 
>>>>_Traits
>>>> >=
>>>> > >    std::char_traits<char>]
>>>> > > /opt/gcc.3.3/include/c++/3.3/ostream:193: error:
>>>> > >    std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
>>>> > >    _Traits>::operator<<(int) [with _CharT = char, _Traits =
>>>> > >    std::char_traits<char>]
>>>> > >
>>>> > > ... and so on.
>>>> > >
>>>> > >
>>>> > > /Henrik
>>>> > >
>>>> > > _________________________________________________________________
>>>> > > F? alle de nye og sjove ikoner med MSN Messenger
>>>> >http://www.msn.dk/messenger
>>>> > >
>>>> > > _______________________________________________
>>>> > > LLVM Developers mailing list
>>>> > > LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>>> > > http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>> > >
>>>> >
>>>> >-Chris
>>>> >
>>>> >--
>>>> >http://llvm.cs.uiuc.edu/
>>>> >http://www.nondot.org/~sabre/Projects/
>>>> >
>>>> >
>>>> >_______________________________________________
>>>> >LLVM Developers mailing list
>>>> >LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>>> >http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>>
>>>>_________________________________________________________________
>>>>F? alle de nye og sjove ikoner med MSN Messenger 
>>>>http://www.msn.dk/messenger
>>>>
>>>>_______________________________________________
>>>>LLVM Developers mailing list
>>>>LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>>>http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>>
>>>
>>>-Chris
>>>
>>>--
>>>http://llvm.cs.uiuc.edu/
>>>http://www.nondot.org/~sabre/Projects/
>>>
>>>
>>>_______________________________________________
>>>LLVM Developers mailing list
>>>LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>>http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>>_______________________________________________
>>LLVM Developers mailing list
>>LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>_________________________________________________________________
>Få alle de nye og sjove ikoner med MSN Messenger 
>http://www.msn.dk/messenger
>
>_______________________________________________
>LLVM Developers mailing list
>LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev

_________________________________________________________________
Få alle de nye og sjove ikoner med MSN Messenger http://www.msn.dk/messenger




More information about the llvm-dev mailing list