diff options
author | Nathan Sidwell <nathan@acm.org> | 2020-12-07 07:02:58 -0800 |
---|---|---|
committer | Nathan Sidwell <nathan@acm.org> | 2020-12-07 08:49:33 -0800 |
commit | 9d0eb0ae948f0fbee208cfb9a86133abea650f81 (patch) | |
tree | 5d307f9a0ab43a547195ce1d7f76516e402cfefd /gcc/ada/gcc-interface/utils.c | |
parent | 92e563d91b012f09da8fd152e934f6b964ae49cb (diff) | |
download | gcc-9d0eb0ae948f0fbee208cfb9a86133abea650f81.zip gcc-9d0eb0ae948f0fbee208cfb9a86133abea650f81.tar.gz gcc-9d0eb0ae948f0fbee208cfb9a86133abea650f81.tar.bz2 |
c++: check alias match for specializations [PR98116]
This fixes the underlying problem my recent (backedout) changes to
array type creation uncovered. We had paths through
structural_comptypes that ignored alias templates, even when
significant. This adds the necessary checks.
PR c++/98116
gcc/cp/
* typeck.c (structural_comptypes): Move early outs to comptype.
Always check template-alias match when comparing_specializations.
(comptypes): Do early out checking here.
gcc/testsuite/
* g++.dg/template/pr98116.C: Remove dg-ice.
* g++.dg/template/pr98116-2.C: New.
Diffstat (limited to 'gcc/ada/gcc-interface/utils.c')
0 files changed, 0 insertions, 0 deletions