From 5bc7ce93aca1e9026e3243221a9a0b1a3bc9a32e Mon Sep 17 00:00:00 2001 From: Alexander Pyhalov Date: Thu, 4 Jul 2013 18:25:13 +0400 Subject: [PATCH] 3853 __cplusplus change and headers incompatipility with clang Reviewed by: Albert Lee Reviewed by: Andrew Stormont Reviewed by: Cedric Blancher Reviewed by: Ian Collins Reviewed by: Don Cragun Reviewed by: Richard Lowe Approved by: Dan McDonald --- usr/src/head/malloc.h | 23 +++++++++++++++++++---- usr/src/head/unistd.h | 8 ++++++++ 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/usr/src/head/malloc.h b/usr/src/head/malloc.h index bfb44b801e..8325420861 100644 --- a/usr/src/head/malloc.h +++ b/usr/src/head/malloc.h @@ -26,8 +26,6 @@ #ifndef _MALLOC_H #define _MALLOC_H -#pragma ident "%Z%%M% %I% %E% SMI" /* SVr4.0 1.7 */ - #include #ifdef __cplusplus @@ -61,21 +59,38 @@ struct mallinfo { #if defined(__STDC__) +#if (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \ + defined(_XPG3) +#if __cplusplus >= 199711L +namespace std { +#endif + void *malloc(size_t); void free(void *); void *realloc(void *, size_t); +void *calloc(size_t, size_t); + +#if __cplusplus >= 199711L +} /* end of namespace std */ + +using std::malloc; +using std::free; +using std::realloc; +using std::calloc; +#endif /* __cplusplus >= 199711L */ +#endif /* (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || ... */ + int mallopt(int, int); struct mallinfo mallinfo(void); -void *calloc(size_t, size_t); #else void *malloc(); void free(); void *realloc(); +void *calloc(); int mallopt(); struct mallinfo mallinfo(); -void *calloc(); #endif /* __STDC__ */ diff --git a/usr/src/head/unistd.h b/usr/src/head/unistd.h index 04725ea56f..ad140cd2e1 100644 --- a/usr/src/head/unistd.h +++ b/usr/src/head/unistd.h @@ -461,7 +461,15 @@ extern ssize_t readlink(const char *_RESTRICT_KYWD, char *_RESTRICT_KYWD, #endif #if (!defined(__XOPEN_OR_POSIX) || (defined(_XPG3) && !defined(_XPG4))) || \ defined(__EXTENSIONS__) +#if __cplusplus >= 199711L +namespace std { +#endif extern int rename(const char *, const char *); +#if __cplusplus >= 199711L +} /* end of namespace std */ + +using std::rename; +#endif /* __cplusplus >= 199711L */ #endif /* (!defined(__XOPEN_OR_POSIX) || (defined(_XPG3)... */ #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) extern int resolvepath(const char *, char *, size_t); -- 2.11.4.GIT