aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2020-11-03 04:59:48 -0800
committerNathan Sidwell <nathan@acm.org>2020-11-03 05:16:19 -0800
commit918e8b10a716ec720215afafb7baa1b9b75e4fa1 (patch)
tree48548ad8236285ceca1910f4a6413b1c99126891 /gcc/fortran
parentf7d6961126a7f06c8089d8a58bd21be43bc16806 (diff)
downloadgcc-918e8b10a716ec720215afafb7baa1b9b75e4fa1.zip
gcc-918e8b10a716ec720215afafb7baa1b9b75e4fa1.tar.gz
gcc-918e8b10a716ec720215afafb7baa1b9b75e4fa1.tar.bz2
libcpp: dependency emission tidying
This patch cleans up the interface to the dependency generation a little. We now only check the option in one place, and the cpp_get_deps function returns nullptr if there are no dependencies. I also reworded the -MT and -MQ help text to be make agnostic -- as there are ideas about emitting, say, JSON. libcpp/ * include/mkdeps.h: Include cpplib.h (deps_write): Adjust first parm type. * mkdeps.c: Include internal.h (make_write): Adjust first parm type. Check phony option directly. (deps_write): Adjust first parm type. * init.c (cpp_read_main_file): Use get_deps. * directives.c (cpp_get_deps): Check option before initializing. gcc/c-family/ * c.opt (MQ,MT): Reword description to be make-agnostic. gcc/fortran/ * cpp.c (gfc_cpp_add_dep): Only add dependency if we're recording them. (gfc_cpp_init): Likewise for target.
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/cpp.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/fortran/cpp.c b/gcc/fortran/cpp.c
index dcde557..51baf141 100644
--- a/gcc/fortran/cpp.c
+++ b/gcc/fortran/cpp.c
@@ -222,13 +222,15 @@ void
gfc_cpp_add_dep (const char *name, bool system)
{
if (!gfc_cpp_option.deps_skip_system || !system)
- deps_add_dep (cpp_get_deps (cpp_in), name);
+ if (mkdeps *deps = cpp_get_deps (cpp_in))
+ deps_add_dep (deps, name);
}
void
gfc_cpp_add_target (const char *name)
{
- deps_add_target (cpp_get_deps (cpp_in), name, 0);
+ if (mkdeps *deps = cpp_get_deps (cpp_in))
+ deps_add_target (deps, name, 0);
}
@@ -605,8 +607,8 @@ gfc_cpp_init (void)
cpp_assert (cpp_in, opt->arg);
}
else if (opt->code == OPT_MT || opt->code == OPT_MQ)
- deps_add_target (cpp_get_deps (cpp_in),
- opt->arg, opt->code == OPT_MQ);
+ if (mkdeps *deps = cpp_get_deps (cpp_in))
+ deps_add_target (deps, opt->arg, opt->code == OPT_MQ);
}
/* Pre-defined macros for non-required INTEGER kind types. */