1 $DragonFly: src/gnu/usr.bin/cc34/cc_prep/patches/rtl.h.patch,v 1.1 2004/06/19 10:30:08 joerg Exp $
3 --- ../gcc.orig/rtl.h 2004-06-18 23:08:13.000000000 +0200
4 +++ rtl.h 2004-06-18 23:36:04.000000000 +0200
9 +#define RTL_FLAG_CHECK9(NAME, RTX, C1, C2, C3, C4, C5, C6, C7, C8, C9) \
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__, \
21 extern void rtl_check_failed_flag (const char *, rtx, const char *,
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)
31 #define CLEAR_RTX_FLAGS(RTX) \
33 #define LOG_LINKS(INSN) XEXP(INSN, 7)
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, \
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, \
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)
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. */