aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/typeck.c
diff options
context:
space:
mode:
authorJason Merrill <jason@casey.cygnus.com>2000-04-20 05:53:58 +0000
committerJason Merrill <jason@gcc.gnu.org>2000-04-20 01:53:58 -0400
commit6e9dcc25c1b16f9d2b3cb0f991f2840b0a4385e8 (patch)
tree5c00cfe370fd1a8509cf66030a91d8fa23d2eb8c /gcc/cp/typeck.c
parentaf98124ef9a698e8b82e4e794fd421ea0ccb3054 (diff)
downloadgcc-6e9dcc25c1b16f9d2b3cb0f991f2840b0a4385e8.zip
gcc-6e9dcc25c1b16f9d2b3cb0f991f2840b0a4385e8.tar.gz
gcc-6e9dcc25c1b16f9d2b3cb0f991f2840b0a4385e8.tar.bz2
typeck.c (build_x_function_call): Resolve an OFFSET_REF.
* typeck.c (build_x_function_call): Resolve an OFFSET_REF. * call.c (joust): Exit early if we get the same function, too. * decl2.c (key_method): Return NULL_TREE for template classes. (import_export_class): Don't need to check for template classes. From-SVN: r33273
Diffstat (limited to 'gcc/cp/typeck.c')
-rw-r--r--gcc/cp/typeck.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c
index 6b7cb69..7d12d95 100644
--- a/gcc/cp/typeck.c
+++ b/gcc/cp/typeck.c
@@ -2574,6 +2574,9 @@ build_x_function_call (function, params, decl)
TYPE_BINFO (type), LOOKUP_NORMAL);
}
+ if (TREE_CODE (function) == OFFSET_REF)
+ function = resolve_offset_ref (function);
+
if ((TREE_CODE (function) == FUNCTION_DECL
&& DECL_STATIC_FUNCTION_P (function))
|| (TREE_CODE (function) == TEMPLATE_DECL
@@ -2669,8 +2672,6 @@ build_x_function_call (function, params, decl)
return build_method_call (decl, function, params,
NULL_TREE, LOOKUP_NORMAL);
}
- else if (TREE_CODE (function) == OFFSET_REF)
- my_friendly_abort (20000406);
else if (TREE_CODE (function) == COMPONENT_REF
&& type == unknown_type_node)
{