OSDN Git Service

* c-opts.c (c_common_parse_file): If start_end_main_source_file,
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 May 2010 19:54:51 +0000 (19:54 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 May 2010 19:54:51 +0000 (19:54 +0000)
don't call start_source_file debug hook here...
(finish_options): ... but here, after outputting predefined and
command line defines and undefs.

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

gcc/ChangeLog
gcc/c-opts.c

index 24f210b..b9b6795 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 b721157..d57cf91 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 ();