cppfiles.c (open_file): Don't mark zero-length files never-reread here.
* cppfiles.c (open_file): Don't mark zero-length files never-reread here. Don't output diagnostics here either. (stack_include_file): Mark them never-reread here. (_cpp_read_file): Update. From-SVN: r46084
This commit is contained in:
parent
d5d1b9e2d1
commit
c0bfe99333
2 changed files with 22 additions and 25 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
|
||||||
|
|
||||||
|
* cppfiles.c (open_file): Don't mark zero-length files
|
||||||
|
never-reread here. Don't output diagnostics here either.
|
||||||
|
(stack_include_file): Mark them never-reread here.
|
||||||
|
(_cpp_read_file): Update.
|
||||||
|
|
||||||
2001-10-08 Richard Henderson <rth@redhat.com>
|
2001-10-08 Richard Henderson <rth@redhat.com>
|
||||||
|
|
||||||
* config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
|
* config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
|
||||||
|
|
|
@ -248,30 +248,15 @@ open_file (pfile, filename)
|
||||||
|
|
||||||
if (file->fd != -1 && fstat (file->fd, &file->st) == 0)
|
if (file->fd != -1 && fstat (file->fd, &file->st) == 0)
|
||||||
{
|
{
|
||||||
|
if (!S_ISDIR (file->st.st_mode))
|
||||||
|
return file;
|
||||||
/* If it's a directory, we return null and continue the search
|
/* If it's a directory, we return null and continue the search
|
||||||
as the file we're looking for may appear elsewhere in the
|
as the file we're looking for may appear elsewhere in the
|
||||||
search path. */
|
search path. */
|
||||||
if (S_ISDIR (file->st.st_mode))
|
errno = ENOENT;
|
||||||
errno = ENOENT;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* Mark a regular, zero-length file never-reread now. */
|
|
||||||
if (S_ISREG (file->st.st_mode) && file->st.st_size == 0)
|
|
||||||
{
|
|
||||||
_cpp_never_reread (file);
|
|
||||||
close (file->fd);
|
|
||||||
file->fd = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return file;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Don't issue an error message if the file doesn't exist. */
|
|
||||||
file->err_no = errno;
|
file->err_no = errno;
|
||||||
if (errno != ENOENT && errno != ENOTDIR)
|
|
||||||
cpp_error_from_errno (pfile, file->name);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -302,9 +287,14 @@ stack_include_file (pfile, inc)
|
||||||
/* Not in cache? */
|
/* Not in cache? */
|
||||||
if (! inc->buffer)
|
if (! inc->buffer)
|
||||||
{
|
{
|
||||||
/* If an error occurs, do not try to read this file again. */
|
/* Mark a regular, zero-length file never-reread. Zero-length
|
||||||
if (read_include_file (pfile, inc))
|
files are stacked the first time, so preprocessing a main
|
||||||
|
file of zero length does not raise an error. */
|
||||||
|
if (S_ISREG (inc->st.st_mode) && inc->st.st_size == 0)
|
||||||
|
_cpp_never_reread (inc);
|
||||||
|
else if (read_include_file (pfile, inc))
|
||||||
{
|
{
|
||||||
|
/* If an error occurs, do not try to read this file again. */
|
||||||
_cpp_never_reread (inc);
|
_cpp_never_reread (inc);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -710,14 +700,14 @@ _cpp_read_file (pfile, fname)
|
||||||
const char *fname;
|
const char *fname;
|
||||||
{
|
{
|
||||||
struct include_file *f = open_file (pfile, fname);
|
struct include_file *f = open_file (pfile, fname);
|
||||||
bool stacked = false;
|
|
||||||
|
|
||||||
if (f == NULL)
|
if (f == NULL)
|
||||||
cpp_error_from_errno (pfile, fname);
|
{
|
||||||
else
|
cpp_error_from_errno (pfile, fname);
|
||||||
stacked = stack_include_file (pfile, f);
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return stacked;
|
return stack_include_file (pfile, f);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Do appropriate cleanup when a file buffer is popped off the input
|
/* Do appropriate cleanup when a file buffer is popped off the input
|
||||||
|
|
Loading…
Add table
Reference in a new issue