Daniel Dunbar | 6758892 | 2011-11-16 22:40:57 +0000 | [diff] [blame] | 1 | /* ===-- string.h - stub SDK header for compiler-rt -------------------------=== |
| 2 | * |
| 3 | * The LLVM Compiler Infrastructure |
| 4 | * |
| 5 | * This file is dual licensed under the MIT and the University of Illinois Open |
| 6 | * Source Licenses. See LICENSE.TXT for details. |
| 7 | * |
| 8 | * ===-----------------------------------------------------------------------=== |
| 9 | * |
| 10 | * This is a stub SDK header file. This file is not part of the interface of |
| 11 | * this library nor an official version of the appropriate SDK header. It is |
| 12 | * intended only to stub the features of this header required by compiler-rt. |
| 13 | * |
| 14 | * ===-----------------------------------------------------------------------=== |
| 15 | */ |
| 16 | |
| 17 | #ifndef __STRING_H__ |
| 18 | #define __STRING_H__ |
| 19 | |
| 20 | typedef __SIZE_TYPE__ size_t; |
| 21 | |
Benjamin Kramer | fa3eee4 | 2012-03-30 21:37:08 +0000 | [diff] [blame] | 22 | int memcmp(const void *, const void *, size_t); |
| 23 | void *memcpy(void *, const void *, size_t); |
Bill Wendling | 2a46a60 | 2013-05-15 21:31:22 +0000 | [diff] [blame] | 24 | void *memset(void *, int, size_t); |
Daniel Dunbar | 6758892 | 2011-11-16 22:40:57 +0000 | [diff] [blame] | 25 | char *strcat(char *, const char *); |
| 26 | char *strcpy(char *, const char *); |
| 27 | char *strdup(const char *); |
| 28 | size_t strlen(const char *); |
| 29 | char *strncpy(char *, const char *, size_t); |
| 30 | |
Bill Wendling | da8596b | 2013-06-27 21:17:24 +0000 | [diff] [blame] | 31 | /* Determine the appropriate strerror() function. */ |
| 32 | #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) |
| 33 | # if defined(__i386) |
| 34 | # define __STRERROR_NAME "_strerror$UNIX2003" |
Tim Northover | 4cfed27 | 2014-10-08 17:28:37 +0000 | [diff] [blame] | 35 | # elif defined(__x86_64__) || defined(__arm) || defined(__arm64) |
Bill Wendling | da8596b | 2013-06-27 21:17:24 +0000 | [diff] [blame] | 36 | # define __STRERROR_NAME "_strerror" |
| 37 | # else |
Stephen Hines | 2d1fdb2 | 2014-05-28 23:58:16 -0700 | [diff] [blame] | 38 | # error "unrecognized architecture for targeting OS X" |
Bill Wendling | da8596b | 2013-06-27 21:17:24 +0000 | [diff] [blame] | 39 | # endif |
| 40 | #elif defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) |
Tim Northover | 4cfed27 | 2014-10-08 17:28:37 +0000 | [diff] [blame] | 41 | # if defined(__i386) || defined (__x86_64) || defined(__arm) || defined(__arm64) |
Bill Wendling | da8596b | 2013-06-27 21:17:24 +0000 | [diff] [blame] | 42 | # define __STRERROR_NAME "_strerror" |
| 43 | # else |
Stephen Hines | 2d1fdb2 | 2014-05-28 23:58:16 -0700 | [diff] [blame] | 44 | # error "unrecognized architecture for targeting iOS" |
Bill Wendling | da8596b | 2013-06-27 21:17:24 +0000 | [diff] [blame] | 45 | # endif |
| 46 | #else |
Stephen Hines | 2d1fdb2 | 2014-05-28 23:58:16 -0700 | [diff] [blame] | 47 | # error "unrecognized architecture for targeting Darwin" |
Bill Wendling | da8596b | 2013-06-27 21:17:24 +0000 | [diff] [blame] | 48 | #endif |
| 49 | |
| 50 | char *strerror(int) __asm(__STRERROR_NAME); |
| 51 | |
Daniel Dunbar | 6758892 | 2011-11-16 22:40:57 +0000 | [diff] [blame] | 52 | #endif /* __STRING_H__ */ |