re PR preprocessor/6521 (-MG creates dependency with wrong path)
authorRobert Spier <rspier@pobox.com>
Wed, 8 May 2002 21:21:19 +0000 (21:21 +0000)
committerNeil Booth <neil@gcc.gnu.org>
Wed, 8 May 2002 21:21:19 +0000 (21:21 +0000)
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

gcc/ChangeLog
gcc/cppfiles.c
gcc/doc/cppopts.texi

index 3b3bede67ab06f2cadeaafcc01c8ae144e356b5b..7b47c8c2639f7d25507d5163a852f413c61d6b2a 100644 (file)
@@ -1,3 +1,12 @@
+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
index 7600523b0097791d1b4fe444a67386aceeb0808b..70ac9782f4de287834ae1f5255abc236c0d977d1 100644 (file)
@@ -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
index 68bd43902ad30307948303b0b11b812db45e62d1..7a2ce50cc3fceaa42e059faaca049fd690aed34b 100644 (file)
@@ -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.