comparison lisp/progmodes/compile.el @ 2461:1ecb75748794

(compilation-error-regexp-alist): Merged HP-UX 7.0 fc regexp with the GNU format regexp: just allowing blanks to terminate the line number makes that one handle the HP case. Merged MIPS RISC CC regexp with Apollo cc regexp: make "s optional, and don't anchor to bol.
author Roland McGrath <roland@gnu.org>
date Mon, 05 Apr 1993 22:35:50 +0000
parents 7dad88221a45
children c5e43751f9aa
comparison
equal deleted inserted replaced
2460:7dad88221a45 2461:1ecb75748794
95 (defvar compilation-num-errors-found) 95 (defvar compilation-num-errors-found)
96 96
97 (defvar compilation-error-regexp-alist 97 (defvar compilation-error-regexp-alist
98 '( 98 '(
99 ;; NOTE! This first one is repeated in grep-regexp-alist, below. 99 ;; NOTE! This first one is repeated in grep-regexp-alist, below.
100
100 ;; 4.3BSD grep, cc, lint pass 1: 101 ;; 4.3BSD grep, cc, lint pass 1:
101 ;; /usr/src/foo/foo.c(8): warning: w may be used before set 102 ;; /usr/src/foo/foo.c(8): warning: w may be used before set
102 ;; or GNU utilities 103 ;; or GNU utilities:
103 ;; foo.c:8: error message 104 ;; foo.c:8: error message
105 ;; or HP-UX 7.0 fc:
106 ;; foo.f :16 some horrible error message
104 ;; 107 ;;
105 ;; We'll insist that the number be followed by a colon or closing 108 ;; We'll insist that the number be followed by a colon or closing
106 ;; paren, because otherwise this matches just about anything 109 ;; paren, because otherwise this matches just about anything
107 ;; containing a number with spaces around it. 110 ;; containing a number with spaces around it.
108 ("^\\([^:( \t\n]+\\)[:( \t]+\\([0-9]+\\)[:)]" 1 2) 111 ("^\\([^:( \t\n]+\\)[:( \t]+\\([0-9]+\\)[:) \t]" 1 2)
112
109 ;; 4.3BSD lint pass 2 113 ;; 4.3BSD lint pass 2
110 ;; strcmp: variable # of args. llib-lc(359) :: /usr/src/foo/foo.c(8) 114 ;; strcmp: variable # of args. llib-lc(359) :: /usr/src/foo/foo.c(8)
111 ("[ \t:]+\\([^:( \t\n]+\\)[ \t]*[:(]*(+[ \t]*\\([0-9]+\\))[:) \t]*$" 1 2) 115 ("[ \t:]+\\([^:( \t\n]+\\)[ \t]*[:(]*(+[ \t]*\\([0-9]+\\))[:) \t]*$" 1 2)
116
112 ;; 4.3BSD lint pass 3 117 ;; 4.3BSD lint pass 3
113 ;; bloofle defined( /users/wolfgang/foo.c(4) ), but never used 118 ;; bloofle defined( /users/wolfgang/foo.c(4) ), but never used
114 ;; This used to be 119 ;; This used to be
115 ;; ("[ \t(]+\\([^:( \t\n]+\\)[:( \t]+\\([0-9]+\\)[:) \t]+" 1 2) 120 ;; ("[ \t(]+\\([^:( \t\n]+\\)[:( \t]+\\([0-9]+\\)[:) \t]+" 1 2)
116 ;; which is regexp Impressionism - it matches almost anything! 121 ;; which is regexp Impressionism - it matches almost anything!
117 ("([ \t]*\\([^:( \t\n]+\\)[ \t]*[:(][ \t]*\\([0-9]+\\))" 1 2) 122 ("([ \t]*\\([^:( \t\n]+\\)[ \t]*[:(][ \t]*\\([0-9]+\\))" 1 2)
123
118 ;; Line 45 of "foo.c": bloofel undefined (who does this?) 124 ;; Line 45 of "foo.c": bloofel undefined (who does this?)
119 ("^[Ll]ine[ \t]+\\([0-9]+\\)[ \t]+of[ \t]+\"\\([^\"\n]+\\)\":" 2 1) 125 ("^[Ll]ine[ \t]+\\([0-9]+\\)[ \t]+of[ \t]+\"\\([^\"\n]+\\)\":" 2 1)
120 ;; Apollo cc, 4.3BSD fc 126
121 ;; "foo.f", line 3: Error: syntax error near end of statement 127 ;; Apollo cc, 4.3BSD fc:
122 ("^\"\\([^\"\n]+\\)\", line \\([0-9]+\\):" 1 2) 128 ;; "foo.f", line 3: Error: syntax error near end of statement
123 ;; HP-UX 7.0 fc 129 ;; or MIPS RISC CC - the one distributed with Ultrix:
124 ;; foo.f :16 some horrible error message 130 ;; ccom: Error: foo.c, line 2: syntax error
125 ("^\\([^ \t\n:]+\\)[ \t]*:\\([0-9]+\\)" 1 2) 131 ("\\b\"?\\([^,\" \n\t]\\)\"?, line \\([0-9]+\\):" 1 2)
126 ;; IBM AIX PS/2 C version 1.1 132
127 ;; ****** Error number 140 in line 8 of file errors.c ****** 133 ;; IBM AIX PS/2 C version 1.1:
134 ;; ****** Error number 140 in line 8 of file errors.c ******
128 ("in line \\([0-9]+\\) of file \\([^ \n]+[^. \n]\\)\\.? " 2 1) 135 ("in line \\([0-9]+\\) of file \\([^ \n]+[^. \n]\\)\\.? " 2 1)
129 ;; IBM AIX lint is too painful to do right this way. File name 136 ;; IBM AIX lint is too painful to do right this way. File name
130 ;; prefixes entire sections rather than being on each line. 137 ;; prefixes entire sections rather than being on each line.
131 138
132 ;; MIPS RISC CC - the one distributed with Ultrix.
133 ("^[^,\n]+: \\([^,\n]+\\), line \\([0-9]+\\):" 1 2)
134 ) 139 )
135 "Alist that specifies how to match errors in compiler output. 140 "Alist that specifies how to match errors in compiler output.
136 Each element has the form (REGEXP FILE-IDX LINE-IDX). 141 Each element has the form (REGEXP FILE-IDX LINE-IDX).
137 If REGEXP matches, the FILE-IDX'th subexpression gives the file 142 If REGEXP matches, the FILE-IDX'th subexpression gives the file
138 name, and the LINE-IDX'th subexpression gives the line number.") 143 name, and the LINE-IDX'th subexpression gives the line number.")