Skip to contentSkip to conversation

GIT 1.5.0-rc2 compiler warning

DISCUSSION SungHyun Nam 3 participants 3 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

Hello,

Use CYGWIN.

gcc -o utf8.o -c -O2 -DNO_D_TYPE_IN_DIRENT -DNO_SYMLINK_HEAD -DNO_FAST_WORKING_DIRECTORY -DNO_IPV6 -DSHA1_HEADER='<openssl/sha.h>' -DNO_STRCASESTR utf8.c
utf8.c: In function `wcwidth':
utf8.c:148: warning: comparison is always false due to limited range of data type
utf8.c:148: warning: comparison is always true due to limited range of data type
utf8.c:149: warning: comparison is always false due to limited range of data type
utf8.c:149: warning: comparison is always true due to limited range of data type
utf8.c: In function `reencode_string':
utf8.c:313: warning: passing arg 2 of `libiconv' from incompatible pointer type

'gcc -E .... utf8.c' gives me:

# 325 "/bin/../lib/gcc/i686-pc-cygwin/3.4.4/include/stddef.h" 3 4 typedef short unsigned int wchar_t;

Regards,
namsh

#1 lore raw

I know. Imported code.

I do not think we can do much on a platform where wchar_t is too narrow and BMP only anyway.

#2 lore raw

måndag 22 januari 2007 02:13 skrev Junio C Hamano:

Quoted 4 lines

I know. Imported code.

I do not think we can do much on a platform where wchar_t is too narrow and BMP only anyway.

What's wrong is the assumption that wchar_t corresponds to a complete unicode character. On windows, two wchar_t (code units) may me combined to encode a unicode character outside of the BMP.

Without investigating further, I note that Java adds methods with an 'int' argument to the Character utility class to handle code points, vs the original 'char' that represents a code unit. (unlike C, an int is always 32-bit in Java).

-- robin