Tested x86_64-pc-linux-gnu, applying to trunk.
-- 8< --
While experimenting with testing module std I noticed that gcc -M broke on
it; it seems I need to set directives_only even sooner than I did in
r15-4219.
gcc/c-family/ChangeLog:
* c-ppoutput.cc (preprocess_file): Don't set directives_only here.
gcc/cp/ChangeLog:
* module.cc (module_preprocess_options): Set directives_only here.
---
gcc/c-family/c-ppoutput.cc | 1 -
gcc/cp/module.cc | 2 ++
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/gcc/c-family/c-ppoutput.cc b/gcc/c-family/c-ppoutput.cc
index f6f83bdff00..97ea864df14 100644
--- a/gcc/c-family/c-ppoutput.cc
+++ b/gcc/c-family/c-ppoutput.cc
@@ -95,7 +95,6 @@ preprocess_file (cpp_reader *pfile)
if (flag_modules)
{
/* For macros from imported headers we need directives_only_cb. */
- cpp_get_options (pfile)->directives_only = true;
scan_translation_unit_directives_only (pfile);
}
else
diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc
index 27eb39b48fa..4136fdceb9f 100644
--- a/gcc/cp/module.cc
+++ b/gcc/cp/module.cc
@@ -21224,6 +21224,8 @@ module_preprocess_options (cpp_reader *reader)
}
auto *opt = cpp_get_options (reader);
opt->module_directives = true;
+ if (flag_no_output)
+ opt->directives_only = true;
if (opt->main_search == CMS_none)
opt->main_search = cpp_main_search (flag_header_unit);
}
base-commit: bd59f2eeacd41b91e4e79b32dda83cc60d499e25
prerequisite-patch-id: 1d5f14b39e65d5cab453a0381f695e1a43547123
prerequisite-patch-id: e310dd58cbb3709f815844319766be6cb6888a47
--
2.47.0