The attached trivial patch strengthens the param of the generated "insn_extract" function, from rtx to rtx_insn *, and thus falls under the pre-approval granted by Jeff here: https://gcc.gnu.org/ml/gcc-patches/2014-08/msg01310.html
Bootstrapped on x86_64-unknown-linux-gnu (Fedora 20), and has been rebuilt as part of a config-list.mk build for all working configurations (albeit with other patches for the latter case). Committed to trunk as r215132
Index: gcc/genextract.c =================================================================== --- gcc/genextract.c (revision 215131) +++ gcc/genextract.c (revision 215132) @@ -367,7 +367,7 @@ puts ("\ void\n\ -insn_extract (rtx insn)\n{\n\ +insn_extract (rtx_insn *insn)\n{\n\ rtx *ro = recog_data.operand;\n\ rtx **ro_loc = recog_data.operand_loc;\n\ rtx pat = PATTERN (insn);\n\ Index: gcc/ChangeLog =================================================================== --- gcc/ChangeLog (revision 215131) +++ gcc/ChangeLog (revision 215132) @@ -1,3 +1,10 @@ +2014-09-10 David Malcolm <dmalc...@redhat.com> + + * genextract.c (print_header): When writing out insn_extract to + insn-extract.c, strengthen the param "insn" from rtx to rtx_insn *. + * recog.h (insn_extract): Strengthen the param from rtx to + rtx_insn *. + 2014-09-10 Mike Stump <mikest...@comcast.net> * doc/install.texi (Prerequisites): Note Tcl 8.6 bug fixed in Index: gcc/recog.h =================================================================== --- gcc/recog.h (revision 215131) +++ gcc/recog.h (revision 215132) @@ -132,7 +132,7 @@ #endif extern void add_clobbers (rtx, int); extern int added_clobbers_hard_reg_p (int); -extern void insn_extract (rtx); +extern void insn_extract (rtx_insn *); extern void extract_insn (rtx_insn *); extern void extract_constrain_insn_cached (rtx_insn *); extern void extract_insn_cached (rtx_insn *);