From 73f7109ffb159302e9d8f70948a5b43b046b38bc Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Mon, 8 May 2023 18:22:30 -0400 Subject: [PATCH] c++: non-template friend of template [PR106740] This was fixed by r13-1018, but the testcase seems needed. PR c++/106740 gcc/testsuite/ChangeLog: * g++.dg/template/friend78.C: New test. --- gcc/testsuite/g++.dg/template/friend78.C | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 gcc/testsuite/g++.dg/template/friend78.C diff --git a/gcc/testsuite/g++.dg/template/friend78.C b/gcc/testsuite/g++.dg/template/friend78.C new file mode 100644 index 000000000000..6100528468e3 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/friend78.C @@ -0,0 +1,18 @@ +// PR c++/106740 +// { dg-additional-options -Wno-non-template-friend } + +template struct EnumClass { friend int toString(EnumClass); }; +struct AmhsConvInfoCoFw { + enum AftnTypeXMsgTypeEnum {}; + typedef EnumClass AftnTypeXMsgType; + const int getAftnTypeXMsgTypeAsStr() const; + struct MtcuAxgwInfo { + AftnTypeXMsgType mAftnTypeXMsgType; + }; +}; +const int AmhsConvInfoCoFw::getAftnTypeXMsgTypeAsStr() const { + MtcuAxgwInfo __trans_tmp_1; + toString(__trans_tmp_1.mAftnTypeXMsgType); + return 0; +} +int toString(AmhsConvInfoCoFw::AftnTypeXMsgType); -- 2.47.2