Commit 3f8ffc7c by Robert Spier Committed by Neil Booth

re PR preprocessor/6521 (-MG creates dependency with wrong path)

	PR preprocessor/6521
	* cppfiles.c (handle_missing_header): Don't do anything
	different for <> includes.
doc:
	* cppopts.texi: Update documentation for -MG.

Co-Authored-By: Neil Booth <neil@daikokuya.demon.co.uk>

From-SVN: r53304
parent b9e2d17b
2002-05-08 Robert Spier <rspier@pobox.com>
Neil Booth <neil@daikokuya.demon.co.uk>
PR preprocessor/6521
* cppfiles.c (handle_missing_header): Don't do anything
different for <> includes.
doc:
* cppopts.texi: Update documentation for -MG.
2002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
* cpplex.c (cpp_interpret_charconst): Truncate as well as
......
......@@ -658,30 +658,7 @@ handle_missing_header (pfile, fname, angle_brackets)
int print_dep = CPP_PRINT_DEPS(pfile) > (angle_brackets || pfile->map->sysp);
if (CPP_OPTION (pfile, print_deps_missing_files) && print_dep)
{
if (!angle_brackets || IS_ABSOLUTE_PATHNAME (fname))
deps_add_dep (pfile->deps, fname);
else
{
/* If requested as a system header, assume it belongs in
the first system header directory. */
struct search_path *ptr = CPP_OPTION (pfile, bracket_include);
char *p;
int len = 0, fname_len = strlen (fname);
if (ptr)
len = ptr->len;
p = (char *) alloca (len + fname_len + 2);
if (len)
{
memcpy (p, ptr->name, len);
p[len++] = '/';
}
memcpy (p + len, fname, fname_len + 1);
deps_add_dep (pfile->deps, p);
}
}
deps_add_dep (pfile->deps, fname);
/* If -M was specified, then don't count this as an error, because
we can still produce correct output. Otherwise, we can't produce
correct output, because there may be dependencies we need inside
......
......@@ -204,10 +204,13 @@ When used with the driver options @option{-MD} or @option{-MMD},
@item -MG
@opindex MG
When used with @option{-M} or @option{-MM}, @option{-MG} says to treat missing
header files as generated files and assume they live in the same
directory as the source file. It suppresses preprocessed output, as a
missing header file is ordinarily an error.
In conjunction with an option such as @option{-M} requesting
dependency generation, @option{-MG} assumes missing header files are
generated files and adds them to the dependency list without raising
an error. The dependency filename is taken directly from the
@code{#include} directive without prepending any path. @option{-MG}
also suppresses preprocessed output, as a missing header file renders
this useless.
This feature is used in automatic updating of makefiles.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment