2009-11-04 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Nov 2009 09:40:15 +0000 (09:40 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Nov 2009 09:40:15 +0000 (09:40 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153889 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/c-opts.c
gcc/fortran/ChangeLog
gcc/fortran/options.c
gcc/opts.c

index 6f82e1e..00d9025 100644 (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
index 6c2f5a5..e026fd9 100644 (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 ())
index 8fc1175..47cfead 100644 (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
index d2c6d9b..3742add 100644 (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)
index 72411b6..b2b6c44 100644 (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