aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely.gcc@gmail.com>2011-09-22 14:16:27 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2011-09-22 14:16:27 +0000
commit056a3927785fdad7bf6929d3d093cbd896cae603 (patch)
treeead0b04a92b283e76554e0f0f5c9b1d051d21acc /gcc/cp
parente7dd5b57c4f92c45c73a1c86cd1b21912c08d682 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/cp/friend.c4
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