+++ /dev/null
-#! /bin/sh -e
-
-if [ $# -eq 3 -a "$2" = '-d' ]; then
- pdir="-d $3"
-elif [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
- -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-esac
-exit 0
-
-To: gcc-patches at gcc dot gnu dot org
-# DP: Subject: empty struct initializer fix
-# DP: From: Richard Henderson <rth at twiddle dot net>
-# DP: Date: Sun, 20 Feb 2000 00:33:40 -0800
-
-Fixes
-
- struct empty { };
- struct something {
- int spacer;
- struct empty foo;
- int bar;
- };
-
- struct something X = {
- foo: (struct empty) { },
- bar: 1,
- };
-
-which used to abort.
-
-
-r~
-
- * c-typeck.c (add_pending_init): Don't abort for multiple
- fields at the same offset.
- (pending_init_member): Test the correct member.
-
---- gcc/c-typeck.c.orig Wed Feb 23 18:38:30 2000
-+++ gcc/c-typeck.c Wed Feb 23 18:38:35 2000
-@@ -5846,7 +5846,7 @@
- p = *q;
- if (tree_int_cst_lt (purpose, p->purpose))
- q = &p->left;
-- else if (tree_int_cst_lt (p->purpose, purpose))
-+ else if (p->purpose != purpose)
- q = &p->right;
- else
- abort ();
-@@ -5860,8 +5860,7 @@
- if (tree_int_cst_lt (DECL_FIELD_BITPOS (purpose),
- DECL_FIELD_BITPOS (p->purpose)))
- q = &p->left;
-- else if (tree_int_cst_lt (DECL_FIELD_BITPOS (p->purpose),
-- DECL_FIELD_BITPOS (purpose)))
-+ else if (p->purpose != purpose)
- q = &p->right;
- else
- abort ();
-@@ -6046,7 +6045,7 @@
- {
- while (p)
- {
-- if (tree_int_cst_equal (field, p->purpose))
-+ if (field == p->purpose)
- return 1;
- else if (tree_int_cst_lt (field, p->purpose))
- p = p->left;
+++ /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