Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/template/spec15.C @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// { dg-do compile } // Contributed by Wolfgang Bangerth <bangerth at ticam dot utexas dot edu> // PR c++/509: Make sure specializations of member templates match correctly // between template and non-template overloads. template <class T> struct A { template <class U> void f (U); void f2 (int); template <class U> void h (U); void h (long); }; template <> struct A<float> { template <class U> void g (U); void g2 (float); }; template <> void A<int>::f (int); // { dg-error "" } // { dg-message "need 2" "" { target *-*-* } .-1 } template <> template <> void A<int>::f (int); template <> void A<int>::f2 (int); template <> template <> void A<int>::f2 (int); // { dg-error "" } template <> void A<float>::g (float); template <> template <> void A<float>::g(float); // { dg-error "" } template <> void A<float>::g2 (float); // { dg-error "" } template <> template <> void A<float>::g2(float); // { dg-error "" } template <> void A<long>::h (long); template <> template <> void A<long>::h(long);