diff options
-rw-r--r-- | gcc/ChangeLog | 12 | ||||
-rw-r--r-- | gcc/mkconfig.sh | 21 | ||||
-rw-r--r-- | gcc/system.h | 12 |
3 files changed, 32 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5d0eafbe426..a230405eac1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,14 @@ -2000-01-03 Graham Stott <grahams@redhat.com> +2002-01-03 Graham Stott <grahams@redhat.com> + + * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h + forward defs for struct tags rtx_def, union_tree, rtvec_def + also output corresponding typedefs for rtxm, tree, and rtvcec. + + * system.h: Move forward defs for struct tags rtx_def, union_tree, + rtvec_def along with corresponding typedefs for rtx, tree, and + rtvcec to config.h, hconfig.h, tconfig.h + +2002-01-03 Graham Stott <grahams@redhat.com> * tree.h: Update copyright date. (IS_EXPR_CODE_CLASS): Add parenthesis. diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh index fde254a86dd..b63e40a7087 100644 --- a/gcc/mkconfig.sh +++ b/gcc/mkconfig.sh @@ -35,6 +35,27 @@ if [ -n "$HEADERS" ]; then esac fi +# Provide three core typedefs used by everything, if we are compiling +# GCC. These used to be found in rtl.h and tree.h, but this is no +# longer practical. Providing these in config.h/tconfig.h/hconfig.h +# rather than system.h allows the typedefs to be used anywhere in GCC. +case $output in + *config.h | *hconfig.h | *tconfig.h) + echo "#ifdef IN_GCC" + echo "/* Provide three core typedefs used by everything, if we are compiling" + echo " GCC. These used to be found in rtl.h and tree.h, but this is no" + echo " longer practical. Providing these here rather that system.h allows" + echo " the typedefs to be used everywhere within GCC. */" + echo "struct rtx_def;" + echo "typedef struct rtx_def *rtx;" + echo "struct rtvec_def;" + echo "typedef struct rtvec_def *rtvec;" + echo "union tree_node;" + echo "typedef union tree_node *tree;" + echo "#endif" + ;; +esac + if [ -n "$HEADERS" ]; then echo '#ifdef IN_GCC' for file in $HEADERS; do diff --git a/gcc/system.h b/gcc/system.h index a52738431d0..ccccae767ce 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -557,18 +557,6 @@ typedef char _Bool; #define TRUE true #define FALSE false -/* Provide three core typedefs used by everything, if we are compiling - GCC. These used to be found in rtl.h and tree.h, but this is no - longer practical. */ -#ifdef IN_GCC -struct rtx_def; -struct rtvec_def; -union tree_node; -typedef struct rtx_def *rtx; -typedef struct rtvec_def *rtvec; -typedef union tree_node *tree; -#endif - /* As the last action in this file, we poison the identifiers that shouldn't be used. Note, luckily gcc-3.0's token-based integrated preprocessor won't trip on poisoned identifiers that arrive from |