This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
libstdc++/1533: iostream long long operators not defined
- To: gcc-gnats at gcc dot gnu dot org
- Subject: libstdc++/1533: iostream long long operators not defined
- From: cljanss at ca dot sandia dot gov
- Date: 1 Jan 2001 23:44:03 -0000
- Reply-To: cljanss at ca dot sandia dot gov
>Number: 1533
>Category: libstdc++
>Synopsis: iostream long long operators not defined
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Jan 01 15:46:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator: Curtis Janssen
>Release: gcc version 2.97 20001230 (experimental)
>Organization:
>Environment:
RedHat 6.2
binutils 2.10.91
gcc 2.97 20001230 (from CVS)
>Description:
std::ostream::operator<<(long long)
is declared, but not defined. Likewise for unsigned
long long. ISO 14882 does not require long long support,
but leaving it out would break old code. If support is
going to be left out anyway, then the long long decls
would best be removed too, to avoid confusion.
Here is a bit of code illustrating the problem:
#include <iostream>
main()
{
long long i = (long long)1<<60;
std::cout << i << std::endl;
return 0;
}
>How-To-Repeat:
% c++ -o ll.o -c ll.cc
% c++ -o ll ll.cc
/tmp/ccXJdOCq.o: In function `main':
/tmp/ccXJdOCq.o(.text+0x2b): undefined reference to `std::ostream::operator<<(long long)'
collect2: ld returned 1 exit status
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: