[Bug c++/87571] [8/9 Regression] ICE in friend_accessible_p, accessing protected member of template friend inside template class

2019-03-11 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87571

--- Comment #5 from paolo at gcc dot gnu.org  ---
Author: paolo
Date: Mon Mar 11 10:30:24 2019
New Revision: 269575

URL: https://gcc.gnu.org/viewcvs?rev=269575=gcc=rev
Log:
2019-03-11  Paolo Carlini  

PR c++/87571
* g++.dg/template/memfriend18.C: New.

Added:
trunk/gcc/testsuite/g++.dg/template/memfriend18.C
Modified:
trunk/gcc/testsuite/ChangeLog

[Bug c++/87571] [8/9 Regression] ICE in friend_accessible_p, accessing protected member of template friend inside template class

2019-03-11 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87571

--- Comment #4 from Paolo Carlini  ---
This is fixed in trunk. I'm adding the testcase and removing the regression
marker.

[Bug c++/87571] [8/9 Regression] ICE in friend_accessible_p, accessing protected member of template friend inside template class

2019-02-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87571

Jakub Jelinek  changed:

   What|Removed |Added

   Target Milestone|8.3 |8.4

--- Comment #3 from Jakub Jelinek  ---
GCC 8.3 has been released.

[Bug c++/87571] [8/9 Regression] ICE in friend_accessible_p, accessing protected member of template friend inside template class

2018-12-21 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87571

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug c++/87571] [8/9 Regression] ICE in friend_accessible_p, accessing protected member of template friend inside template class

2018-12-05 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87571

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org,
   ||nathan at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek  ---
ICE started with r255780.

[Bug c++/87571] [8/9 Regression] ICE in friend_accessible_p, accessing protected member of template friend inside template class

2018-11-27 Thread aoliva at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87571

Alexandre Oliva  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-11-28
 CC||aoliva at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Alexandre Oliva  ---
The reason private works where protected doesn't is that private access
checking uses is_friend, whereas protected access checking uses
friend_accessible_p.  The latter is supposed to grant access whenever is_friend
would (that's the assert that fails), but while is_friend checks various
possibilities of template specialization with is_specialization_of_friend,
friend_accessible_p seems to only handle one layer of template friends.

I'm afraid I don't quite see how to extend e.g. protected_accessible_p, used by
friend_accessible_p, to deal with additional template layers.

[Bug c++/87571] [8/9 Regression] ICE in friend_accessible_p, accessing protected member of template friend inside template class

2018-10-10 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87571

Richard Biener  changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
   Target Milestone|--- |8.3