]> git.ipfire.org Git - thirdparty/gcc.git/commit
c++: Cross-module partial specialiations [PR 99480]
authorNathan Sidwell <nathan@acm.org>
Mon, 22 Mar 2021 19:35:35 +0000 (12:35 -0700)
committerNathan Sidwell <nathan@acm.org>
Mon, 22 Mar 2021 19:40:33 +0000 (12:40 -0700)
commit2bfd081f1bce3fb7f791591e741723dce4e884ed
tree532930ceb4c3ee75d3c0c1cf0433b87d86616f59
parent02f2dc441b1954736cc61e3f97687cd23d5586c5
c++: Cross-module partial specialiations [PR 99480]

We were not correctly handling cross-module redeclarations of
partial-specializations.  They have their own TEMPLATE_DECL, which we
need to locate.  I had a FIXME there about this case.  Guess it's
fixed now.

PR c++/99480
gcc/cp/
* module.cc (depset::hash::make_dependency): Propagate flags for
partial specialization.
(module_may_redeclare): Handle partial specialization.
gcc/testsuite/
* g++.dg/modules/pr99480_a.H: New.
* g++.dg/modules/pr99480_b.H: New.
gcc/cp/module.cc
gcc/testsuite/g++.dg/modules/pr99480_a.H [new file with mode: 0644]
gcc/testsuite/g++.dg/modules/pr99480_b.H [new file with mode: 0644]