*参照元 [#z4cfeae2]
#backlinks
*説明 [#mb4395c1]
-パス: [[gcc-8.3/gcc/rtl.h]]
-FIXME: これは何?
--N 番目のオペランド(u.fld[N])を返す。
--引数 N の正当性はチェックしない
--RTX の N 番目のオペランドの型が引数 C と一致するかチェックする
**引数 [#x78ee428]
-RTX
--
--[[gcc-8.3/gcc/rtx]]
-int N
--何番目のオペランドを返すか
-enum rtx_code C
--rtx のコード
--[[gcc-8.3/gcc/rtx_code]]
**返り値 [#y942fd0a]
-rtunion
--rtx の u.fld[] の型と同じ
--[[gcc-8.3/gcc/rtunion]]
**参考 [#f7ca6b36]
-rtx のオペランドの型チェックと、N の範囲チェックする場合はこっち
--[[gcc-8.3/gcc/RTL_CHECK1()]]
*実装 [#c4caefc8]
#if defined ENABLE_RTL_CHECKING && (GCC_VERSION >= 2007)
#define RTL_CHECKC1(RTX, N, C) __extension__ \
(*({ __typeof (RTX) const _rtx = (RTX); const int _n = (N); \
if (GET_CODE (_rtx) != (C)) \
rtl_check_failed_code1 (_rtx, (C), __FILE__, __LINE__, \
__FUNCTION__); \
&_rtx->u.fld[_n]; }))
-
--[[gcc-8.3/gcc/GET_CODE()]]
--[[gcc-8.3/gcc/rtl_check_failed_code1()]]
#else /* not ENABLE_RTL_CHECKING */
#define RTL_CHECKC1(RTX, N, C) ((RTX)->u.fld[N])
#endif
*コメント [#ld82d191]