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

No, Chris, I'm not buying that argument, due to I've tweaked /usr/include/types.h a little bit, so the configuration and compilation of the cfrontend would be correct:

/*
* 64bit type for BSD compatability
*/
#ifdef __GNUC__
typedef long long int quad_t;
typedef unsigned long long int u_quad_t;
typedef long long int int64_t;
typedef unsigned long long int u_int64_t;
typedef u_int64_t uint64_t; /*Henrik: LLVM*/
#elif _MSC_VER
typedef __int64 quad_t;
typedef unsigned __int64 u_quad_t;
typedef __int64 int64_t;
typedef unsigned __int64 u_int64_t;
#endif /*__GNUC__*/

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?

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
>MSN
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev@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@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 MSN

_______________________________________________
LLVM Developers mailing list
LLVMdev@cs.uiuc.edu http://llvm.cs.uiuc.edu
http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev

-Chris

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.