Include ProPolice suport for GCC 3.4.
[dragonfly.git] / gnu / usr.bin / cc34 / cc_prep / patches / rtl.h.patch
1 $DragonFly: src/gnu/usr.bin/cc34/cc_prep/patches/rtl.h.patch,v 1.1 2004/06/19 10:30:08 joerg Exp $
2
3 --- ../gcc.orig/rtl.h   2004-06-18 23:08:13.000000000 +0200
4 +++ rtl.h       2004-06-18 23:36:04.000000000 +0200
5 @@ -473,6 +473,18 @@
6                              __FUNCTION__);                             \
7     _rtx; })
8  
9 +#define RTL_FLAG_CHECK9(NAME, RTX, C1, C2, C3, C4, C5, C6, C7, C8, C9) \
10 +  __extension__                                                                \
11 +({ rtx const _rtx = (RTX);                                             \
12 +   if (GET_CODE(_rtx) != C1 && GET_CODE(_rtx) != C2                    \
13 +       && GET_CODE(_rtx) != C3 && GET_CODE(_rtx) != C4                 \
14 +       && GET_CODE(_rtx) != C5 && GET_CODE(_rtx) != C6                 \
15 +       && GET_CODE(_rtx) != C7 && GET_CODE(_rtx) != C8                 \
16 +       && GET_CODE(_rtx) != C9)                                                \
17 +     rtl_check_failed_flag  (NAME, _rtx, __FILE__, __LINE__,           \
18 +                            __FUNCTION__);                             \
19 +   _rtx; })
20 +
21  extern void rtl_check_failed_flag (const char *, rtx, const char *,
22                                    int, const char *)
23      ATTRIBUTE_NORETURN
24 @@ -488,6 +500,7 @@
25  #define RTL_FLAG_CHECK6(NAME, RTX, C1, C2, C3, C4, C5, C6)             (RTX)
26  #define RTL_FLAG_CHECK7(NAME, RTX, C1, C2, C3, C4, C5, C6, C7)         (RTX)
27  #define RTL_FLAG_CHECK8(NAME, RTX, C1, C2, C3, C4, C5, C6, C7, C8)     (RTX)
28 +#define RTL_FLAG_CHECK9(NAME, RTX, C1, C2, C3, C4, C5, C6, C7, C8, C9) (RTX)
29  #endif
30  
31  #define CLEAR_RTX_FLAGS(RTX)   \
32 @@ -583,9 +596,9 @@
33  #define LOG_LINKS(INSN)        XEXP(INSN, 7)
34  
35  #define RTX_INTEGRATED_P(RTX)                                          \
36 -  (RTL_FLAG_CHECK8("RTX_INTEGRATED_P", (RTX), INSN, CALL_INSN,         \
37 +  (RTL_FLAG_CHECK9("RTX_INTEGRATED_P", (RTX), INSN, CALL_INSN,         \
38                    JUMP_INSN, INSN_LIST, BARRIER, CODE_LABEL, CONST,    \
39 -                  NOTE)->integrated)
40 +                  PLUS, NOTE)->integrated)
41  #define RTX_UNCHANGING_P(RTX)                                          \
42    (RTL_FLAG_CHECK3("RTX_UNCHANGING_P", (RTX), REG, MEM, CONCAT)->unchanging)
43  #define RTX_FRAME_RELATED_P(RTX)                                       \
44 @@ -1125,6 +1138,10 @@
45    (RTL_FLAG_CHECK3("MEM_VOLATILE_P", (RTX), MEM, ASM_OPERANDS,         \
46                    ASM_INPUT)->volatil)
47  
48 +/* 1 if RTX is an SET rtx that is not eliminated for the stack protection.  */
49 +#define SET_VOLATILE_P(RTX)                                    \
50 +  (RTL_FLAG_CHECK1("SET_VOLATILE_P", (RTX), SET)->volatil)
51 +
52  /* 1 if RTX is a mem that refers to an aggregate, either to the
53     aggregate itself of to a field of the aggregate.  If zero, RTX may
54     or may not be such a reference.  */