*参照元 [#j5d9b883] #backlinks *説明 [#q11b7060] -パス: [[gcc-8.3/gcc/]] -FIXME: これは何? --説明 **引数 [#h3b5cf17] -RTX -- -N -- -C1 -- **返り値 [#n3f3e89c] -rtunion --rtx_def の u.fld[1] の型と同じ --[[gcc-8.3/gcc/rtx_def]] --[[gcc-8.3/gcc/rtunion]] **参考 [#r67c8a35] *実装 [#s06ff71c] #if defined ENABLE_RTL_CHECKING && (GCC_VERSION >= 2007) /* The bit with a star outside the statement expr and an & inside is so that N can be evaluated only once. */ #define RTL_CHECK1(RTX, N, C1) __extension__ \ (*({ __typeof (RTX) const _rtx = (RTX); const int _n = (N); \ const enum rtx_code _code = GET_CODE (_rtx); \ if (_n < 0 || _n >= GET_RTX_LENGTH (_code)) \ rtl_check_failed_bounds (_rtx, _n, __FILE__, __LINE__, \ __FUNCTION__); \ if (GET_RTX_FORMAT (_code)[_n] != C1) \ rtl_check_failed_type1 (_rtx, _n, C1, __FILE__, __LINE__, \ __FUNCTION__); \ &_rtx->u.fld[_n]; })) #else /* not ENABLE_RTL_CHECKING */ #define RTL_CHECK1(RTX, N, C1) ((RTX)->u.fld[N]) #endif *コメント [#bacd8c90]