Wireshark-dev: Re: [Wireshark-dev] Compilation error in ws_mempbrk_sse42.c
From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Tue, 4 Nov 2014 12:34:36 -0800
On Nov 4, 2014, at 12:05 PM, Stephen Fisher <stephenfisher@xxxxxxxxxxxxxxx> wrote:

> On Mon, Nov 03, 2014 at 04:14:15PM -0700, Stephen Fisher wrote:
> 
>> I haven't done Wireshark development in a while, so I'm not familiar 
>> with some of the new code, such as wsutil/ws_mempbrk_sse42.c.  On 
>> FreeBSD 10.0-RELEASE on amd64 (with clang as the new default 
>> compiler), I'm getting this error on my initial build:
>> 
>> Making all in wsutil
>> gmake[2]: Entering directory '/usr/local/src/wireshark/wsutil'
>>  CC       libwsutil_sse42_la-ws_mempbrk_sse42.lo
>> ws_mempbrk_sse42.c:49:14: error: unknown type name 'int8_t'; did you mean
>>      '__int8_t'?
> 
> I resolved this by changing int8_t to gint in commit 
> 79e4da4d638f4abe1f2969a69327f1cfcaaeb446

You presumably meant "gint8", that being what you used in the commit.

int8_t is a C99 datatype; older versions of various UN*Xes might not support it, and, even on those that do, you might have to include <stdint.h>.  Given that older versions might not support it, and might not have <stdint.h>, it's probably best not to use it.

According to

	http://blogs.msdn.com/b/vcblog/archive/2013/07/19/c99-library-support-in-visual-studio-2013.aspx

VS 2013 adds <stdint.h>; I don't know whether that means you need MSVC 2013 or later to build ws_mempbrk_sse42.c.  I also don't know whether, with your change, ws_mempbrk_sse42.c still needs to include <stdint.h> on Windows.