[PATCH] PR c++/30659 segfault w/ invalid input

Seongbae Park seongbae.park@gmail.com
Tue Feb 6 06:25:00 GMT 2007


Hi,

This patch fixes the compiler segmentation fault on an invalid input.
Bootstrapped and regtested on i686-linux.
As I have never looked at c+ frontend before,
there's a high chance I'm not doing the right thing.
OK for mainline ?

2007-02-05  Seongbae Park <seongbae.park@gmail.com>

        PR c++/30659
        * search.c (lookup_member): Return error_mark_node on NULL basetype.

-- 
#pragma ident "Seongbae Park, compiler, http://seongbae.blogspot.com"
-------------- next part --------------
Index: cp/search.c
===================================================================
--- cp/search.c	(revision 121630)
+++ cp/search.c	(working copy)
@@ -1202,6 +1202,9 @@ lookup_member (tree xbasetype, tree name
 
   gcc_assert (TREE_CODE (name) == IDENTIFIER_NODE);
 
+  if (xbasetype == NULL_TREE)
+    return error_mark_node;
+
   if (TREE_CODE (xbasetype) == TREE_BINFO)
     {
       type = BINFO_TYPE (xbasetype);
@@ -2595,4 +2598,3 @@ original_binfo (tree binfo, tree here)
 
   return result;
 }
-


More information about the Gcc-patches mailing list