mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Make SHM_ALL to a variable instead of a compound literal #define
gcc-9 has [improved compliance] with the C spec for lifetime of compound literals, tying their lifetime to block scope instead of function scope. This makes the behavior comparable to all other automatic variables. Using the SHM_ALL #define instantiated a compound literal local to an if clause and assigned the address to a "char_u *". Since the pointer was then being used outside of the if clause, it was using an invalid address. [improved compliance]: https://gcc.gnu.org/gcc-9/porting_to.html#complit Closes #9855
This commit is contained in:
parent
c5e8924f4e
commit
b8df2c6ebd
@ -310,6 +310,15 @@ static char *(p_scl_values[]) = { "yes", "no", "auto", "auto:1", "auto:2",
|
|||||||
"yes:1", "yes:2", "yes:3", "yes:4", "yes:5", "yes:6", "yes:7", "yes:8",
|
"yes:1", "yes:2", "yes:3", "yes:4", "yes:5", "yes:6", "yes:7", "yes:8",
|
||||||
"yes:9", NULL };
|
"yes:9", NULL };
|
||||||
|
|
||||||
|
/// All possible flags for 'shm'.
|
||||||
|
static char_u SHM_ALL[] = {
|
||||||
|
SHM_RO, SHM_MOD, SHM_FILE, SHM_LAST, SHM_TEXT, SHM_LINES, SHM_NEW, SHM_WRI,
|
||||||
|
SHM_ABBREVIATIONS, SHM_WRITE, SHM_TRUNC, SHM_TRUNCALL, SHM_OVER,
|
||||||
|
SHM_OVERALL, SHM_SEARCH, SHM_ATTENTION, SHM_INTRO, SHM_COMPLETIONMENU,
|
||||||
|
SHM_RECORDING, SHM_FILEINFO,
|
||||||
|
0,
|
||||||
|
};
|
||||||
|
|
||||||
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
||||||
# include "option.c.generated.h"
|
# include "option.c.generated.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -179,14 +179,6 @@ enum {
|
|||||||
SHM_RO, SHM_MOD, SHM_FILE, SHM_LAST, SHM_TEXT, SHM_LINES, SHM_NEW, SHM_WRI, \
|
SHM_RO, SHM_MOD, SHM_FILE, SHM_LAST, SHM_TEXT, SHM_LINES, SHM_NEW, SHM_WRI, \
|
||||||
0, \
|
0, \
|
||||||
})
|
})
|
||||||
/// All possible flags for 'shm'.
|
|
||||||
#define SHM_ALL ((char_u[]) { \
|
|
||||||
SHM_RO, SHM_MOD, SHM_FILE, SHM_LAST, SHM_TEXT, SHM_LINES, SHM_NEW, SHM_WRI, \
|
|
||||||
SHM_ABBREVIATIONS, SHM_WRITE, SHM_TRUNC, SHM_TRUNCALL, SHM_OVER, \
|
|
||||||
SHM_OVERALL, SHM_SEARCH, SHM_ATTENTION, SHM_INTRO, SHM_COMPLETIONMENU, \
|
|
||||||
SHM_RECORDING, SHM_FILEINFO, \
|
|
||||||
0, \
|
|
||||||
})
|
|
||||||
|
|
||||||
/* characters for p_go: */
|
/* characters for p_go: */
|
||||||
#define GO_ASEL 'a' /* autoselect */
|
#define GO_ASEL 'a' /* autoselect */
|
||||||
|
Loading…
Reference in New Issue
Block a user