+++ /dev/null
-# DP: Work around memory corruption (just for 2.95.1)
-# DP: by Daniel Jacobowitz <dan@debian.org>
-
-diff -rcp ../egcs/for-unstable/gcc-2.95/gcc/cp/cp-tree.h gcc-2.95/gcc/cp/cp-tree.h
-*** ../egcs/for-unstable/gcc-2.95/gcc/cp/cp-tree.h Thu Jun 24 09:16:17 1999
---- gcc-2.95/gcc/cp/cp-tree.h Fri Aug 6 17:41:45 1999
-*************** Boston, MA 02111-1307, USA. */
-*** 52,58 ****
- 4: BINFO_NEW_VTABLE_MARKED.
- TREE_HAS_CONSTRUCTOR (in INDIRECT_REF, SAVE_EXPR, CONSTRUCTOR,
- or FIELD_DECL).
-! 5: Not used.
- 6: Not used.
-
- Usage of TYPE_LANG_FLAG_?:
---- 52,58 ----
- 4: BINFO_NEW_VTABLE_MARKED.
- TREE_HAS_CONSTRUCTOR (in INDIRECT_REF, SAVE_EXPR, CONSTRUCTOR,
- or FIELD_DECL).
-! 5: CALL_EXPR_RTL_IS_TREE.
- 6: Not used.
-
- Usage of TYPE_LANG_FLAG_?:
-*************** extern int flag_new_for_scope;
-*** 1614,1619 ****
---- 1614,1622 ----
-
- /* Nonzero for _TYPE means that the _TYPE defines a destructor. */
- #define TYPE_HAS_DESTRUCTOR(NODE) (TYPE_LANG_FLAG_2(NODE))
-+
-+ /* Nonzero for CALL_EXPR means that operands[2] is a cv_qualifier tree */
-+ #define CALL_EXPR_RTL_IS_TREE(NODE) (TREE_LANG_FLAG_5(NODE))
-
- #if 0
- /* Nonzero for _TYPE node means that creating an object of this type
-diff -rcp ../egcs/for-unstable/gcc-2.95/gcc/cp/lex.c gcc-2.95/gcc/cp/lex.c
-*** ../egcs/for-unstable/gcc-2.95/gcc/cp/lex.c Thu Jun 24 09:16:26 1999
---- gcc-2.95/gcc/cp/lex.c Fri Aug 6 16:14:25 1999
-*************** make_call_declarator (target, parms, cv_
-*** 226,231 ****
---- 226,233 ----
- tree target, parms, cv_qualifiers, exception_specification;
- {
- target = build_parse_node (CALL_EXPR, target, parms, cv_qualifiers);
-+ if (cv_qualifiers != NULL_TREE)
-+ CALL_EXPR_RTL_IS_TREE (target) = 1;
- TREE_TYPE (target) = exception_specification;
- return target;
- }
-*************** set_quals_and_spec (call_declarator, cv_
-*** 235,240 ****
---- 237,246 ----
- tree call_declarator, cv_qualifiers, exception_specification;
- {
- TREE_OPERAND (call_declarator, 2) = cv_qualifiers;
-+ if (cv_qualifiers != NULL_TREE)
-+ CALL_EXPR_RTL_IS_TREE (call_declarator) = 1;
-+ else
-+ CALL_EXPR_RTL_IS_TREE (call_declarator) = 0;
- TREE_TYPE (call_declarator) = exception_specification;
- }
- \f
-diff -rcp ../egcs/for-unstable/gcc-2.95/gcc/cp/tree.c gcc-2.95/gcc/cp/tree.c
-*** ../egcs/for-unstable/gcc-2.95/gcc/cp/tree.c Thu Jun 24 09:16:27 1999
---- gcc-2.95/gcc/cp/tree.c Fri Aug 6 16:08:20 1999
-*************** mapcar (t, func)
-*** 1887,1892 ****
---- 1887,1893 ----
- /* tree.def says that operand two is RTL, but
- make_call_declarator puts trees in there. */
- if (TREE_OPERAND (t, 2)
-+ && CALL_EXPR_RTL_IS_TREE (t)
- && TREE_CODE (TREE_OPERAND (t, 2)) == TREE_LIST)
- TREE_OPERAND (t, 2) = mapcar (TREE_OPERAND (t, 2), func);
- else
-
---bp/iNruPH9dso1Pn--
-
-
---
-To UNSUBSCRIBE, email to debian-toolchain-request@lists.debian.org
-with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org