Mercurial > vim
annotate runtime/ftplugin/masm.vim @ 33404:9b35b4c6df4c v9.0.1960
patch 9.0.1960: Make CI checks more strict
Commit: https://github.com/vim/vim/commit/f7f746b1672909ae57d2eec97253d6627f6c0887
Author: Yee Cheng Chin <ychin.git@gmail.com>
Date: Sat Sep 30 12:28:50 2023 +0200
patch 9.0.1960: Make CI checks more strict
Problem: Make CI checks more strict
Solution: Add -Wstrict-prototypes -Wmissing-prototypes to CI,
fix uncovered problems
Add -Wstrict-prototypes -Wmissing-prototypes warnings check to CI
Add two new warnings to CI, silence some Perl related build-warnings:
- `strict-prototypes` helps prevent declaring a function with an empty
argument list, e.g. `int func()`. In C++, that's equivalent to `int
func(void)`, but in C, that means a function that can take any number
of arguments which is rarely what we want.
- `missing-prototypes` makes sure we use `static` for file-only internal
functions. Non-static functions should have been declared on a
prototype file.
- Add `no-compound-token-split-by-macro` to the perl cflags, since it
throws out a bunch of perl-related warnings that make the CI log
unnecessary verbose and hard to read. This seems to happen only with
clang 12 and above.
When applying those changes, it already uncovered a few warnings, so fix
up the code as well (fix prototypes, make the code static, remove
shadowed var declaration)
GTK header needs to have #pragma warning suppressiong because GTK2
headers will warn on `-Wstrict-prototypes`, and it's included by gui.h
and so we can't just turn off the warning in a couple files.
closes: #13223
closes: #13226
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 30 Sep 2023 12:45:05 +0200 |
parents | 4d76b3e07c07 |
children |
rev | line source |
---|---|
20379 | 1 " Vim filetype plugin file |
2 " Language: Microsoft Macro Assembler (80x86) | |
3 " Maintainer: Wu Yongwei <wuyongwei@gmail.com> | |
28620 | 4 " Last Change: 2022-04-24 21:24:52 +0800 |
20379 | 5 |
6 if exists("b:did_ftplugin") | |
7 finish | |
8 endif | |
9 let b:did_ftplugin = 1 | |
10 | |
11 let s:cpo_save = &cpo | |
12 set cpo&vim | |
13 | |
14 let b:undo_ftplugin = "setl iskeyword<" | |
15 | |
16 setlocal iskeyword=@,48-57,_,36,60,62,63,@-@ | |
17 | |
28620 | 18 " Matchit support |
19 if !exists('b:match_words') | |
20 let b:match_words = '^\s*\.IF\>:^\s*\.ELSEIF\>:^\s*\.ELSE\>:^\s*\.ENDIF\>,' | |
21 \ .. '^\s*\.REPEAT\>:^\s*\.UNTIL\(CXZ\)\?\>,' | |
22 \ .. '^\s*\.WHILE\>:^\s*\.ENDW\>,' | |
23 \ .. '^\s*IF\(1\|2\|E\|DEF\|NDEF\|B\|NB\|IDNI\?\|DIFI\?\)\?\>:^\s*ELSEIF\(1\|2\|E\|DEF\|NDEF\|B\|NB\|IDNI\?\|DIFI\?\)\?\>:^\s*ELSE\>:^\s*ENDIF\>,' | |
24 \ .. '\(\<MACRO\>\|^\s*%\?\s*FORC\?\>\|^\s*REPEAT\>\|^\s*WHILE\):^\s*ENDM\>,' | |
25 \ .. '\<PROC\>:\<ENDP\>,' | |
26 \ .. '\<SEGMENT\>:\<ENDS\>' | |
27 let b:match_ignorecase = 1 | |
28 let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words" | |
29 endif | |
30 | |
20379 | 31 let &cpo = s:cpo_save |
32 unlet s:cpo_save |