Martin Sebor
Wed, 02 Apr 2008 10:38:47 -0700
Farid Zaripov wrote:
-----Original Message----- From: Martin Sebor [EMAIL PROTECTED] On Behalf Of Martin Sebor Sent: Wednesday, April 02, 2008 7:54 PM To: dev@stdcxx.apache.org Subject: Re: svn commit: r643964 - /stdcxx/trunk/include/rw/_traits.hThanks for looking into this for me Farid. So Intel C++ on Linux doesn't support these intrinsics at all? I can't find them in the Intel C++ Intrinsics Reference but I thought they were trying to make the compiler 100% compatible with gcc, including all of its extensions.From ICC help:
I've read the Intel C++ manuals. They don't mention __builtin_memcpy either but the compiler seems to understand it just fine. In fact, the latest compiler understands all the gcc intrinsics with the exception of __builtin_memmove. So perhaps disabling just that one builtin would be enough. Martin
String and Block Copy Intrinsics The following table lists and describes string and block copy intrinsicsthat you can use across all Intel architectures.The string and block copy intrinsics are not implemented as intrinsics on IA-64 architecture.Intrinsic Description char *_strset(char *, _int32) Sets all characters in a string to a fixed value. int memcmp(const void *cs, const void *ct, size_t n) Compares two regions of memory. Return <0 if cs<ct, 0 if cs=ct, or >0 if cs>ct. void *memcpy(void *s, const void *ct, size_t n) Copies from memory. Returns s. void *memset(void * s, int c, size_t n) Sets memory to a fixed value. Returns s. char *strcat(char * s, const char * ct) Appends to a string. Returns s. int strcmp(const char *, const char *) Compares two strings. Return <0 if cs<ct, 0 if cs=ct, or >0 if cs>ct. char *strcpy(char * s, const char * ct) Copies a string. Returns s. size_t strlen(const char * cs) Returns the length of string cs. int strncmp(char *, char *, int) Compare two strings, but only specified number of characters. int strncpy(char *, char *, int) Copies a string, but only specified number of characters.Farid.