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
This commit is contained in:
Steven Bosscher 2010-05-25 21:07:40 +00:00
parent e233a3b258
commit 9b4690892c
8 changed files with 30 additions and 114 deletions

View File

@ -1,3 +1,19 @@
2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
* 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 <joseph@codesourcery.com>
* gcc-interface/misc.c (internal_error_function): Add context

View File

@ -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

View File

@ -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);

View File

@ -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

View File

@ -30,7 +30,6 @@
#include "coretypes.h"
#include "tree.h"
#include "tm.h"
#include "tm_p.h"
#include "ada.h"
#include "types.h"

View File

@ -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"

View File

@ -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;
}

View File

@ -29,7 +29,6 @@
#include "tm.h"
#include "tree.h"
#include "ggc.h"
#include "flags.h"
#include "output.h"
#include "tree-inline.h"