view runtime/compiler/cs.vim @ 33295:a43861545866 v9.0.1913

patch 9.0.1913: if_python: undefined behaviour for function pointers Commit: https://github.com/vim/vim/commit/2ce070c27acd12ccc614afa4cecf4970a645a4af Author: Yee Cheng Chin <ychin.git@gmail.com> Date: Tue Sep 19 20:30:22 2023 +0200 patch 9.0.1913: if_python: undefined behaviour for function pointers Problem: if_python: undefined behaviour for function pointers Solution: Fix if_python undefined behavior for function pointer casts Identified by clang 17 UBSAN (see #12745). Make sure to cast function pointers with the same signature only. closes: #13122 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 Tue, 19 Sep 2023 20:45:05 +0200
parents 2704c4e3e20a
children e1df51f68736
line wrap: on
line source

" Vim compiler file
" Compiler:               Microsoft Visual Studio C#
" Maintainer:             Yichao Zhou (broken.zhou@gmail.com)
" Previous Maintainer:    Joseph H. Yao (hyao@sina.com)
" Last Change:            Jul 22, 2019

if exists("current_compiler")
  finish
endif
let current_compiler = "cs"
let s:keepcpo= &cpo
set cpo&vim

if exists(":CompilerSet") != 2		" older Vim always used :setlocal
  command -nargs=* CompilerSet setlocal <args>
endif

CompilerSet errorformat&
CompilerSet errorformat+=%f(%l\\,%v):\ %t%*[^:]:\ %m,
            \%trror%*[^:]:\ %m,
            \%tarning%*[^:]:\ %m

CompilerSet makeprg=csc\ %:S

let &cpo = s:keepcpo
unlet s:keepcpo