This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch, fortaran] Fix the fix to the error messages.


As per Janne's comment, my fix to the GFortran error messages was insufficent to actually produce proper Emacs compatiblity. Thus, the following patch, which corrects the problems he mentioned.

Regtested by JerryD (thanks!). Ok for trunk?

- Brooks

-fortran/ChangeLog----------------------------------------------------
2006-11-02  Brooks Moses  <brooks.moses@codesourcery.com>

	* error.c (show_locus): Add trailing colon in error messages.
	(error_print): Avoid leading space in error lines.

-testsuite/ChangeLog--------------------------------------------------
2006-11-02  Brooks Moses  <brooks.moses@codesourcery.com>

	* lib/gfortran-dg.exp (gfortran-dg-test): Adjust pattern
	for matching error messages.

----------------------------------------------------------------------
Index: testsuite/lib/gfortran-dg.exp
===================================================================
--- testsuite/lib/gfortran-dg.exp	(revision 118450)
+++ testsuite/lib/gfortran-dg.exp	(working copy)
@@ -26,23 +26,23 @@
     set output_file [lindex $result 1]
 
     # gfortran error messages look like this:
-    #      [name]:[line]
+    #     [name]:[line]:
     #
     #        some code
     #              1
     #     Error: Some error at (1)
     # or
-    #      [name]:[line]
+    #     [name]:[line]:
     #
     #       some code
     #              1
-    #      [name]:[line2]
+    #     [name]:[line2]:
     #
     #       some other code
     #         2
     #     Error: Some error at (1) and (2)
     # or
-    #      [name]:[line]
+    #     [name]:[line]:
     #
     #       some code and some more code
     #              1       2
@@ -59,7 +59,7 @@
     # Note that these regexps only make sense in the combinations used below.
     # Note also that is imperative that we first deal with the form with
     # two loci.
-    set locus_regexp " (\[^\n\]*)\n\n\[^\n\]*\n\[^\n\]*\n"
+    set locus_regexp "(\[^\n\]*):\n\n\[^\n\]*\n\[^\n\]*\n"
     set diag_regexp "(\[^\n\]*)\n"
 
     set two_loci "$locus_regexp$locus_regexp$diag_regexp"
Index: fortran/error.c
===================================================================
--- fortran/error.c	(revision 118450)
+++ fortran/error.c	(working copy)
@@ -134,7 +134,7 @@
 
   lb = loc->lb;
   f = lb->file;
-  error_printf ("%s:%d\n", f->filename,
+  error_printf ("%s:%d:\n", f->filename,
 #ifdef USE_MAPPED_LOCATION
 		LOCATION_LINE (lb->location)
 #else
@@ -380,7 +380,8 @@
   if (have_l1)
     show_loci (l1, l2);
   error_string (type);
-  error_char (' ');
+  if (*type)
+    error_char (' ');
 
   have_l1 = 0;
   format = format0;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]