Package: libstdc++6-4.3-dev Version: 4.3.3-13 The program below reads the input file in blocks of 8191 bytes (as shown by strace). There's probably a mistake somewhere because it should use 8192 byte blocks. (8191 byte blocks tend to maximize misalignment.)
Recompiling with g++-4.4 doesn't change this. Using the in.rdbuf()->sgetc() and friends exhibits the same behavior, too. #include <iostream> #include <fstream> static int usage(const char* progname); int main(int argc, const char** argv) { if (argc != 2) { return usage(argv[0]); } const char* filename = argv[1]; std::ifstream in(filename); std::string l; while (in) { std::getline(in, l); } if (in.eof()) { return 0; } else { std::cerr << "error: reading from: " << filename << std::endl; return 1; } } static int usage(const char* progname) { std::cerr << "usage: " << progname << " FILE\n"; return 1; } -- To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org