1 # DP: Work around memory corruption (just for 2.95.1)
2 # DP: by Daniel Jacobowitz <dan@debian.org>
4 diff -rcp ../egcs/for-unstable/gcc-2.95/gcc/cp/cp-tree.h gcc-2.95/gcc/cp/cp-tree.h
5 *** ../egcs/for-unstable/gcc-2.95/gcc/cp/cp-tree.h Thu Jun 24 09:16:17 1999
6 --- gcc-2.95/gcc/cp/cp-tree.h Fri Aug 6 17:41:45 1999
7 *************** Boston, MA 02111-1307, USA. */
9 4: BINFO_NEW_VTABLE_MARKED.
10 TREE_HAS_CONSTRUCTOR (in INDIRECT_REF, SAVE_EXPR, CONSTRUCTOR,
15 Usage of TYPE_LANG_FLAG_?:
17 4: BINFO_NEW_VTABLE_MARKED.
18 TREE_HAS_CONSTRUCTOR (in INDIRECT_REF, SAVE_EXPR, CONSTRUCTOR,
20 ! 5: CALL_EXPR_RTL_IS_TREE.
23 Usage of TYPE_LANG_FLAG_?:
24 *************** extern int flag_new_for_scope;
28 /* Nonzero for _TYPE means that the _TYPE defines a destructor. */
29 #define TYPE_HAS_DESTRUCTOR(NODE) (TYPE_LANG_FLAG_2(NODE))
31 + /* Nonzero for CALL_EXPR means that operands[2] is a cv_qualifier tree */
32 + #define CALL_EXPR_RTL_IS_TREE(NODE) (TREE_LANG_FLAG_5(NODE))
35 /* Nonzero for _TYPE node means that creating an object of this type
36 diff -rcp ../egcs/for-unstable/gcc-2.95/gcc/cp/lex.c gcc-2.95/gcc/cp/lex.c
37 *** ../egcs/for-unstable/gcc-2.95/gcc/cp/lex.c Thu Jun 24 09:16:26 1999
38 --- gcc-2.95/gcc/cp/lex.c Fri Aug 6 16:14:25 1999
39 *************** make_call_declarator (target, parms, cv_
42 tree target, parms, cv_qualifiers, exception_specification;
44 target = build_parse_node (CALL_EXPR, target, parms, cv_qualifiers);
45 + if (cv_qualifiers != NULL_TREE)
46 + CALL_EXPR_RTL_IS_TREE (target) = 1;
47 TREE_TYPE (target) = exception_specification;
50 *************** set_quals_and_spec (call_declarator, cv_
53 tree call_declarator, cv_qualifiers, exception_specification;
55 TREE_OPERAND (call_declarator, 2) = cv_qualifiers;
56 + if (cv_qualifiers != NULL_TREE)
57 + CALL_EXPR_RTL_IS_TREE (call_declarator) = 1;
59 + CALL_EXPR_RTL_IS_TREE (call_declarator) = 0;
60 TREE_TYPE (call_declarator) = exception_specification;
63 diff -rcp ../egcs/for-unstable/gcc-2.95/gcc/cp/tree.c gcc-2.95/gcc/cp/tree.c
64 *** ../egcs/for-unstable/gcc-2.95/gcc/cp/tree.c Thu Jun 24 09:16:27 1999
65 --- gcc-2.95/gcc/cp/tree.c Fri Aug 6 16:08:20 1999
66 *************** mapcar (t, func)
69 /* tree.def says that operand two is RTL, but
70 make_call_declarator puts trees in there. */
71 if (TREE_OPERAND (t, 2)
72 + && CALL_EXPR_RTL_IS_TREE (t)
73 && TREE_CODE (TREE_OPERAND (t, 2)) == TREE_LIST)
74 TREE_OPERAND (t, 2) = mapcar (TREE_OPERAND (t, 2), func);
81 To UNSUBSCRIBE, email to debian-toolchain-request@lists.debian.org
82 with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org