aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/friend.c
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>1999-03-18 20:21:05 -0500
committerJason Merrill <jason@gcc.gnu.org>1999-03-18 20:21:05 -0500
commitc16c47fbf04fa8f4a89b78451c6c1db65feefba1 (patch)
tree4848bb759d2f48031ec0df3b8a181910c50671f1 /gcc/cp/friend.c
parent192babfd6b55504d299cbd7908ca32d7434b0985 (diff)
downloadgcc-c16c47fbf04fa8f4a89b78451c6c1db65feefba1.zip
gcc-c16c47fbf04fa8f4a89b78451c6c1db65feefba1.tar.gz
gcc-c16c47fbf04fa8f4a89b78451c6c1db65feefba1.tar.bz2
friend.c (make_friend_class): Avoid core dump when not-yet-defined friend type lacks TYPE_LANG_SPECIFIC().
* friend.c (make_friend_class): Avoid core dump when not-yet-defined friend type lacks TYPE_LANG_SPECIFIC(). * decl.c (start_function): Suppress normal linkage heuristics for #pragma interface under MULTIPLE_SYMBOL_SPACES. From-SVN: r25857
Diffstat (limited to 'gcc/cp/friend.c')
-rw-r--r--gcc/cp/friend.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cp/friend.c b/gcc/cp/friend.c
index 8bcdcc4..30b3c51 100644
--- a/gcc/cp/friend.c
+++ b/gcc/cp/friend.c
@@ -263,7 +263,8 @@ make_friend_class (type, friend_type)
return;
}
- if (CLASSTYPE_TEMPLATE_SPECIALIZATION (friend_type)
+ if (CLASS_TYPE_P (friend_type)
+ && CLASSTYPE_TEMPLATE_SPECIALIZATION (friend_type)
&& uses_template_parms (friend_type))
{
/* [temp.friend]