int flag_implicit_inline_templates = 1;
-/* Nonzero means allow numerical priorities on constructors. */
-
-#ifdef USE_INIT_PRIORITY
-int flag_init_priority = 1;
-#else
-int flag_init_priority;
-#endif
-
/* Nonzero means warn about implicit declarations. */
int warn_implicit = 1;
{"implement-inlines", &flag_implement_inlines, 1},
{"implicit-inline-templates", &flag_implicit_inline_templates, 1},
{"implicit-templates", &flag_implicit_templates, 1},
- {"init-priority", &flag_init_priority, 1},
{"labels-ok", &flag_labels_ok, 1},
{"nonansi-builtins", &flag_no_nonansi_builtin, 0},
{"operator-names", &flag_operator_names, 1},
{
tree t, *p, next_t;
- if (! flag_init_priority)
- {
- for (t = static_aggregates_initp; t; t = TREE_CHAIN (t))
- cp_warning ("init_priority for `%#D' ignored without -finit-priority",
- TREE_VALUE (t));
- return;
- }
-
/* First, remove any entries from static_aggregates that are also in
static_aggregates_initp, and update the entries in _initp to
include the initializer. */
/* Make ctor or dtor function. METHOD_TYPE may be 'I' or 'D'. */
- if (flag_init_priority)
+ if (initp != DEFAULT_INIT_PRIORITY)
{
char joiner;
#else
joiner = '_';
#endif
- if (initp == 0)
- initp = DEFAULT_INIT_PRIORITY;
sprintf (type, "%c%c%.5u", method_type, joiner, initp);
}
pop_momentary ();
finish_function (lineno, 0, 0);
- if (! flag_init_priority)
+ if (initp == DEFAULT_INIT_PRIORITY)
{
if (method_type == 'I')
assemble_constructor (fnname);
/* If we're using init priority we can't use assemble_*tor, but on ELF
targets we can stick the references into named sections for GNU ld
to collect. */
- if (flag_init_priority)
+ else
{
char buf[15];
- if (initp == 0)
- initp = DEFAULT_INIT_PRIORITY;
sprintf (buf, ".%ctors.%.5u", method_type == 'I' ? 'c' : 'd',
/* invert the numbering so the linker puts us in the proper
order; constructors are run from right to left, and the
}
else
{
- initp = 0;
+ initp = DEFAULT_INIT_PRIORITY;
vars = static_aggregates;
}
}
else
{
- initp = 0;
+ initp = DEFAULT_INIT_PRIORITY;
vars = static_aggregates;
}
{
do_dtors (NULL_TREE);
- if (flag_init_priority)
- for (vars = static_aggregates_initp; vars; vars = TREE_CHAIN (vars))
- do_dtors (vars);
+ for (vars = static_aggregates_initp; vars; vars = TREE_CHAIN (vars))
+ do_dtors (vars);
}
/* do_ctors will reverse the lists for messing up. */
{
do_ctors (NULL_TREE);
- if (flag_init_priority)
- for (vars = static_aggregates_initp; vars; vars = TREE_CHAIN (vars))
- do_ctors (vars);
+ for (vars = static_aggregates_initp; vars; vars = TREE_CHAIN (vars))
+ do_ctors (vars);
}
permanent_allocation (1);