mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-16 18:40:57 +08:00
c-decl.c (c_init_decl_processing): Move generation of decls for g77_integer_type_node and friends from here ...
2002-04-10 Toon Moene <toon@moene.indiv.nluug.nl> * c-decl.c (c_init_decl_processing): Move generation of decls for g77_integer_type_node and friends from here ... * c-common.c (c_common_nodes_and_builtins): ... to here. From-SVN: r52141
This commit is contained in:
parent
2f460a0a57
commit
03f104725f
@ -1,3 +1,9 @@
|
||||
2002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
|
||||
|
||||
* c-decl.c (c_init_decl_processing): Move generation of
|
||||
decls for g77_integer_type_node and friends from here ...
|
||||
* c-common.c (c_common_nodes_and_builtins): ... to here.
|
||||
|
||||
2002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
|
||||
|
@ -2652,6 +2652,59 @@ c_common_nodes_and_builtins ()
|
||||
(build_decl (TYPE_DECL, get_identifier ("complex long double"),
|
||||
complex_long_double_type_node));
|
||||
|
||||
/* Types which are common to the fortran compiler and libf2c. When
|
||||
changing these, you also need to be concerned with f/com.h. */
|
||||
|
||||
if (TYPE_PRECISION (float_type_node)
|
||||
== TYPE_PRECISION (long_integer_type_node))
|
||||
{
|
||||
g77_integer_type_node = long_integer_type_node;
|
||||
g77_uinteger_type_node = long_unsigned_type_node;
|
||||
}
|
||||
else if (TYPE_PRECISION (float_type_node)
|
||||
== TYPE_PRECISION (integer_type_node))
|
||||
{
|
||||
g77_integer_type_node = integer_type_node;
|
||||
g77_uinteger_type_node = unsigned_type_node;
|
||||
}
|
||||
else
|
||||
g77_integer_type_node = g77_uinteger_type_node = NULL_TREE;
|
||||
|
||||
if (g77_integer_type_node != NULL_TREE)
|
||||
{
|
||||
(*lang_hooks.decls.pushdecl) (build_decl (TYPE_DECL,
|
||||
get_identifier ("__g77_integer"),
|
||||
g77_integer_type_node));
|
||||
(*lang_hooks.decls.pushdecl) (build_decl (TYPE_DECL,
|
||||
get_identifier ("__g77_uinteger"),
|
||||
g77_uinteger_type_node));
|
||||
}
|
||||
|
||||
if (TYPE_PRECISION (float_type_node) * 2
|
||||
== TYPE_PRECISION (long_integer_type_node))
|
||||
{
|
||||
g77_longint_type_node = long_integer_type_node;
|
||||
g77_ulongint_type_node = long_unsigned_type_node;
|
||||
}
|
||||
else if (TYPE_PRECISION (float_type_node) * 2
|
||||
== TYPE_PRECISION (long_long_integer_type_node))
|
||||
{
|
||||
g77_longint_type_node = long_long_integer_type_node;
|
||||
g77_ulongint_type_node = long_long_unsigned_type_node;
|
||||
}
|
||||
else
|
||||
g77_longint_type_node = g77_ulongint_type_node = NULL_TREE;
|
||||
|
||||
if (g77_longint_type_node != NULL_TREE)
|
||||
{
|
||||
(*lang_hooks.decls.pushdecl) (build_decl (TYPE_DECL,
|
||||
get_identifier ("__g77_longint"),
|
||||
g77_longint_type_node));
|
||||
(*lang_hooks.decls.pushdecl) (build_decl (TYPE_DECL,
|
||||
get_identifier ("__g77_ulongint"),
|
||||
g77_ulongint_type_node));
|
||||
}
|
||||
|
||||
record_builtin_type (RID_VOID, NULL, void_type_node);
|
||||
|
||||
void_zero_node = build_int_2 (0, 0);
|
||||
|
49
gcc/c-decl.c
49
gcc/c-decl.c
@ -2931,55 +2931,6 @@ c_init_decl_processing ()
|
||||
= build_function_type (ptr_type_node,
|
||||
tree_cons (NULL_TREE, ptr_type_node, endlink));
|
||||
|
||||
/* Types which are common to the fortran compiler and libf2c. When
|
||||
changing these, you also need to be concerned with f/com.h. */
|
||||
|
||||
if (TYPE_PRECISION (float_type_node)
|
||||
== TYPE_PRECISION (long_integer_type_node))
|
||||
{
|
||||
g77_integer_type_node = long_integer_type_node;
|
||||
g77_uinteger_type_node = long_unsigned_type_node;
|
||||
}
|
||||
else if (TYPE_PRECISION (float_type_node)
|
||||
== TYPE_PRECISION (integer_type_node))
|
||||
{
|
||||
g77_integer_type_node = integer_type_node;
|
||||
g77_uinteger_type_node = unsigned_type_node;
|
||||
}
|
||||
else
|
||||
g77_integer_type_node = g77_uinteger_type_node = NULL_TREE;
|
||||
|
||||
if (g77_integer_type_node != NULL_TREE)
|
||||
{
|
||||
pushdecl (build_decl (TYPE_DECL, get_identifier ("__g77_integer"),
|
||||
g77_integer_type_node));
|
||||
pushdecl (build_decl (TYPE_DECL, get_identifier ("__g77_uinteger"),
|
||||
g77_uinteger_type_node));
|
||||
}
|
||||
|
||||
if (TYPE_PRECISION (float_type_node) * 2
|
||||
== TYPE_PRECISION (long_integer_type_node))
|
||||
{
|
||||
g77_longint_type_node = long_integer_type_node;
|
||||
g77_ulongint_type_node = long_unsigned_type_node;
|
||||
}
|
||||
else if (TYPE_PRECISION (float_type_node) * 2
|
||||
== TYPE_PRECISION (long_long_integer_type_node))
|
||||
{
|
||||
g77_longint_type_node = long_long_integer_type_node;
|
||||
g77_ulongint_type_node = long_long_unsigned_type_node;
|
||||
}
|
||||
else
|
||||
g77_longint_type_node = g77_ulongint_type_node = NULL_TREE;
|
||||
|
||||
if (g77_longint_type_node != NULL_TREE)
|
||||
{
|
||||
pushdecl (build_decl (TYPE_DECL, get_identifier ("__g77_longint"),
|
||||
g77_longint_type_node));
|
||||
pushdecl (build_decl (TYPE_DECL, get_identifier ("__g77_ulongint"),
|
||||
g77_ulongint_type_node));
|
||||
}
|
||||
|
||||
pedantic_lvalues = pedantic;
|
||||
|
||||
make_fname_decl = c_make_fname_decl;
|
||||
|
Loading…
x
Reference in New Issue
Block a user