Now that we require C++ 11, we can safely forward declare rtx_code so that we can use it in target hooks.
gcc/ChangeLog * coretypes.h (rtx_code): Add forward declaration. * rtl.h (rtx_code): Make compatible with forward declaration. --- gcc/coretypes.h | 4 ++++ gcc/rtl.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/gcc/coretypes.h b/gcc/coretypes.h index ca8837cef67..51e55559ce0 100644 --- a/gcc/coretypes.h +++ b/gcc/coretypes.h @@ -100,6 +100,10 @@ struct gimple; typedef gimple *gimple_seq; struct gimple_stmt_iterator; +/* Forward declare rtx_code, so that we can use it in target hooks without + needing to pull in rtl.h. */ +enum rtx_code : unsigned; + /* Forward decls for leaf gimple subclasses (for individual gimple codes). Keep this in the same order as the corresponding codes in gimple.def. */ diff --git a/gcc/rtl.h b/gcc/rtl.h index e1c51156f90..0e9491b89b4 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -45,7 +45,7 @@ class predefined_function_abi; /* Register Transfer Language EXPRESSIONS CODES */ #define RTX_CODE enum rtx_code -enum rtx_code { +enum rtx_code : unsigned { #define DEF_RTL_EXPR(ENUM, NAME, FORMAT, CLASS) ENUM , #include "rtl.def" /* rtl expressions are documented here */