This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

libstdc++/1533: iostream long long operators not defined



>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:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]