aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2024-10-09 12:28:46 -0400
committerJason Merrill <jason@redhat.com>2024-10-09 17:28:35 -0400
commitdcee0b6547211a428b75adb03a461285fed0f20d (patch)
treeaa1b1ce860c57bd1b52f0d4cfd2d70ec926b73ee
parentd264b75eb29cfc1916e3c1ccc7a3251a40458392 (diff)
downloadgcc-dcee0b6547211a428b75adb03a461285fed0f20d.zip
gcc-dcee0b6547211a428b75adb03a461285fed0f20d.tar.gz
gcc-dcee0b6547211a428b75adb03a461285fed0f20d.tar.bz2
c++: more modules and -M
In r15-4119-gc877a27f04f648 I told preprocess_file to use the directives-only scan with modules, but it seems that I also need to set the cpp_option so that communication between _cpp_handle_directive and scan_translation_unit_directives_only works properly in c-c++-common/cpp/embed-6.c. gcc/c-family/ChangeLog: * c-ppoutput.cc (preprocess_file): Set directives_only flag.
-rw-r--r--gcc/c-family/c-ppoutput.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/c-family/c-ppoutput.cc b/gcc/c-family/c-ppoutput.cc
index 374252b..e2c38cb 100644
--- a/gcc/c-family/c-ppoutput.cc
+++ b/gcc/c-family/c-ppoutput.cc
@@ -93,8 +93,11 @@ preprocess_file (cpp_reader *pfile)
if (flag_no_output && pfile->buffer)
{
if (flag_modules)
- /* For macros from imported headers we need directives_only_cb. */
- scan_translation_unit_directives_only (pfile);
+ {
+ /* For macros from imported headers we need directives_only_cb. */
+ cpp_get_options (pfile)->directives_only = true;
+ scan_translation_unit_directives_only (pfile);
+ }
else
{
/* Scan -included buffers, then the main file. */