aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2013-03-16 22:37:33 -0400
committerJason Merrill <jason@gcc.gnu.org>2013-03-16 22:37:33 -0400
commitca2e264dd6e2eb677baebf6ebdad9d5f5dfcdbcd (patch)
treed9789b0249ac2541f2232a3bff6da282ccbe9a40
parentb7df43cdb4108016f6cbf511a65194384792e34d (diff)
downloadgcc-ca2e264dd6e2eb677baebf6ebdad9d5f5dfcdbcd.zip
gcc-ca2e264dd6e2eb677baebf6ebdad9d5f5dfcdbcd.tar.gz
gcc-ca2e264dd6e2eb677baebf6ebdad9d5f5dfcdbcd.tar.bz2
* search.c (lookup_base): Handle NULL_TREE.
From-SVN: r196738
-rw-r--r--gcc/cp/ChangeLog2
-rw-r--r--gcc/cp/search.c8
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 5b28025..c0e1542 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,7 @@
2013-03-16 Jason Merrill <jason@redhat.com>
+ * search.c (lookup_base): Handle NULL_TREE.
+
PR c++/56481
* semantics.c (potential_constant_expression_1): Use of 'this' in
a non-constexpr function makes the expression not potentially
diff --git a/gcc/cp/search.c b/gcc/cp/search.c
index 4cc02ba..54a5e4a 100644
--- a/gcc/cp/search.c
+++ b/gcc/cp/search.c
@@ -188,6 +188,14 @@ lookup_base (tree t, tree base, base_access access,
tree t_binfo;
base_kind bk;
+ /* "Nothing" is definitely not derived from Base. */
+ if (t == NULL_TREE)
+ {
+ if (kind_ptr)
+ *kind_ptr = bk_not_base;
+ return NULL_TREE;
+ }
+
if (t == error_mark_node || base == error_mark_node)
{
if (kind_ptr)