changeset 14081:dfcd374b3af2

3853 __cplusplus change and headers incompatipility with clang Reviewed by: Albert Lee <trisk@nexenta.com> Reviewed by: Andrew Stormont <andyjstormont@gmail.com> Reviewed by: Cedric Blancher <cedric.blancher@googlemail.com> Reviewed by: Ian Collins <ian@ianshome.com> Reviewed by: Don Cragun <dcragun@sonic.net> Reviewed by: Richard Lowe <richlowe@richlowe.net> Approved by: Dan McDonald <danmcd@nexenta.com>
author Alexander Pyhalov <apyhalov@gmail.com>
date Thu, 04 Jul 2013 18:25:13 +0400
parents d1349977b975
children 6db1b9319cfc
files usr/src/head/malloc.h usr/src/head/unistd.h
diffstat 2 files changed, 27 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/head/malloc.h	Wed Jun 26 16:36:05 2013 -0400
+++ b/usr/src/head/malloc.h	Thu Jul 04 18:25:13 2013 +0400
@@ -26,8 +26,6 @@
 #ifndef _MALLOC_H
 #define	_MALLOC_H
 
-#pragma ident	"%Z%%M%	%I%	%E% SMI"	/* SVr4.0 1.7	*/
-
 #include <sys/types.h>
 
 #ifdef	__cplusplus
@@ -61,21 +59,38 @@
 
 #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__ */
 
--- a/usr/src/head/unistd.h	Wed Jun 26 16:36:05 2013 -0400
+++ b/usr/src/head/unistd.h	Thu Jul 04 18:25:13 2013 +0400
@@ -461,7 +461,15 @@
 #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);