@@ -644,17 +644,15 @@ always be saved."
644
644
;;; Compile support
645
645
(require 'compile)
646
646
(defvar verilog-error-regexp-added nil)
647
- ; List of regexps for Verilog compilers, like verilint. See compilation-error-regexp-alist
648
- ; for the formatting.
649
- ; Here is the version for Emacs 22:
647
+
650
648
(defvar verilog-error-regexp-emacs-alist
651
649
'(
652
650
(verilog-xl-1
653
651
"\\(Error\\|Warning\\)!.*\n?.*\"\\([^\"]+\\)\", \\([0-9]+\\)" 2 3)
654
652
(verilog-xl-2
655
653
"([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+\\(line[ \t]+\\)?\\([0-9]+\\):.*$" 1 3)
656
654
(verilog-IES
657
- ".*\\*[WE],[0-9A-Z]+ (\\([^ \t,]+\\),\\([0-9]+\\)" 1 2 )
655
+ ".*\\*[WE],[0-9A-Z]+\\(\[[0-9A-Z_,]+\]\\)? (\\([^ \t,]+\\),\\([0-9]+\\)" 2 3 )
658
656
(verilog-surefire-1
659
657
"[^\n]*\\[\\([^:]+\\):\\([0-9]+\\)\\]" 1 2)
660
658
(verilog-surefire-2
@@ -676,87 +674,64 @@ always be saved."
676
674
(verilog-verilator
677
675
"%?\\(Error\\|Warning\\)\\(-[^:]+\\|\\):[\n ]*\\([^ \t:]+\\):\\([0-9]+\\):" 3 4)
678
676
(verilog-leda
679
- "In file \\([^ \t]+\\)[ \t]+line[ \t]+\\([0-9]+\\):
680
- .*
681
- .*
682
- .*
683
- \\(Warning\\|Error\\|Failure\\)" 1 2)
684
- ))
685
- ;; And the version for XEmacs:
686
- (defvar verilog-error-regexp-xemacs-alist
687
- '(verilog
688
- ("[^\n]*\\[\\([^:]+\\):\\([0-9]+\\)\\]" 1 2)
689
- ("\\(WARNING\\|ERROR\\|INFO\\)[^:]*: \\([^,]+\\),\\s-+\\(line \\)?\\([0-9]+\\):" 2 4 )
690
- ("\
691
- \\([a-zA-Z]?:?[^:( \t\n]+\\)[:(][ \t]*\\([0-9]+\\)\\([) \t]\\|\
692
- :\\([^0-9\n]\\|\\([0-9]+:\\)\\)\\)" 1 2 5)
693
- ; xsim
694
- ; Error! in file /homes/mac/Axis/Xsim/test.v at line 13 [OBJ_NOT_DECLARED]
695
- ("\\(Error\\|Warning\\).*in file (\\([^ \t]+\\) at line *\\([0-9]+\\))" 2 3)
696
- ; vcs
697
- ("\\(Error\\|Warning\\):[^(]*(\\([^ \t]+\\) line *\\([0-9]+\\))" 2 3)
698
- ("Warning:.*(port.*(\\([^ \t]+\\) line \\([0-9]+\\))" 1 2)
699
- ("\\(Error\\|Warning\\):[\n.]*\\([^ \t]+\\) *\\([0-9]+\\):" 2 3)
700
- ("syntax error:.*\n\\([^ \t]+\\) *\\([0-9]+\\):" 1 2)
701
- ; Verilator
702
- ("%?\\(Error\\|Warning\\)\\(-[^:]+\\|\\):[\n ]*\\([^ \t:]+\\):\\([0-9]+\\):" 3 4)
703
- ; verilog-xl
704
- ("\\(Error\\|Warning\\)!.*\n?.*\"\\([^\"]+\\)\", \\([0-9]+\\)" 2 3)
705
- ("([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+\\([0-9]+\\):.*$" 1 2) ; vxl
706
- ("([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+line[ \t]+\\([0-9]+\\):.*$" 1 2)
707
- ; nc-verilog
708
- (".*\\*[WE],[0-9A-Z]+ (\\([^ \t,]+\\),\\([0-9]+\\)|" 1 2)
709
- ; Leda
710
- ("In file \\([^ \t]+\\)[ \t]+line[ \t]+\\([0-9]+\\):\n[^\n]*\n[^\n]*\n\\[\\(Warning\\|Error\\|Failure\\)\\][^\n]*" 1 2)
677
+ "^In file \\([^ \t]+\\)[ \t]+line[ \t]+\\([0-9]+\\):\n[^\n]*\n[^\n]*\n\\(Warning\\|Error\\|Failure\\)[^\n]*" 1 2)
711
678
)
712
- )
679
+ "List of regexps for Verilog compilers.
680
+ See `compilation-error-regexp-alist' for the formatting. For Emacs 22+.")
681
+
682
+ (defvar verilog-error-regexp-xemacs-alist
683
+ ;; Emacs form is '((v-tool "re" 1 2) ...)
684
+ ;; XEmacs form is '(verilog ("re" 1 2) ...)
685
+ ;; So we can just map from Emacs to Xemacs
686
+ (list 'verilog (mapcar 'cdr verilog-error-regexp-emacs-alist))
687
+ "List of regexps for Verilog compilers.
688
+ See `compilation-error-regexp-alist' for the formatting. For XEmacs.")
713
689
714
690
(defvar verilog-error-font-lock-keywords
715
691
'(
692
+ ;; verilog-xl-1
693
+ ("\\(Error\\|Warning\\)!.*\n?.*\"\\([^\"]+\\)\", \\([0-9]+\\)" 2 bold t)
694
+ ("\\(Error\\|Warning\\)!.*\n?.*\"\\([^\"]+\\)\", \\([0-9]+\\)" 2 bold t)
695
+ ;; verilog-xl-2
696
+ ("([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+\\(line[ \t]+\\)?\\([0-9]+\\):.*$" 1 bold t)
697
+ ("([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+\\(line[ \t]+\\)?\\([0-9]+\\):.*$" 3 bold t)
698
+ ;; verilog-IES (nc-verilog)
699
+ (".*\\*[WE],[0-9A-Z]+\\(\[[0-9A-Z_,]+\]\\)? (\\([^ \t,]+\\),\\([0-9]+\\)|" 2 bold t)
700
+ (".*\\*[WE],[0-9A-Z]+\\(\[[0-9A-Z_,]+\]\\)? (\\([^ \t,]+\\),\\([0-9]+\\)|" 3 bold t)
701
+ ;; verilog-surefire-1
716
702
("[^\n]*\\[\\([^:]+\\):\\([0-9]+\\)\\]" 1 bold t)
717
703
("[^\n]*\\[\\([^:]+\\):\\([0-9]+\\)\\]" 2 bold t)
718
-
704
+ ;; verilog-surefire-2
719
705
("\\(WARNING\\|ERROR\\|INFO\\): \\([^,]+\\), line \\([0-9]+\\):" 2 bold t)
720
706
("\\(WARNING\\|ERROR\\|INFO\\): \\([^,]+\\), line \\([0-9]+\\):" 3 bold t)
721
-
707
+ ;; verilog-verbose
722
708
("\
723
709
\\([a-zA-Z]?:?[^:( \t\n]+\\)[:(][ \t]*\\([0-9]+\\)\\([) \t]\\|\
724
710
:\\([^0-9\n]\\|\\([0-9]+:\\)\\)\\)" 1 bold t)
725
711
("\
726
712
\\([a-zA-Z]?:?[^:( \t\n]+\\)[:(][ \t]*\\([0-9]+\\)\\([) \t]\\|\
727
713
:\\([^0-9\n]\\|\\([0-9]+:\\)\\)\\)" 1 bold t)
728
-
714
+ ;; verilog-vcs-1
729
715
("\\(Error\\|Warning\\):[^(]*(\\([^ \t]+\\) line *\\([0-9]+\\))" 2 bold t)
730
716
("\\(Error\\|Warning\\):[^(]*(\\([^ \t]+\\) line *\\([0-9]+\\))" 3 bold t)
731
-
732
- ("%?\\(Error\\|Warning\\)\\(-[^:]+\\|\\):[\n ]*\\([^ \t:]+\\):\\([0-9]+\\):" 3 bold t)
733
- ("%?\\(Error\\|Warning\\)\\(-[^:]+\\|\\):[\n ]*\\([^ \t:]+\\):\\([0-9]+\\):" 4 bold t)
734
-
717
+ ;; verilog-vcs-2
735
718
("Warning:.*(port.*(\\([^ \t]+\\) line \\([0-9]+\\))" 1 bold t)
736
719
("Warning:.*(port.*(\\([^ \t]+\\) line \\([0-9]+\\))" 1 bold t)
737
-
720
+ ;; verilog-vcs-3
738
721
("\\(Error\\|Warning\\):[\n.]*\\([^ \t]+\\) *\\([0-9]+\\):" 2 bold t)
739
722
("\\(Error\\|Warning\\):[\n.]*\\([^ \t]+\\) *\\([0-9]+\\):" 3 bold t)
740
-
723
+ ;; verilog-vcs-4
741
724
("syntax error:.*\n\\([^ \t]+\\) *\\([0-9]+\\):" 1 bold t)
742
725
("syntax error:.*\n\\([^ \t]+\\) *\\([0-9]+\\):" 2 bold t)
743
- ; vxl
744
- ("\\(Error\\|Warning\\)!.*\n?.*\"\\([^\"]+\\)\", \\([0-9]+\\)" 2 bold t)
745
- ("\\(Error\\|Warning\\)!.*\n?.*\"\\([^\"]+\\)\", \\([0-9]+\\)" 2 bold t)
746
-
747
- ("([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+\\([0-9]+\\):.*$" 1 bold t)
748
- ("([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+\\([0-9]+\\):.*$" 2 bold t)
749
-
750
- ("([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+line[ \t]+\\([0-9]+\\):.*$" 1 bold t)
751
- ("([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+line[ \t]+\\([0-9]+\\):.*$" 2 bold t)
752
- ; nc-verilog
753
- (".*[WE],[0-9A-Z]+ (\\([^ \t,]+\\),\\([0-9]+\\)|" 1 bold t)
754
- (".*[WE],[0-9A-Z]+ (\\([^ \t,]+\\),\\([0-9]+\\)|" 2 bold t)
755
- ; Leda
756
- ("In file \\([^ \t]+\\)[ \t]+line[ \t]+\\([0-9]+\\):\n[^\n]*\n[^\n]*\n\\[\\(Warning\\|Error\\|Failure\\)\\][^\n]*" 1 bold t)
757
- ("In file \\([^ \t]+\\)[ \t]+line[ \t]+\\([0-9]+\\):\n[^\n]*\n[^\n]*\n\\[\\(Warning\\|Error\\|Failure\\)\\][^\n]*" 2 bold t)
726
+ ;; verilog-verilator
727
+ (".*%?\\(Error\\|Warning\\)\\(-[^:]+\\|\\):[\n ]*\\([^ \t:]+\\):\\([0-9]+\\):" 3 bold t)
728
+ (".*%?\\(Error\\|Warning\\)\\(-[^:]+\\|\\):[\n ]*\\([^ \t:]+\\):\\([0-9]+\\):" 4 bold t)
729
+ ;; verilog-leda
730
+ ("^In file \\([^ \t]+\\)[ \t]+line[ \t]+\\([0-9]+\\):\n[^\n]*\n[^\n]*\n\\(Warning\\|Error\\|Failure\\)[^\n]*" 1 bold t)
731
+ ("^In file \\([^ \t]+\\)[ \t]+line[ \t]+\\([0-9]+\\):\n[^\n]*\n[^\n]*\n\\(Warning\\|Error\\|Failure\\)[^\n]*" 2 bold t)
758
732
)
759
- "*Keywords to also highlight in Verilog *compilation* buffers.")
733
+ "*Keywords to also highlight in Verilog *compilation* buffers.
734
+ Only used in XEmacs; GNU Emacs uses `verilog-error-regexp-emacs-alist'.")
760
735
761
736
(defcustom verilog-library-flags '("")
762
737
"*List of standard Verilog arguments to use for /*AUTOINST*/.
0 commit comments