c-opts.c (c_common_post_options): Move LTO option processing code ...

2009-11-04  Richard Guenther  <rguenther@suse.de>

	* c-opts.c (c_common_post_options): Move LTO option processing
	code ...
	* opts.c (decode_options): ... here.

	fortran/
	* options.c (gfc_post_options): Rely on common code processing
	LTO options.  Only enable -fwhole-file here.

From-SVN: r153889
This commit is contained in:
Richard Guenther 2009-11-04 09:40:15 +00:00 committed by Richard Biener
parent 00ffc97dfa
commit e3b8749b11
5 changed files with 35 additions and 43 deletions

View File

@ -1,3 +1,9 @@
2009-11-04 Richard Guenther <rguenther@suse.de>
* c-opts.c (c_common_post_options): Move LTO option processing
code ...
* opts.c (decode_options): ... here.
2009-11-04 Jakub Jelinek <jakub@redhat.com>
* c-common.c (fold_offsetof_1): Use %wd instead of

View File

@ -1033,29 +1033,6 @@ c_common_post_options (const char **pfilename)
C_COMMON_OVERRIDE_OPTIONS;
#endif
if (flag_lto || flag_whopr)
{
#ifdef ENABLE_LTO
flag_generate_lto = 1;
/* When generating IL, do not operate in whole-program mode.
Otherwise, symbols will be privatized too early, causing link
errors later. */
flag_whole_program = 0;
/* FIXME lto. Disable var-tracking until debug information
is properly handled in free_lang_data. */
flag_var_tracking = 0;
#else
error ("LTO support has not been enabled in this configuration");
#endif
}
/* Reconcile -flto and -fwhopr. Set additional flags as appropriate and
check option consistency. */
if (flag_lto && flag_whopr)
error ("-flto and -fwhopr are mutually exclusive");
/* Excess precision other than "fast" requires front-end
support. */
if (c_dialect_cxx ())

View File

@ -1,3 +1,8 @@
2009-11-04 Richard Guenther <rguenther@suse.de>
* options.c (gfc_post_options): Rely on common code processing
LTO options. Only enable -fwhole-file here.
2009-11-03 Tobias Burnus <burnus@net-b.de>
PR fortran/41907

View File

@ -242,27 +242,9 @@ gfc_post_options (const char **pfilename)
if (flag_whole_program)
gfc_option.flag_whole_file = 1;
/* Enable whole-file mode if LTO is in effect. */
if (flag_lto || flag_whopr)
{
#ifdef ENABLE_LTO
flag_generate_lto = 1;
/* When generating IL, do not operate in whole-program mode.
Otherwise, symbols will be privatized too early, causing link
errors later. */
flag_whole_program = 0;
/* But do enable whole-file mode. */
gfc_option.flag_whole_file = 1;
#else
error ("LTO support has not been enabled in this configuration");
#endif
}
/* Reconcile -flto and -fwhopr. Set additional flags as appropriate and
check option consistency. */
if (flag_lto && flag_whopr)
error ("-flto and -fwhopr are mutually exclusive");
gfc_option.flag_whole_file = 1;
/* -fbounds-check is equivalent to -fcheck=bounds */
if (flag_bounds_check)

View File

@ -1117,6 +1117,28 @@ decode_options (unsigned int argc, const char **argv)
PARAM_VALUE (PARAM_STACK_FRAME_GROWTH) = 40;
}
if (flag_lto || flag_whopr)
{
#ifdef ENABLE_LTO
flag_generate_lto = 1;
/* When generating IL, do not operate in whole-program mode.
Otherwise, symbols will be privatized too early, causing link
errors later. */
flag_whole_program = 0;
/* FIXME lto. Disable var-tracking until debug information
is properly handled in free_lang_data. */
flag_var_tracking = 0;
#else
error ("LTO support has not been enabled in this configuration");
#endif
}
/* Reconcile -flto and -fwhopr. Set additional flags as appropriate and
check option consistency. */
if (flag_lto && flag_whopr)
error ("-flto and -fwhopr are mutually exclusive");
}
#define LEFT_COLUMN 27