cpplib.c (do_include): Treat #include_next in the primary source file as #include plus warning.
1998-12-16 Zack Weinberg <zack@rabi.phys.columbia.edu> * cpplib.c (do_include): Treat #include_next in the primary source file as #include plus warning. Treat #include_next in a file included by absolute path as an error. fp == CPP_NULL_BUFFER is a fatal inconsistency. From-SVN: r24340
This commit is contained in:
parent
36b8337d5c
commit
692b872ea0
|
@ -1,3 +1,10 @@
|
|||
1998-12-16 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||||
|
||||
* cpplib.c (do_include): Treat #include_next in the
|
||||
primary source file as #include plus warning. Treat
|
||||
#include_next in a file included by absolute path as an
|
||||
error. fp == CPP_NULL_BUFFER is a fatal inconsistency.
|
||||
|
||||
Wed Dec 16 12:28:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* cccp.c: Don't define MIN/MAX anymore.
|
||||
|
|
28
gcc/cpplib.c
28
gcc/cpplib.c
|
@ -2969,17 +2969,25 @@ do_include (pfile, keyword)
|
|||
break;
|
||||
|
||||
if (fp == CPP_NULL_BUFFER (pfile))
|
||||
fp = NULL;
|
||||
|
||||
/* For #include_next, skip in the search path
|
||||
past the dir in which the containing file was found. */
|
||||
if (skip_dirs)
|
||||
{
|
||||
if (fp)
|
||||
cpp_fatal (pfile, "cpp internal error: fp == NULL_BUFFER in do_include");
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* For #include_next, skip in the search path past the dir in which the
|
||||
containing file was found. Treat files specified using an absolute path
|
||||
as if there are no more directories to search. Treat the primary source
|
||||
file like any other included source, but generate a warning. */
|
||||
if (skip_dirs && CPP_PREV_BUFFER(fp) != CPP_NULL_BUFFER (pfile))
|
||||
{
|
||||
if (fp->ihash->foundhere != ABSOLUTE_PATH)
|
||||
search_start = fp->ihash->foundhere->next;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (skip_dirs)
|
||||
cpp_warning (pfile, "#include_next in primary source file");
|
||||
|
||||
if (angle_brackets)
|
||||
search_start = CPP_OPTIONS (pfile)->bracket_include;
|
||||
else
|
||||
|
@ -4730,8 +4738,12 @@ cpp_start_read (pfile, fname)
|
|||
fp = cpp_push_buffer (pfile, NULL, 0);
|
||||
if (!fp)
|
||||
return 0;
|
||||
if (opts->in_fname == NULL)
|
||||
opts->in_fname = "";
|
||||
if (opts->in_fname == NULL || *opts->in_fname == 0)
|
||||
{
|
||||
opts->in_fname = fname;
|
||||
if (opts->in_fname == NULL)
|
||||
opts->in_fname = "";
|
||||
}
|
||||
fp->nominal_fname = fp->fname = opts->in_fname;
|
||||
fp->lineno = 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue