re PR target/37283 (Cannot build crtbegin.o for ARM)

gcc/
	PR target/37283
	* opts.c (decode_options): Move processing of -fno-unit-at-a-time
	and -fno-toplevel-reorder after handle_options.

From-SVN: r139892
This commit is contained in:
Samuel Tardieu 2008-09-02 16:23:29 +00:00 committed by Samuel Tardieu
parent 7612f14d07
commit 57b08d04c6
2 changed files with 25 additions and 28 deletions

View file

@ -1,3 +1,9 @@
2008-09-02 Samuel Tardieu <sam@rfc1149.net>
PR target/37283
* opts.c (decode_options): Move processing of -fno-unit-at-a-time
and -fno-toplevel-reorder after handle_options.
2008-09-02 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (arm_tune_cortex_a9): Define.

View file

@ -870,39 +870,11 @@ decode_options (unsigned int argc, const char **argv)
}
}
if (!flag_unit_at_a_time)
{
flag_section_anchors = 0;
flag_toplevel_reorder = 0;
}
if (!flag_toplevel_reorder)
{
if (flag_section_anchors == 1)
error ("Section anchors must be disabled when toplevel reorder is disabled.");
flag_section_anchors = 0;
}
#ifdef IRA_COVER_CLASSES
/* Use IRA if it is implemented for the target. */
flag_ira = 1;
#endif
/* Originally we just set the variables if a particular optimization level,
but with the advent of being able to change the optimization level for a
function, we need to reset optimizations. */
if (!optimize)
{
flag_merge_constants = 0;
/* We disable toplevel reordering at -O0 to disable transformations that
might be surprising to end users and to get -fno-toplevel-reorder
tested, but we keep section anchors. */
if (flag_toplevel_reorder == 2)
flag_toplevel_reorder = 0;
}
else
flag_merge_constants = 1;
/* -O1 optimizations. */
opt1 = (optimize >= 1);
flag_defer_pop = opt1;
@ -918,6 +890,7 @@ decode_options (unsigned int argc, const char **argv)
flag_if_conversion2 = opt1;
flag_ipa_pure_const = opt1;
flag_ipa_reference = opt1;
flag_merge_constants = opt1;
flag_split_wide_types = opt1;
flag_tree_ccp = opt1;
flag_tree_dce = opt1;
@ -1035,6 +1008,24 @@ decode_options (unsigned int argc, const char **argv)
handle_options (argc, argv, lang_mask);
/* -fno-unit-at-a-time and -fno-toplevel-reorder handling. */
if (!flag_unit_at_a_time)
{
flag_section_anchors = 0;
flag_toplevel_reorder = 0;
}
else if (!optimize && flag_toplevel_reorder == 2)
/* We disable toplevel reordering at -O0 to disable transformations that
might be surprising to end users and to get -fno-toplevel-reorder
tested, but we keep section anchors. */
flag_toplevel_reorder = 0;
else if (!flag_toplevel_reorder)
{
if (flag_section_anchors == 1)
error ("section anchors must be disabled when toplevel reorder is disabled");
flag_section_anchors = 0;
}
if (first_time_p)
{
if (flag_pie)