c-opts.c (c_common_parse_file): If start_end_main_source_file, don't call start_sourc...
authorJakub Jelinek <jakub@redhat.com>
Tue, 11 May 2010 19:54:51 +0000 (21:54 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 11 May 2010 19:54:51 +0000 (21:54 +0200)
* c-opts.c (c_common_parse_file): If start_end_main_source_file,
don't call start_source_file debug hook here...
(finish_options): ... but here, after outputting predefined and
command line defines and undefs.

From-SVN: r159293

gcc/ChangeLog
gcc/c-opts.c

index 24f210b3cc604567066a7ef59495011ee55b9eab..b9b67952f1df16f537e10274b7104c94c59b8650 100644 (file)
@@ -1,5 +1,10 @@
 2010-05-11  Jakub Jelinek  <jakub@redhat.com>
 
+       * c-opts.c (c_common_parse_file): If start_end_main_source_file,
+       don't call start_source_file debug hook here...
+       (finish_options): ... but here, after outputting predefined and
+       command line defines and undefs.
+
        PR middle-end/44071
        * cfglayout.c (fixup_reorder_chain): Allow asm goto to have
        no fallthru edge.
index b72115756509a86de13299cca3b2f619ed57ba7f..d57cf91e355439c30f1dbe1f8917a280aa2b296b 100644 (file)
@@ -1388,9 +1388,6 @@ c_common_parse_file (int set_yydebug)
   i = 0;
   for (;;)
     {
-      /* Start the main input file, if the debug writer wants it. */
-      if (debug_hooks->start_end_main_source_file)
-       (*debug_hooks->start_source_file) (0, this_input_filename);
       finish_options ();
       pch_init ();
       push_file_scope ();
@@ -1649,6 +1646,11 @@ finish_options (void)
            }
        }
 
+      /* Start the main input file, if the debug writer wants it. */
+      if (debug_hooks->start_end_main_source_file
+         && !flag_preprocess_only)
+       (*debug_hooks->start_source_file) (0, this_input_filename);
+
       /* Handle -imacros after -D and -U.  */
       for (i = 0; i < deferred_count; i++)
        {
@@ -1663,8 +1665,16 @@ finish_options (void)
            }
        }
     }
-  else if (cpp_opts->directives_only)
-    cpp_init_special_builtins (parse_in);
+  else
+    {
+      if (cpp_opts->directives_only)
+       cpp_init_special_builtins (parse_in);
+
+      /* Start the main input file, if the debug writer wants it. */
+      if (debug_hooks->start_end_main_source_file
+         && !flag_preprocess_only)
+       (*debug_hooks->start_source_file) (0, this_input_filename);
+    }
 
   include_cursor = 0;
   push_command_line_include ();