From 4fe0a51844cc7502e46d29b8ac4077d76eba41c0 Mon Sep 17 00:00:00 2001 From: Eliseo Martínez Date: Wed, 30 Apr 2014 20:21:21 +0200 Subject: Remove project int types: Case long_i: Replace with plain long. Replace long_i with plain long. long_i was just plain long, adding marker __w64, to be used by Microsoft's compilers only, as an aid when transitioning from 32 bits to 64 bits. Purpose of this marker was, in fact, to make a 32 bit compiler emit the same warnings that a 64 bit compiler would. This __w64 marker is nowadays deprecated by said compilers, and use of a real 64 bit compiler is recommended instead. See http://msdn.microsoft.com/en-us/library/s04b5w00.aspx for details. So, there's no reason to maintain this anymore, and thus is removed. Refactoring long into int64_t is not attempted, as doing that in a bulk way is too much complicated. That is left to be done later, on a file-by-file basis, probably intermixed with file-by-file -Wconversion activation. Requested in #459. --- src/option.c | 22 +++++++++------------- src/vim.h | 15 ++++----------- 2 files changed, 13 insertions(+), 24 deletions(-) (limited to 'src') diff --git a/src/option.c b/src/option.c index 82de35125c..2c95b8fd37 100644 --- a/src/option.c +++ b/src/option.c @@ -2231,16 +2231,14 @@ set_option_default ( if (options[opt_idx].indir == PV_SCROLL) win_comp_scroll(curwin); else { - *(long *)varp = (long)(long_i)options[opt_idx].def_val[dvi]; + *(long *)varp = (long)options[opt_idx].def_val[dvi]; /* May also set global value for local option. */ if (both) *(long *)get_varp_scope(&(options[opt_idx]), OPT_GLOBAL) = *(long *)varp; } } else { /* P_BOOL */ - /* the cast to long is required for Manx C, long_i is needed for - * MSVC */ - *(int *)varp = (int)(long)(long_i)options[opt_idx].def_val[dvi]; + *(int *)varp = (int)(intptr_t)options[opt_idx].def_val[dvi]; #ifdef UNIX /* 'modeline' defaults to off for root */ if (options[opt_idx].indir == PV_ML && getuid() == ROOT_UID) @@ -2312,7 +2310,7 @@ void set_number_default(char *name, long val) opt_idx = findoption((char_u *)name); if (opt_idx >= 0) - options[opt_idx].def_val[VI_DEFAULT] = (char_u *)(long_i)val; + options[opt_idx].def_val[VI_DEFAULT] = (char_u *)val; } #if defined(EXITFREE) || defined(PROTO) @@ -2554,13 +2552,13 @@ void set_title_defaults(void) idx1 = findoption((char_u *)"title"); if (idx1 >= 0 && !(options[idx1].flags & P_WAS_SET)) { val = mch_can_restore_title(); - options[idx1].def_val[VI_DEFAULT] = (char_u *)(long_i)val; + options[idx1].def_val[VI_DEFAULT] = (char_u *)val; p_title = val; } idx1 = findoption((char_u *)"icon"); if (idx1 >= 0 && !(options[idx1].flags & P_WAS_SET)) { val = mch_can_restore_icon(); - options[idx1].def_val[VI_DEFAULT] = (char_u *)(long_i)val; + options[idx1].def_val[VI_DEFAULT] = (char_u *)val; p_icon = val; } } @@ -2853,7 +2851,7 @@ do_set ( if (nextchar == '!') value = *(int *)(varp) ^ 1; else if (nextchar == '&') - value = (int)(long)(long_i)options[opt_idx].def_val[ + value = (int)(intptr_t)options[opt_idx].def_val[ ((flags & P_VI_DEF) || cp_val) ? VI_DEFAULT : VIM_DEFAULT]; else if (nextchar == '<') { @@ -2900,7 +2898,7 @@ do_set ( */ ++arg; if (nextchar == '&') - value = (long)(long_i)options[opt_idx].def_val[ + value = (long)options[opt_idx].def_val[ ((flags & P_VI_DEF) || cp_val) ? VI_DEFAULT : VIM_DEFAULT]; else if (nextchar == '<') { @@ -6189,11 +6187,9 @@ static int optval_default(struct vimoption *p, char_u *varp) return TRUE; /* hidden option is always at default */ dvi = ((p->flags & P_VI_DEF) || p_cp) ? VI_DEFAULT : VIM_DEFAULT; if (p->flags & P_NUM) - return *(long *)varp == (long)(long_i)p->def_val[dvi]; + return *(long *)varp == (long)p->def_val[dvi]; if (p->flags & P_BOOL) - /* the cast to long is required for Manx C, long_i is - * needed for MSVC */ - return *(int *)varp == (int)(long)(long_i)p->def_val[dvi]; + return *(int *)varp == (int)(intptr_t)p->def_val[dvi]; /* P_STRING */ return STRCMP(*(char_u **)varp, p->def_val[dvi]) == 0; } diff --git a/src/vim.h b/src/vim.h index 2553e9210f..81da228d59 100644 --- a/src/vim.h +++ b/src/vim.h @@ -71,17 +71,10 @@ Error: configure did not run properly.Check auto/config.log. #define NUMBUFLEN 30 /* length of a buffer to store a number in ASCII */ -/* Make sure long_u is big enough to hold a pointer. - * On Win64, longs are 32 bits and pointers are 64 bits. - * For printf() and scanf(), we need to take care of long_u specifically. */ -/* Microsoft-specific. The __w64 keyword should be specified on any typedefs - * that change size between 32-bit and 64-bit platforms. For any such type, - * __w64 should appear only on the 32-bit definition of the typedef. - * Define __w64 as an empty token for everything but MSVC 7.x or later. - */ -# define __w64 -typedef unsigned long __w64 long_u; -typedef long __w64 long_i; +// Make sure long_u is big enough to hold a pointer. +// On Win64, longs are 32 bits and pointers are 64 bits. +// For printf() and scanf(), we need to take care of long_u specifically. +typedef unsigned long long_u; /* * The characters and attributes cached for the screen. -- cgit