]> gcc.gnu.org Git - gcc.git/commitdiff
re PR c++/12573 (ICE (segfault) with Boost.Python)
authorGiovanni Bajo <giovannibajo@gcc.gnu.org>
Tue, 2 Dec 2003 12:02:21 +0000 (12:02 +0000)
committerGiovanni Bajo <giovannibajo@gcc.gnu.org>
Tue, 2 Dec 2003 12:02:21 +0000 (12:02 +0000)
PR c++/12573
* pt.c (value_dependent_expression_p): Handle COMPONENT_REFs by
looking into them recursively.

From-SVN: r74172

gcc/cp/ChangeLog
gcc/cp/pt.c

index b4d1df938b81afef35fc07822b55e2645c22dc0a..972396880d0abc897c48462b853dc9954685b0ab 100644 (file)
@@ -1,3 +1,9 @@
+2003-12-02  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+
+       PR c++/12573\r
+       * pt.c (value_dependent_expression_p): Handle COMPONENT_REFs by\r
+       looking into them recursively.\r
+
 2003-12-02  Richard Henderson  <rth@redhat.com>
 
        * name-lookup.h (struct cp_binding_level): Use ENUM_BITFIELD.
index edfb8a52e2f63216cc9f2b8b165fc46aaba13d8c..93d790bc818a8b18f81a1d0bc8c7d37e64462502 100644 (file)
@@ -11713,6 +11713,9 @@ value_dependent_expression_p (tree expression)
     }
   if (TREE_CODE (expression) == SCOPE_REF)
     return dependent_scope_ref_p (expression, value_dependent_expression_p);
+  if (TREE_CODE (expression) == COMPONENT_REF)
+    return (value_dependent_expression_p (TREE_OPERAND (expression, 0))
+           || value_dependent_expression_p (TREE_OPERAND (expression, 1)));
   /* A constant expression is value-dependent if any subexpression is
      value-dependent.  */
   if (IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (TREE_CODE (expression))))
This page took 0.10339 seconds and 5 git commands to generate.