[_ANSI_H_]: Handle __need_size_t and __need_wchar-t.
authorRichard Stallman <rms@gnu.org>
Thu, 20 May 1993 21:10:36 +0000 (21:10 +0000)
committerRichard Stallman <rms@gnu.org>
Thu, 20 May 1993 21:10:36 +0000 (21:10 +0000)
From-SVN: r4520

gcc/ginclude/stddef.h

index d17f1721d2b5719d69ce73c44f4643b37e40f93c..72276db528ce8fc3956ea780ea1ef113611df722 100644 (file)
 #ifndef _WCHAR_T_
 #define _WCHAR_T
 #endif
+/* Undef _FOO_T_ if we are supposed to define foo_t.  */
+#if ! defined (__need_wchar_t) && ! defined (__need_size_t)
 #undef _PTRDIFF_T_
-#ifndef __need_ptrdiff_t
+#endif
+#if ! defined (__need_wchar_t) && ! defined (__need_ptrdiff_t)
 #undef _SIZE_T_
+#endif
+#if ! defined (__need_size_t) && ! defined (__need_ptrdiff_t)
 #undef _WCHAR_T_
 #endif
 #endif /* _ANSI_H_ */
@@ -174,18 +179,18 @@ typedef __WCHAR_TYPE__ wchar_t;
 #endif /* _STDDEF_H or __need_wchar_t.  */
 
 /*  In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-    are already defined.  We need not worry about the case of wanting just
-    one of these types, not on 4.3bsd-net2, because only the GNU libc
-    header files do that.  */
+    are already defined.  */
 #ifdef _ANSI_H_
+#ifdef _GCC_PTRDIFF_T_
 #undef _PTRDIFF_T_
-#ifdef _STDDEF_H /* This is a kludge.
-                   _STDDEF_H is defined when we are using the whole file,
-                   undefined when obstack.h wants just ptrdiff_t.  */
+#endif
+#ifdef _GCC_SIZE_T_
 #undef _SIZE_T_
-#undef _WCHAR_T_
 #endif
+#ifdef _GCC_WCHAR_T_
+#undef _WCHAR_T_
 #endif
+#endif /* _ANSI_H_ */
 
 #endif /* __sys_stdtypes_h */