summaryrefslogtreecommitdiff
path: root/lang/gpc/files/patch-ag
diff options
context:
space:
mode:
Diffstat (limited to 'lang/gpc/files/patch-ag')
-rw-r--r--lang/gpc/files/patch-ag171
1 files changed, 0 insertions, 171 deletions
diff --git a/lang/gpc/files/patch-ag b/lang/gpc/files/patch-ag
deleted file mode 100644
index f88718ed10a9..000000000000
--- a/lang/gpc/files/patch-ag
+++ /dev/null
@@ -1,171 +0,0 @@
-*** fold-const.c.orig Sat Feb 28 22:58:15 1998
---- fold-const.c Thu Mar 23 15:32:50 2000
-***************
-*** 1225,1232 ****
---- 1225,1236 ----
- }
-
- TREE_OVERFLOW (t)
-+ #ifdef GPC
-+ = ((notrunc ? overflow : force_fit_type (t, overflow))
-+ #else /* not GPC */
- = ((notrunc ? (!uns || forsize) && overflow
- : force_fit_type (t, (!uns || forsize) && overflow) && ! no_overflow)
-+ #endif /* not GPC */
- | TREE_OVERFLOW (arg1)
- | TREE_OVERFLOW (arg2));
- /* If we're doing a size calculation, unsigned arithmetic does overflow.
-***************
-*** 4489,4494 ****
---- 4493,4510 ----
- goto associate;
-
- case BIT_IOR_EXPR:
-+ #ifdef GPC
-+ if (TREE_CODE (type) == SET_TYPE)
-+ {
-+ /* S + [] == S */
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg1))) == VOID_TYPE)
-+ return arg0;
-+
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE)
-+ return arg1;
-+ goto associate;
-+ }
-+ #endif /* GPC */
- bit_ior:
- {
- register enum tree_code code0, code1;
-***************
-*** 4550,4555 ****
---- 4566,4583 ----
- }
-
- case BIT_XOR_EXPR:
-+ #ifdef GPC
-+ if (TREE_CODE (type) == SET_TYPE)
-+ {
-+ /* S >< [] == S */
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg1))) == VOID_TYPE)
-+ return arg0;
-+
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE)
-+ return arg1;
-+ goto associate;
-+ }
-+ #endif /* GPC */
- if (integer_zerop (arg1))
- return non_lvalue (convert (type, arg0));
- if (integer_all_onesp (arg1))
-***************
-*** 4557,4562 ****
---- 4585,4602 ----
- goto associate;
-
- case BIT_AND_EXPR:
-+ #ifdef GPC
-+ if (TREE_CODE (type) == SET_TYPE)
-+ {
-+ /* S * [] == [] */
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg1))) == VOID_TYPE)
-+ return arg1;
-+
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE)
-+ return arg0;
-+ goto associate;
-+ }
-+ #endif /* GPC */
- bit_and:
- if (integer_all_onesp (arg1))
- return non_lvalue (convert (type, arg0));
-***************
-*** 4587,4592 ****
---- 4627,4644 ----
- goto associate;
-
- case BIT_ANDTC_EXPR:
-+ #ifdef GPC
-+ if (TREE_CODE (type) == SET_TYPE)
-+ {
-+ /* S - [] == S; [] - S == [] */
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg1))) == VOID_TYPE)
-+ return arg0;
-+
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE)
-+ return arg0;
-+ goto associate;
-+ }
-+ #endif /* GPC */
- if (integer_all_onesp (arg0))
- return non_lvalue (convert (type, arg1));
- if (integer_zerop (arg0))
-***************
-*** 4998,5003 ****
---- 5050,5093 ----
- case GT_EXPR:
- case LE_EXPR:
- case GE_EXPR:
-+ #ifdef GPC
-+ if (TREE_CODE (TREE_TYPE (arg0)) == SET_TYPE)
-+ {
-+ switch (code)
-+ {
-+ case EQ_EXPR:
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE
-+ && TREE_CODE (TREE_TYPE (TREE_TYPE (arg1))) == VOID_TYPE)
-+ return convert (type, integer_one_node);
-+ break;
-+ case NE_EXPR:
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE
-+ && TREE_CODE (TREE_TYPE (TREE_TYPE (arg1))) == VOID_TYPE)
-+ return convert (type, integer_zero_node);
-+ break;
-+ case LE_EXPR:
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE)
-+ return convert (type, integer_one_node);
-+ break;
-+ case GE_EXPR:
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg1))) == VOID_TYPE)
-+ return convert (type, integer_one_node);
-+ break;
-+ case GT_EXPR:
-+ /* Optimized from: "not (arg0 <= arg1)" */
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE)
-+ return convert (type, integer_zero_node);
-+ break;
-+ case LT_EXPR:
-+ /* Optimized from: "not (arg0 >= arg1)" */
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg1))) == VOID_TYPE)
-+ return convert (type, integer_zero_node);
-+ break;
-+ default:
-+ abort ();
-+ }
-+ }
-+ #endif /* GPC */
- /* If one arg is a constant integer, put it last. */
- if (TREE_CODE (arg0) == INTEGER_CST
- && TREE_CODE (arg1) != INTEGER_CST)
-***************
-*** 5782,5787 ****
---- 5872,5891 ----
- return pedantic_non_lvalue (convert (type, TREE_OPERAND (arg0, 0)));
-
- return t;
-+
-+ #ifdef GPC
-+ case CARD_EXPR:
-+ if (TREE_CODE (TREE_TYPE (arg0)) == SET_TYPE
-+ && TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE)
-+ return convert (type, integer_zero_node);
-+ return t;
-+
-+ case IN_EXPR:
-+ if (TREE_CODE (TREE_TYPE (arg0)) == SET_TYPE
-+ && TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE)
-+ return convert (type, integer_zero_node);
-+ return t;
-+ #endif /* GPC */
-
- case COMPOUND_EXPR:
- /* When pedantic, a compound expression can be neither an lvalue