[Fontconfig] clang warnings when building fontconfig git head
Akira TAGOH
akira at tagoh.org
Wed Jun 26 03:32:24 PDT 2013
Thanks for reporting. I'll have a look.
On Wed, Jun 26, 2013 at 12:15 AM, Thomas Klausner <wiz at netbsd.org> wrote:
> Hi!
>
> When building the latest git version of fontconfig with clang-3.4
> (trunk 182734) on NetBSD-6.99.22/amd64, I see a few warnings:
>
> An out-of-range comparison:
>
> CC fcname.lo
> fcname.c:89:18: warning: comparison of constant 4294967295 with expression of type 'const FcType' (aka 'const enum _FcType') is always false [-Wtautological-constant-out-of-range-compare]
> if (t->type == (unsigned int) -1 || type == t->type)
> ~~~~~~~ ^ ~~~~~~~~~~~~~~~~~
> 1 warning generated.
>
> A prototype mismatch with scandir:
>
> CC fcstat.lo
> fcstat.c:192:4: warning: incompatible pointer types passing 'int (*)(const struct dirent **, const struct dirent **)' to parameter of type 'int (*)(const void *, const void *)' [-Wincompatible-pointer-types]
> &FcDirChecksumScandirSorter);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/dirent.h:112:43: note: passing argument to parameter here
> int (*)(const struct dirent *), int (*)(const void *, const void *))
> ^
> 1 warning generated.
>
> On NetBSD, scandir is:
> int scandir(const char *dirname, struct dirent ***namelist,
> int (*select)(const struct dirent *), int (*compar)(const void *, const void *));
>
>
> And a few warnings because the is* macros on NetBSD only accept EOF or
> unsigned char. These are usually fixed by adding casts, i.e.
> "isspace((unsigned char)foo)".
>
> GEN fc-case
> fc-case.c:217:10: warning: array subscript is of type 'char' [-Wchar-subscripts]
> if (!isxdigit (line[0]))
> ^~~~~~~~~~~~~~~~~~
> /usr/include/sys/ctype_inline.h:58:45: note: expanded from macro 'isxdigit'
> #define isxdigit(c) ((int)((_ctype_tab_ + 1)[(c)] & _CTYPE_X))
> ^~~~
> 1 warning generated.
>
> GEN fc-lang
> fc-lang.c:90:23: warning: array subscript is of type 'char' [-Wchar-subscripts]
> while (line[0] && isspace (line[0]))
> ^~~~~~~~~~~~~~~~~
> /usr/include/sys/ctype_inline.h:56:44: note: expanded from macro 'isspace'
> #define isspace(c) ((int)((_ctype_tab_ + 1)[(c)] & _CTYPE_S))
> ^~~~
> fc-lang.c:93:23: warning: array subscript is of type 'char' [-Wchar-subscripts]
> while (end > 0 && isspace (line[end-1]))
> ^~~~~~~~~~~~~~~~~~~~~
> /usr/include/sys/ctype_inline.h:56:44: note: expanded from macro 'isspace'
> #define isspace(c) ((int)((_ctype_tab_ + 1)[(c)] & _CTYPE_S))
> ^~~~
> fc-lang.c:152:13: warning: array subscript is of type 'char' [-Wchar-subscripts]
> while (isspace(*included_file))
> ^~~~~~~~~~~~~~~~~~~~~~~
> /usr/include/sys/ctype_inline.h:56:44: note: expanded from macro 'isspace'
> #define isspace(c) ((int)((_ctype_tab_ + 1)[(c)] & _CTYPE_S))
> ^~~~
> 3 warnings generated.
>
>
> Can you please fix these issues?
>
> Thanks,
> Thomas
> _______________________________________________
> Fontconfig mailing list
> Fontconfig at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/fontconfig
--
Akira TAGOH
More information about the Fontconfig
mailing list