Mercurial > vim
view runtime/syntax/cynlib.vim @ 33988:7c30841c60a0 v9.0.2180
patch 9.0.2180: POSIX function name in exarg causes issues
Commit: https://github.com/vim/vim/commit/6fdb6280821a822768df5689a5d727e37d38306c
Author: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Date: Tue Dec 19 20:53:07 2023 +0100
patch 9.0.2180: POSIX function name in exarg causes issues
Problem: POSIX function name in exarg struct causes issues
on OpenVMS
Solution: Rename getline member in exarg struct to ea_getline,
remove isinf() workaround for VMS
There are compilers that do not treat well POSIX functions - like
getline - usage in the structs.
Older VMS compilers could digest this... but the newer OpenVMS compilers
( like VSI C x86-64 X7.4-843 (GEM 50XB9) ) cannot deal with these
structs. This could be limited to getline() that is defined via
getdelim() and might not affect all POSIX functions in general - but
avoiding POSIX function names usage in the structs is a "safe side"
practice without compromising the functionality or the code readability.
The previous OpenVMS X86 port used a workaround limiting the compiler
capabilities using __CRTL_VER_OVERRIDE=80400000
In order to make the OpenVMS port future proof, this pull request
proposes a possible solution.
closes: #13704
Signed-off-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 19 Dec 2023 21:00:04 +0100 |
parents | 46763b01cd9a |
children |
line wrap: on
line source
" Vim syntax file " Language: Cynlib(C++) " Maintainer: Phil Derrick <phild@forteds.com> " Last change: 2001 Sep 02 " URL http://www.derrickp.freeserve.co.uk/vim/syntax/cynlib.vim " " Language Information " " Cynlib is a library of C++ classes to allow hardware " modelling in C++. Combined with a simulation kernel, " the compiled and linked executable forms a hardware " simulation of the described design. " " Further information can be found from www.forteds.com " Remove any old syntax stuff hanging around " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif " Read the C++ syntax to start with - this includes the C syntax runtime! syntax/cpp.vim unlet b:current_syntax " Cynlib extensions syn keyword cynlibMacro Default CYNSCON syn keyword cynlibMacro Case CaseX EndCaseX syn keyword cynlibType CynData CynSignedData CynTime syn keyword cynlibType In Out InST OutST syn keyword cynlibType Struct syn keyword cynlibType Int Uint Const syn keyword cynlibType Long Ulong syn keyword cynlibType OneHot syn keyword cynlibType CynClock Cynclock0 syn keyword cynlibFunction time configure my_name syn keyword cynlibFunction CynModule epilog execute_on syn keyword cynlibFunction my_name syn keyword cynlibFunction CynBind bind syn keyword cynlibFunction CynWait CynEvent syn keyword cynlibFunction CynSetName syn keyword cynlibFunction CynTick CynRun syn keyword cynlibFunction CynFinish syn keyword cynlibFunction Cynprintf CynSimTime syn keyword cynlibFunction CynVcdFile syn keyword cynlibFunction CynVcdAdd CynVcdRemove syn keyword cynlibFunction CynVcdOn CynVcdOff syn keyword cynlibFunction CynVcdScale syn keyword cynlibFunction CynBgnName CynEndName syn keyword cynlibFunction CynClock configure time syn keyword cynlibFunction CynRedAnd CynRedNand syn keyword cynlibFunction CynRedOr CynRedNor syn keyword cynlibFunction CynRedXor CynRedXnor syn keyword cynlibFunction CynVerify syn match cynlibOperator "<<=" syn keyword cynlibType In Out InST OutST Int Uint Const Cynclock " Define the default highlighting. " Only when an item doesn't have highlighting yet hi def link cynlibOperator Operator hi def link cynlibMacro Statement hi def link cynlibFunction Statement hi def link cynlibppMacro Statement hi def link cynlibType Type let b:current_syntax = "cynlib"