+2003-05-30 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/mips.c (extern_list): Add GTY marker.
+ (extern_head): Separate out definition. Add marker.
+ (mips_output_external): Use ggc_alloc for extern_list
+ allocation.
+ (mips_output_external_libcall): Ditto.
+
2003-05-30 Florian Weimer <fw@deneb.enyo.de>
* doc/install.texi: Ada-enabled bootstrap requires GNAT 3.14 or
(type_contains_placeholder_p): New function.
* fold-const.c (fold, case COMPONENT_REF): Don't fold if
type_contains_placeholder_p.
- (fold_range_test, fold_mathfn_compare, fold_inf_compare, fold):
+ (fold_range_test, fold_mathfn_compare, fold_inf_compare, fold):
Use CONTAINS_PLACEHOLDER_P macro.
* builtins.c (fold_builtin): Likewise.
* calls.c (initialize_argument_information): Likewise.
2003-05-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
* diagnostic.h (output_verbatim, verbatim): Remove printf
- attribute.
+ attribute.
2003-05-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
for the global pointer if they haven't been declared by the end of
the program with an appropriate .comm or initialization. */
-struct extern_list
+struct extern_list GTY (())
{
struct extern_list *next; /* next external */
const char *name; /* name of the external */
int size; /* size in bytes */
-} *extern_head = 0;
+};
+
+static GTY (()) struct extern_list *extern_head = 0;
/* Name of the file containing the current function. */
const char *current_function_file = "";
if (dest_code == REG)
{
if (GP_REG_P (REGNO (dest)))
- return "move\t%0,%z1";
+ return "or\t%0,%z1,$0";
if (MD_REG_P (REGNO (dest)))
return "mt%0\t%z1";
break;
case CONSTANT_GP:
- return "move\t%0,%1";
+ return "or\t%0,%1,$0";
case CONSTANT_RELOC:
return (TARGET_MIPS16 ? "li\t%0,0\n\taddiu\t%0,%1" : "li\t%0,%1");
|| strcmp (TREE_STRING_POINTER (section_name), ".sbss") == 0
|| strcmp (TREE_STRING_POINTER (section_name), ".sdata") == 0))
{
- p = (struct extern_list *) xmalloc (sizeof (struct extern_list));
+ p = (struct extern_list *) ggc_alloc (sizeof (struct extern_list));
p->next = extern_head;
p->name = name;
p->size = len;
bootstrap under Irix 5.1. */
&& strcmp (name, "__builtin_next_arg"))
{
- p = (struct extern_list *) xmalloc (sizeof (struct extern_list));
+ p = (struct extern_list *) ggc_alloc (sizeof (struct extern_list));
p->next = extern_head;
p->name = name;
p->size = -1;
{
register struct extern_list *p;
- p = (struct extern_list *) xmalloc (sizeof (struct extern_list));
+ p = (struct extern_list *) ggc_alloc (sizeof (struct extern_list));
p->next = extern_head;
p->name = name;
p->size = -1;