diff options
author | Jonathan Wakely <jwakely.gcc@gmail.com> | 2011-09-22 14:16:27 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2011-09-22 14:16:27 +0000 |
commit | 056a3927785fdad7bf6929d3d093cbd896cae603 (patch) | |
tree | ead0b04a92b283e76554e0f0f5c9b1d051d21acc /gcc/cp | |
parent | e7dd5b57c4f92c45c73a1c86cd1b21912c08d682 (diff) | |
download | gcc-056a3927785fdad7bf6929d3d093cbd896cae603.zip gcc-056a3927785fdad7bf6929d3d093cbd896cae603.tar.gz gcc-056a3927785fdad7bf6929d3d093cbd896cae603.tar.bz2 |
re PR c++/50344 (friend declaration confused by const qualifier)
/cp
2011-09-22 Jonathan Wakely <jwakely.gcc@gmail.com>
Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50344
* friend.c (make_friend_class): cv-qualification is ok in a
friend declaration.
/testsuite
2011-09-22 Jonathan Wakely <jwakely.gcc@gmail.com>
Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50344
* g++.dg/template/friend52.C: New.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r179088
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/cp/friend.c | 4 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 5123090..0dd01d9 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,10 @@ +2011-09-22 Jonathan Wakely <jwakely.gcc@gmail.com> + Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/50344 + * friend.c (make_friend_class): cv-qualification is ok in a + friend declaration. + 2011-09-21 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50454 diff --git a/gcc/cp/friend.c b/gcc/cp/friend.c index 36fcca4..b6bd387 100644 --- a/gcc/cp/friend.c +++ b/gcc/cp/friend.c @@ -1,6 +1,6 @@ /* Help friends in C++. Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, - 2007, 2008, 2010 Free Software Foundation, Inc. + 2007, 2008, 2010, 2011 Free Software Foundation, Inc. This file is part of GCC. @@ -237,6 +237,8 @@ make_friend_class (tree type, tree friend_type, bool complain) return; } + friend_type = cv_unqualified (friend_type); + if (friend_depth) /* If the TYPE is a template then it makes sense for it to be friends with itself; this means that each instantiation is |