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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 " Vim compiler file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 " Compiler: Compaq Visual Fortran
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 " Maintainer: Joh.-G. Simon (johann-guenter.simon@linde-le.com)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 " Last Change: 11/05/2002
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 if exists("current_compiler")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 let current_compiler = "fortran_cv"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 if exists(":CompilerSet") != 2 " older Vim always used :setlocal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 command -nargs=* CompilerSet setlocal <args>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 let s:cposet = &cpoptions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 set cpoptions-=C
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 " A workable errorformat for Compaq Visual Fortran
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 CompilerSet errorformat=
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 \%E%f(%l)\ :\ Error:%m,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 \%W%f(%l)\ :\ Warning:%m,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 \%-Z%p%^%.%#,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 \%-G%.%#,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 " Compiler call
17571
2704c4e3e20a Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 7
diff changeset
25 CompilerSet makeprg=df\ /nologo\ /noobj\ /c\ %:S
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 " Visual fortran defaults to printing output on stderr
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 " Adjust option shellpipe accordingly
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 let &cpoptions = s:cposet
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 unlet s:cposet