PR c++/23730
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Oct 2005 15:03:12 +0000 (15:03 +0000)
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Oct 2005 15:03:12 +0000 (15:03 +0000)
        * call.c (build_object_call): If BINFO is NULL, bypass
        lookup_fnfields and set fns to NULL_TREE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105304 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/call.c

index a7e9703..23eeade 100644 (file)
@@ -1,3 +1,9 @@
+2005-10-12  David Edelsohn  <edelsohn@gnu.org>
+
+       PR c++/23730
+       * call.c (build_object_call): If BINFO is NULL, bypass
+       lookup_fnfields and set fns to NULL_TREE.
+
 2005-10-12  Paolo Bonzini  <bonzini@gnu.org>
 
        PR c++/24052
index b1a578d..cdf70a4 100644 (file)
@@ -2930,9 +2930,14 @@ build_object_call (tree obj, tree args)
       return error_mark_node;
     }
 
-  fns = lookup_fnfields (TYPE_BINFO (type), ansi_opname (CALL_EXPR), 1);
-  if (fns == error_mark_node)
-    return error_mark_node;
+  if (TYPE_BINFO (type))
+    {
+      fns = lookup_fnfields (TYPE_BINFO (type), ansi_opname (CALL_EXPR), 1);
+      if (fns == error_mark_node)
+       return error_mark_node;
+    }
+  else
+    fns = NULL_TREE;
 
   args = resolve_args (args);