From 9b4690892c1b5ba6aec74d269bf03915134c67f0 Mon Sep 17 00:00:00 2001 From: Steven Bosscher Date: Tue, 25 May 2010 21:07:40 +0000 Subject: [PATCH] utils.c: Do not include function.h, pointer-set.h, and gimple.h. * gcc-interface/utils.c: Do not include function.h, pointer-set.h, and gimple.h. Explain why rtl.h has to be included. (handle_vector_size_attribute): Call reconstruct_complex_type directly. * gcc-interface/targtyps.c: Do not include tm_p.h * gcc-interface/utils2.c: Do not include flags.h. * gcc-interface/trans.c: Do not include expr.h. Include rtl.h instead, and explain why it has to be included. * gcc-interface/misc.c: Do not include expr.h, libfuncs.h, cgraph.h, and optabs.h. Include function.h and explain why. Explain why except.h is included. (enumerate_modes): Remove unused function. * gcc-interface/gigi.h (enumerate_modes): Remove prototype. * gcc-interface/Make-lang.in: Update dependencies. From-SVN: r159844 --- gcc/ada/ChangeLog | 16 ++++++ gcc/ada/gcc-interface/Make-lang.in | 14 ++--- gcc/ada/gcc-interface/gigi.h | 14 ----- gcc/ada/gcc-interface/misc.c | 87 +----------------------------- gcc/ada/gcc-interface/targtyps.c | 1 - gcc/ada/gcc-interface/trans.c | 4 +- gcc/ada/gcc-interface/utils.c | 7 +-- gcc/ada/gcc-interface/utils2.c | 1 - 8 files changed, 30 insertions(+), 114 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 7e1d62d73f6..ae8e4e60276 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,19 @@ +2010-05-25 Steven Bosscher + + * gcc-interface/utils.c: Do not include function.h, pointer-set.h, + and gimple.h. Explain why rtl.h has to be included. + (handle_vector_size_attribute): Call reconstruct_complex_type directly. + * gcc-interface/targtyps.c: Do not include tm_p.h + * gcc-interface/utils2.c: Do not include flags.h. + * gcc-interface/trans.c: Do not include expr.h. Include rtl.h instead, + and explain why it has to be included. + * gcc-interface/misc.c: Do not include expr.h, libfuncs.h, cgraph.h, + and optabs.h. + Include function.h and explain why. Explain why except.h is included. + (enumerate_modes): Remove unused function. + * gcc-interface/gigi.h (enumerate_modes): Remove prototype. + * gcc-interface/Make-lang.in: Update dependencies. + 2010-05-25 Joseph Myers * gcc-interface/misc.c (internal_error_function): Add context diff --git a/gcc/ada/gcc-interface/Make-lang.in b/gcc/ada/gcc-interface/Make-lang.in index 43a3cec1659..b81952377a3 100644 --- a/gcc/ada/gcc-interface/Make-lang.in +++ b/gcc/ada/gcc-interface/Make-lang.in @@ -1233,8 +1233,8 @@ ada/decl.o : ada/gcc-interface/decl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ $(COMPILER) -c $(ALL_COMPILERFLAGS) -I.. $(ALL_CPPFLAGS) $< -o $@ ada/misc.o : ada/gcc-interface/misc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(TM_H) $(TREE_H) $(DIAGNOSTIC_H) $(TARGET_H) $(EXPR_H) libfuncs.h \ - $(FLAGS_H) debug.h $(CGRAPH_H) $(OPTABS_H) toplev.h except.h langhooks.h \ + $(TM_H) $(TREE_H) $(DIAGNOSTIC_H) $(TARGET_H) $(FUNCTION_H) \ + $(FLAGS_H) debug.h toplev.h $(EXCEPT_H) langhooks.h \ $(LANGHOOKS_DEF_H) opts.h options.h $(TREE_INLINE_H) $(PLUGIN_H) \ ada/gcc-interface/ada.h ada/adadecode.h ada/types.h ada/atree.h \ ada/elists.h ada/namet.h ada/nlists.h ada/stringt.h ada/uintp.h ada/fe.h \ @@ -1243,14 +1243,14 @@ ada/misc.o : ada/gcc-interface/misc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ $(COMPILER) -c $(ALL_COMPILERFLAGS) -I.. $(ALL_CPPFLAGS) $< -o $@ ada/targtyps.o : ada/gcc-interface/targtyps.c $(CONFIG_H) $(SYSTEM_H) \ - coretypes.h $(TM_H) $(TM_P_H) $(TREE_H) ada/gcc-interface/ada.h \ + coretypes.h $(TM_H) $(TREE_H) ada/gcc-interface/ada.h \ ada/types.h ada/atree.h ada/elists.h ada/namet.h ada/nlists.h \ ada/snames.h ada/stringt.h ada/uintp.h ada/urealp.h ada/fe.h ada/sinfo.h \ ada/einfo.h $(ADA_TREE_H) ada/gcc-interface/gigi.h $(COMPILER) -c $(ALL_COMPILERFLAGS) -I.. $(ALL_CPPFLAGS) $< -o $@ ada/trans.o : ada/gcc-interface/trans.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(TM_H) $(TREE_H) $(FLAGS_H) $(EXPR_H) output.h tree-iterator.h \ + $(TM_H) $(TREE_H) $(FLAGS_H) output.h tree-iterator.h \ $(GIMPLE_H) ada/gcc-interface/ada.h ada/adadecode.h ada/types.h \ ada/atree.h ada/elists.h ada/namet.h ada/nlists.h ada/snames.h \ ada/stringt.h ada/uintp.h ada/urealp.h ada/fe.h ada/sinfo.h ada/einfo.h \ @@ -1260,15 +1260,15 @@ ada/trans.o : ada/gcc-interface/trans.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ ada/utils.o : ada/gcc-interface/utils.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ $(TM_H) $(TREE_H) $(FLAGS_H) toplev.h $(RTL_H) output.h debug.h convert.h \ - $(TARGET_H) function.h langhooks.h pointer-set.h $(CGRAPH_H) \ - $(TREE_DUMP_H) $(TREE_INLINE_H) tree-iterator.h $(GIMPLE_H) \ + $(TARGET_H) function.h langhooks.h $(CGRAPH_H) \ + $(TREE_DUMP_H) $(TREE_INLINE_H) tree-iterator.h \ ada/gcc-interface/ada.h ada/types.h ada/atree.h ada/elists.h ada/namet.h \ ada/nlists.h ada/stringt.h ada/uintp.h ada/fe.h ada/sinfo.h ada/einfo.h \ $(ADA_TREE_H) ada/gcc-interface/gigi.h gt-ada-utils.h gtype-ada.h $(COMPILER) -c $(ALL_COMPILERFLAGS) -I.. $(ALL_CPPFLAGS) $< -o $@ ada/utils2.o : ada/gcc-interface/utils2.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(TM_H) $(TREE_H) $(FLAGS_H) output.h $(TREE_INLINE_H) \ + $(TM_H) $(TREE_H) output.h $(TREE_INLINE_H) \ ada/gcc-interface/ada.h ada/types.h ada/atree.h ada/elists.h ada/namet.h \ ada/nlists.h ada/snames.h ada/stringt.h ada/uintp.h ada/fe.h ada/sinfo.h \ ada/einfo.h $(ADA_TREE_H) ada/gcc-interface/gigi.h diff --git a/gcc/ada/gcc-interface/gigi.h b/gcc/ada/gcc-interface/gigi.h index ce8fc8a7a7f..74a94d73261 100644 --- a/gcc/ada/gcc-interface/gigi.h +++ b/gcc/ada/gcc-interface/gigi.h @@ -863,20 +863,6 @@ extern bool default_pass_by_ref (tree gnu_type); if it should be passed by reference. */ extern bool must_pass_by_ref (tree gnu_type); -/* This function is called by the front end to enumerate all the supported - modes for the machine. We pass a function which is called back with - the following integer parameters: - - FLOAT_P nonzero if this represents a floating-point mode - COMPLEX_P nonzero is this represents a complex mode - COUNT count of number of items, nonzero for vector mode - PRECISION number of bits in data representation - MANTISSA number of bits in mantissa, if FP and known, else zero. - SIZE number of bits used to store data - ALIGN number of bits to which mode is aligned. */ -extern void enumerate_modes (void (*f) (int, int, int, int, int, int, - unsigned int)); - /* Return the size of the FP mode with precision PREC. */ extern int fp_prec_to_size (int prec); diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c index 22826ed0b96..c824fefc734 100644 --- a/gcc/ada/gcc-interface/misc.c +++ b/gcc/ada/gcc-interface/misc.c @@ -34,21 +34,17 @@ #include "tree.h" #include "diagnostic.h" #include "target.h" -#include "expr.h" -#include "libfuncs.h" #include "ggc.h" #include "flags.h" #include "debug.h" -#include "cgraph.h" -#include "optabs.h" #include "toplev.h" -#include "except.h" #include "langhooks.h" #include "langhooks-def.h" #include "opts.h" #include "options.h" -#include "tree-inline.h" #include "plugin.h" +#include "function.h" /* For pass_by_reference. */ +#include "except.h" /* For USING_SJLJ_EXCEPTIONS. */ #include "ada.h" #include "adadecode.h" @@ -719,85 +715,6 @@ must_pass_by_ref (tree gnu_type) && TREE_CODE (TYPE_SIZE (gnu_type)) != INTEGER_CST)); } -/* This function is called by the front end to enumerate all the supported - modes for the machine. We pass a function which is called back with - the following integer parameters: - - FLOAT_P nonzero if this represents a floating-point mode - COMPLEX_P nonzero is this represents a complex mode - COUNT count of number of items, nonzero for vector mode - PRECISION number of bits in data representation - MANTISSA number of bits in mantissa, if FP and known, else zero. - SIZE number of bits used to store data - ALIGN number of bits to which mode is aligned. */ - -void -enumerate_modes (void (*f) (int, int, int, int, int, int, unsigned int)) -{ - int iloop; - - for (iloop = 0; iloop < NUM_MACHINE_MODES; iloop++) - { - enum machine_mode i = (enum machine_mode) iloop; - enum machine_mode j; - bool float_p = 0; - bool complex_p = 0; - bool vector_p = 0; - bool skip_p = 0; - int mantissa = 0; - enum machine_mode inner_mode = i; - - switch (GET_MODE_CLASS (i)) - { - case MODE_INT: - break; - case MODE_FLOAT: - float_p = 1; - break; - case MODE_COMPLEX_INT: - complex_p = 1; - inner_mode = GET_MODE_INNER (i); - break; - case MODE_COMPLEX_FLOAT: - float_p = 1; - complex_p = 1; - inner_mode = GET_MODE_INNER (i); - break; - case MODE_VECTOR_INT: - vector_p = 1; - inner_mode = GET_MODE_INNER (i); - break; - case MODE_VECTOR_FLOAT: - float_p = 1; - vector_p = 1; - inner_mode = GET_MODE_INNER (i); - break; - default: - skip_p = 1; - } - - /* Skip this mode if it's one the front end doesn't need to know about - (e.g., the CC modes) or if there is no add insn for that mode (or - any wider mode), meaning it is not supported by the hardware. If - this a complex or vector mode, we care about the inner mode. */ - for (j = inner_mode; j != VOIDmode; j = GET_MODE_WIDER_MODE (j)) - if (optab_handler (add_optab, j)->insn_code != CODE_FOR_nothing) - break; - - if (float_p) - { - const struct real_format *fmt = REAL_MODE_FORMAT (inner_mode); - - mantissa = fmt->p; - } - - if (!skip_p && j != VOIDmode) - (*f) (float_p, complex_p, vector_p ? GET_MODE_NUNITS (i) : 0, - GET_MODE_BITSIZE (i), mantissa, - GET_MODE_SIZE (i) * BITS_PER_UNIT, GET_MODE_ALIGNMENT (i)); - } -} - /* Return the size of the FP mode with precision PREC. */ int diff --git a/gcc/ada/gcc-interface/targtyps.c b/gcc/ada/gcc-interface/targtyps.c index 9bc8f0e42ec..2a5afc33549 100644 --- a/gcc/ada/gcc-interface/targtyps.c +++ b/gcc/ada/gcc-interface/targtyps.c @@ -30,7 +30,6 @@ #include "coretypes.h" #include "tree.h" #include "tm.h" -#include "tm_p.h" #include "ada.h" #include "types.h" diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index b02502044f3..de60679fb70 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -29,7 +29,9 @@ #include "tm.h" #include "tree.h" #include "flags.h" -#include "expr.h" +#include "rtl.h" /* FIXME: For set_stack_check_libfunc and + gen_rtx_SYMBOL_REF -- here is a front end + still trying to generate RTL! */ #include "ggc.h" #include "output.h" #include "tree-iterator.h" diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c index 27c931a83ad..647bb67c29f 100644 --- a/gcc/ada/gcc-interface/utils.c +++ b/gcc/ada/gcc-interface/utils.c @@ -30,20 +30,17 @@ #include "tree.h" #include "flags.h" #include "toplev.h" -#include "rtl.h" #include "output.h" #include "ggc.h" #include "debug.h" #include "convert.h" #include "target.h" -#include "function.h" #include "langhooks.h" -#include "pointer-set.h" #include "cgraph.h" #include "tree-dump.h" #include "tree-inline.h" #include "tree-iterator.h" -#include "gimple.h" +#include "rtl.h" /* For decl_default_tls_model. */ #include "ada.h" #include "types.h" @@ -5314,7 +5311,7 @@ handle_vector_size_attribute (tree *node, tree name, tree args, new_type = build_vector_type (type, nunits); /* Build back pointers if needed. */ - *node = lang_hooks.types.reconstruct_complex_type (*node, new_type); + *node = reconstruct_complex_type (*node, new_type); return NULL_TREE; } diff --git a/gcc/ada/gcc-interface/utils2.c b/gcc/ada/gcc-interface/utils2.c index 299860501b4..1c224a3ef07 100644 --- a/gcc/ada/gcc-interface/utils2.c +++ b/gcc/ada/gcc-interface/utils2.c @@ -29,7 +29,6 @@ #include "tm.h" #include "tree.h" #include "ggc.h" -#include "flags.h" #include "output.h" #include "tree-inline.h" -- 2.30.2