[Bug c++/91609] New: friend declaration not honoured
jobstz at posteo dot de
gcc-bugzilla@gcc.gnu.org
Fri Aug 30 14:04:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91609
Bug ID: 91609
Summary: friend declaration not honoured
Product: gcc
Version: 9.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: jobstz at posteo dot de
Target Milestone: ---
Created attachment 46791
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46791&action=edit
minimal example
gcc does not honour the friend declaration and produces the error message:
test.cpp:16:9: error: ‘result’ does not name a type
16 | friend result;
| ^~~~~~
test.cpp: In instantiation of ‘class complicated<int, traits_template>’:
test.cpp:21:36: required from here
test.cpp:9:7: error: ‘using type = int’ is private within this context
9 | class complicated : underlying_thing<typename TraitsTemplate<T>::type>
{};
| ^~~~~~~~~~~
test.cpp:13:8: note: declared private here
13 | using type = T;
| ^~~
clang happily accepts the code.
Possibly related: #82613
Metabug: #59002
More information about the Gcc-bugs
mailing list