MAKE: ask gnulikes to warn and be pedantic + fixes

It seems clang 3.4 thinks the codebase is in fantastic shape and gcc 4.9.0
has only minor niggles, which I fixed:

- fix uninitialized member warning:
    In DEBUG mode the expr member doesn't get properly initialized to NULL.

- fix warnings about directive inside of macro's:
    On some platforms/compilers, sprintf is a macro. Putting macro directives
    inside of a macro is unportable and gcc 4.9 warns about that.

- fix signed vs. unsigned comparison warning:
    The in-memory table will luckily not even come close to the limits imposed
    by ssize_t. If it ever reaches that, we've got bigger problems.
This commit is contained in:
Nicolas Hillegeer 2014-02-27 18:57:17 +01:00 committed by Thiago de Arruda
parent 6eece5895e
commit 3f29a02166
5 changed files with 24 additions and 19 deletions

View File

@ -12,9 +12,9 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# If the C compiler is some GNU-alike, use the gnu99 standard and enable all warnings.
if(CMAKE_COMPILER_IS_GNUCC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -std=gnu99")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic -Wno-unused-parameter -std=gnu99")
elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -std=gnu99")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic -Wno-unused-parameter -std=gnu99")
endif(CMAKE_COMPILER_IS_GNUCC)
add_definitions(-DHAVE_CONFIG_H)

View File

@ -4209,15 +4209,14 @@ void msg_add_lines(int insert_space, long lnum, off_t nchars)
if (insert_space)
*p++ = ' ';
if (shortmess(SHM_LINES))
sprintf((char *)p,
if (shortmess(SHM_LINES)) {
#ifdef LONG_LONG_OFF_T
"%ldL, %lldC", lnum, nchars
sprintf((char *)p, "%ldL, %lldC", lnum, nchars);
#else
/* Explicit typecast avoids warning on Mac OS X 10.6 */
"%ldL, %ldC", lnum, (long)nchars
/* Explicit typecast avoids warning on Mac OS X 10.6 */
sprintf((char *)p, "%ldL, %ldC", lnum, (long)nchars);
#endif
);
}
else {
if (lnum == 1)
STRCPY(p, _("1 line, "));
@ -4226,15 +4225,13 @@ void msg_add_lines(int insert_space, long lnum, off_t nchars)
p += STRLEN(p);
if (nchars == 1)
STRCPY(p, _("1 character"));
else
sprintf((char *)p,
else {
#ifdef LONG_LONG_OFF_T
_("%lld characters"), nchars
sprintf((char *)p, _("%lld characters"), nchars);
#else
/* Explicit typecast avoids warning on Mac OS X 10.6 */
_("%ld characters"), (long)nchars
sprintf((char *)p, _("%ld characters"), (long)nchars);
#endif
);
}
}
}

View File

@ -1407,9 +1407,9 @@ static void convert_ks_to_3(const char_u *src, int *fp, int *mp, int *lp)
int low = *(src + 1);
int c;
int i;
const ssize_t tablesize = sizeof(ks_table1) / sizeof(ks_table1[0]);
if ((i = han_index(h, low)) >= 0
&& i < sizeof(ks_table1)/sizeof(ks_table1[0])) {
if ((i = han_index(h, low)) >= 0 && i < tablesize) {
*fp = ks_table1[i][0];
*mp = ks_table1[i][1];
*lp = ks_table1[i][2];

View File

@ -6932,6 +6932,9 @@ static regengine_T bt_regengine =
#ifdef REGEXP_DEBUG
,(char_u *)""
#endif
#ifdef DEBUG
,NULL
#endif
};
@ -6950,6 +6953,9 @@ static regengine_T nfa_regengine =
#ifdef REGEXP_DEBUG
,(char_u *)""
#endif
#ifdef DEBUG
, NULL
#endif
};
/* Which regexp engine to use? Needed for vim_regcomp().

View File

@ -2225,12 +2225,14 @@ static void term_color(char_u *s, int n)
&& (STRCMP(s + i + 1, "%p1%dm") == 0
|| STRCMP(s + i + 1, "%dm") == 0)
&& (s[i] == '3' || s[i] == '4')) {
sprintf(buf,
const char *fmt =
#ifdef TERMINFO
"%s%s%%p1%%dm",
"%s%s%%p1%%dm";
#else
"%s%s%%dm",
"%s%s%%dm";
#endif
sprintf(buf,
fmt,
i == 2 ? IF_EB("\033[", ESC_STR "[") : "\233",
s[i] == '3' ? (n >= 16 ? "38;5;" : "9")
: (n >= 16 ? "48;5;" : "10"));