Mercurial > vim
view runtime/syntax/spice.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 | 46763b01cd9a |
children |
line wrap: on
line source
" Vim syntax file " Language: Spice circuit simulator input netlist " Maintainer: Noam Halevy <Noam.Halevy.motorola.com> " Last Change: 2012 Jun 01 " (Dominique Pelle added @Spell) " " This is based on sh.vim by Lennart Schultz " but greatly simplified " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif " spice syntax is case INsensitive syn case ignore syn keyword spiceTodo contained TODO syn match spiceComment "^ \=\*.*$" contains=@Spell syn match spiceComment "\$.*$" contains=@Spell " Numbers, all with engineering suffixes and optional units "========================================================== "floating point number, with dot, optional exponent syn match spiceNumber "\<[0-9]\+\.[0-9]*\(e[-+]\=[0-9]\+\)\=\(meg\=\|[afpnumkg]\)\=" "floating point number, starting with a dot, optional exponent syn match spiceNumber "\.[0-9]\+\(e[-+]\=[0-9]\+\)\=\(meg\=\|[afpnumkg]\)\=" "integer number with optional exponent syn match spiceNumber "\<[0-9]\+\(e[-+]\=[0-9]\+\)\=\(meg\=\|[afpnumkg]\)\=" " Misc "===== syn match spiceWrapLineOperator "\\$" syn match spiceWrapLineOperator "^+" syn match spiceStatement "^ \=\.\I\+" " Matching pairs of parentheses "========================================== syn region spiceParen transparent matchgroup=spiceOperator start="(" end=")" contains=ALLBUT,spiceParenError syn region spiceSinglequote matchgroup=spiceOperator start=+'+ end=+'+ " Errors "======= syn match spiceParenError ")" " Syncs " ===== syn sync minlines=50 " Define the default highlighting. " Only when an item doesn't have highlighting yet hi def link spiceTodo Todo hi def link spiceWrapLineOperator spiceOperator hi def link spiceSinglequote spiceExpr hi def link spiceExpr Function hi def link spiceParenError Error hi def link spiceStatement Statement hi def link spiceNumber Number hi def link spiceComment Comment hi def link spiceOperator Operator let b:current_syntax = "spice" " insert the following to $VIM/syntax/scripts.vim " to autodetect HSpice netlists and text listing output: " " " Spice netlists and text listings " elseif getline(1) =~ 'spice\>' || getline("$") =~ '^\.end' " so <sfile>:p:h/spice.vim " vim: ts=8