diff -u -r ../gcc-4.8.2/libcpp/files.c ./libcpp/files.c --- ../gcc-4.8.2/libcpp/files.c 2013-03-06 17:18:40.000000000 +0100 +++ ./libcpp/files.c 2014-01-09 00:29:34.940181542 +0100 @@ -716,11 +716,13 @@ cpp_error (pfile, CPP_DL_WARNING, "%s is shorter than expected", file->path); + off_t ot = (off_t) &file->st.st_size; file->buffer = _cpp_convert_input (pfile, CPP_OPTION (pfile, input_charset), buf, size + 16, total, &file->buffer_start, - &file->st.st_size); + &ot); + file->st.st_size = ot; file->buffer_valid = true; return true;