From de7c2c6a2479de0002f6a07002b6bca4a3a73015 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 1 Sep 2017 16:45:33 +0000 Subject: [PATCH] c-opts.c (c_common_finish): Write dependency information even if there are errors. * c-opts.c (c_common_finish): Write dependency information even if there are errors. From-SVN: r251605 --- gcc/c-family/ChangeLog | 5 +++++ gcc/c-family/c-opts.c | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index e1a051f95ee..33cb1871699 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,8 @@ +2017-09-01 Boris Kolpackov + + * c-opts.c (c_common_finish): Write dependency information even if + there are errors. + 2017-09-01 Jakub Jelinek PR c/81887 diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c index 0b13a188c1b..9e7f0a361ca 100644 --- a/gcc/c-family/c-opts.c +++ b/gcc/c-family/c-opts.c @@ -1145,8 +1145,11 @@ c_common_finish (void) { FILE *deps_stream = NULL; - /* Don't write the deps file if there are errors. */ - if (cpp_opts->deps.style != DEPS_NONE && !seen_error ()) + /* Note that we write the dependencies even if there are errors. This is + useful for handling outdated generated headers that now trigger errors + (for example, with #error) which would be resolved by re-generating + them. In a sense, this complements -MG. */ + if (cpp_opts->deps.style != DEPS_NONE) { /* If -M or -MM was seen without -MF, default output to the output stream. */ -- 2.30.2