Mercurial > vim
annotate runtime/compiler/fortran_cv.vim @ 33303:924e9cb09df7 v9.0.1917
patch 9.0.1917: undefined behaviour with python function pointer
Commit: https://github.com/vim/vim/commit/d606fccf6fd716bda43a8e1d11d898f438d28b82
Author: Yee Cheng Chin <ychin.git@gmail.com>
Date: Wed Sep 20 19:59:47 2023 +0200
patch 9.0.1917: undefined behaviour with python function pointer
Problem: undefined behaviour with python function pointer
Solution: correctly cast function pointers from void
Fix more undefined behaviors in if_python
Fix remaining UBSAN errors from Clang 17 in if_python in casting
function pointers.
Also fix a mistake where `PyMem_Free()` should be returning void, by the
dynamic build is mistakenly casting it as a function that returns an
int.
closes: #13128
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 | Wed, 20 Sep 2023 20:15:04 +0200 |
parents | 2704c4e3e20a |
children | e1df51f68736 |
rev | line source |
---|---|
7 | 1 " Vim compiler file |
2 " Compiler: Compaq Visual Fortran | |
3 " Maintainer: Joh.-G. Simon (johann-guenter.simon@linde-le.com) | |
4 " Last Change: 11/05/2002 | |
5 | |
6 if exists("current_compiler") | |
7 finish | |
8 endif | |
9 let current_compiler = "fortran_cv" | |
10 | |
11 if exists(":CompilerSet") != 2 " older Vim always used :setlocal | |
12 command -nargs=* CompilerSet setlocal <args> | |
13 endif | |
14 | |
15 let s:cposet = &cpoptions | |
16 set cpoptions-=C | |
17 | |
18 " A workable errorformat for Compaq Visual Fortran | |
19 CompilerSet errorformat= | |
20 \%E%f(%l)\ :\ Error:%m, | |
21 \%W%f(%l)\ :\ Warning:%m, | |
22 \%-Z%p%^%.%#, | |
23 \%-G%.%#, | |
24 " Compiler call | |
17571 | 25 CompilerSet makeprg=df\ /nologo\ /noobj\ /c\ %:S |
7 | 26 " Visual fortran defaults to printing output on stderr |
27 " Adjust option shellpipe accordingly | |
28 | |
29 let &cpoptions = s:cposet | |
30 unlet s:cposet |