[Bug c++/29016] [4.2 Regression] tree check: expected class 'expression', have 'exceptional' (baselink) in get_base_var, at ipa-utils.c:224

2006-11-24 Thread pinskia at gcc dot gnu dot org


--- Comment #11 from pinskia at gcc dot gnu dot org  2006-11-25 04:27 
---
*** Bug 29658 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||bero at arklinux dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29016



[Bug c++/29016] [4.2 Regression] tree check: expected class 'expression', have 'exceptional' (baselink) in get_base_var, at ipa-utils.c:224

2006-09-21 Thread mmitchel at gcc dot gnu dot org


--- Comment #9 from mmitchel at gcc dot gnu dot org  2006-09-21 22:19 
---
Subject: Bug 29016

Author: mmitchel
Date: Thu Sep 21 22:18:54 2006
New Revision: 117123

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=117123
Log:
PR c++/29016
* typeck.c (build_unary_op): Don't form an ADDR_EXPR around a
BASELINK.
PR c++/29016
* g++.dg/init/ptrfn1.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/init/ptrfn1.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/typeck.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29016



[Bug c++/29016] [4.2 Regression] tree check: expected class 'expression', have 'exceptional' (baselink) in get_base_var, at ipa-utils.c:224

2006-09-21 Thread mmitchel at gcc dot gnu dot org


--- Comment #10 from mmitchel at gcc dot gnu dot org  2006-09-21 22:25 
---
Fixed in 4.2.0.


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29016



[Bug c++/29016] [4.2 Regression] tree check: expected class 'expression', have 'exceptional' (baselink) in get_base_var, at ipa-utils.c:224

2006-09-20 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |mark at codesourcery dot com
   |dot org |
 Status|NEW |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29016



[Bug c++/29016] [4.2 Regression] tree check: expected class 'expression', have 'exceptional' (baselink) in get_base_var, at ipa-utils.c:224

2006-09-19 Thread micis at gmx dot de


--- Comment #8 from micis at gmx dot de  2006-09-19 08:17 ---
The patch in comment #5 fixes the testcases but a make bootstrap ; make check
(with only C/C++) results in two new regressions:

WARNING: program timed out.
FAIL: g++.dg/opt/pr24665.C (test for excess errors)
FAIL: gcc.c-torture/execute/20050929-1.c compilation,  -O1 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29016



[Bug c++/29016] [4.2 Regression] tree check: expected class 'expression', have 'exceptional' (baselink) in get_base_var, at ipa-utils.c:224

2006-09-18 Thread tbm at cyrius dot com


--- Comment #6 from tbm at cyrius dot com  2006-09-18 13:50 ---
Note that this bug is very frequent (compiling the Debian archive).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29016



[Bug c++/29016] [4.2 Regression] tree check: expected class 'expression', have 'exceptional' (baselink) in get_base_var, at ipa-utils.c:224

2006-09-18 Thread micis at gmx dot de


--- Comment #7 from micis at gmx dot de  2006-09-18 15:39 ---
I get the same ICE with this short code:

class A;
class B
{
typedef void (*C[5]) (A *);
static  C D;
static void E (A*) {}
};
B::C B::D={E};


-- 

micis at gmx dot de changed:

   What|Removed |Added

 CC||micis at gmx dot de


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29016



[Bug c++/29016] [4.2 Regression] tree check: expected class 'expression', have 'exceptional' (baselink) in get_base_var, at ipa-utils.c:224

2006-09-13 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2006-09-13 06:56 ---
This one works for me but I doubt it is correct:
Index: ../../gcc/ipa-utils.c
===
--- ../../gcc/ipa-utils.c   (revision 116919)
+++ ../../gcc/ipa-utils.c   (working copy)
@@ -212,6 +212,7 @@ ipa_utils_reduced_inorder (struct cgraph
 tree
 get_base_var (tree t)
 {
+  tree temp;
   if ((TREE_CODE (t) == EXC_PTR_EXPR) || (TREE_CODE (t) == FILTER_EXPR))
 return t;

@@ -221,7 +222,11 @@ get_base_var (tree t)
  TREE_CODE (t) != FUNCTION_DECL
  TREE_CODE (t) != CONST_DECL)
 {
-  t = TREE_OPERAND (t, 0);
+  temp = staticp (t);
+  if (temp)
+t = temp;
+  else
+t = TREE_OPERAND (t, 0);
 }
   return t;
 }


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29016



[Bug c++/29016] [4.2 Regression] tree check: expected class 'expression', have 'exceptional' (baselink) in get_base_var, at ipa-utils.c:224

2006-09-11 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||mmitchel at gcc dot gnu dot
   ||org
   Keywords||ice-on-valid-code
Summary|tree check: expected class  |[4.2 Regression] tree check:
   |'expression', have  |expected class 'expression',
   |'exceptional' (baselink) in |have 'exceptional'
   |get_base_var, at ipa-   |(baselink) in get_base_var,
   |utils.c:224 |at ipa-utils.c:224
   Target Milestone|--- |4.2.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29016



[Bug c++/29016] [4.2 Regression] tree check: expected class 'expression', have 'exceptional' (baselink) in get_base_var, at ipa-utils.c:224

2006-09-11 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2006-09-11 15:29 ---
This is why I mentioned BASELINK should be stripped.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29016



[Bug c++/29016] [4.2 Regression] tree check: expected class 'expression', have 'exceptional' (baselink) in get_base_var, at ipa-utils.c:224

2006-09-11 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29016