]> git.ipfire.org Git - thirdparty/gcc.git/commit
libcpp: modules and -include again
authorJason Merrill <jason@redhat.com>
Tue, 26 Nov 2024 21:19:05 +0000 (16:19 -0500)
committerJason Merrill <jason@redhat.com>
Wed, 27 Nov 2024 04:53:37 +0000 (23:53 -0500)
commit134dc932e1ceb13519846795c895319f77df3235
tree5ed0da4750a8ed3c5ffeabe0a3df79937ad20d4d
parent5e718a7a789b39ef877e0d66c7a6a85b54eb112f
libcpp: modules and -include again

I enabled include translation to header units in r15-1104-ga29f481bbcaf2b,
but it seems that patch wasn't sufficient, as any diagnostics in the main
source file would show up as coming from the header instead.

Fixed by setting buffer->file for leaving the file transition that my
previous patch made us enter.  And don't push a buffer of newlines, in this
case that messes up line numbers instead of aligning them.

libcpp/ChangeLog:

* files.cc (_cpp_stack_file): Handle -include of header unit more
specially.

gcc/testsuite/ChangeLog:

* g++.dg/modules/dashinclude-1_b.C: Add an #error.
* g++.dg/modules/dashinclude-1_a.H: Remove dg-module-do run.
gcc/testsuite/g++.dg/modules/dashinclude-1_a.H
gcc/testsuite/g++.dg/modules/dashinclude-1_b.C
libcpp/files.cc