Test __IBMC__ in addition to __STDC__ because the IBM OS/2 C compiler
authorChris Hanson <org/chris-hanson/cph>
Sun, 8 Oct 1995 15:31:46 +0000 (15:31 +0000)
committerChris Hanson <org/chris-hanson/cph>
Sun, 8 Oct 1995 15:31:46 +0000 (15:31 +0000)
defines __STDC__ to mean "strict ANSI" rather than "ANSI features
supported".

v7/src/microcode/ansidecl.h
v7/src/microcode/outf.c
v8/src/microcode/cmpint.c

index 100781a8b066b2d18687a1a206821c6f51164c71..6075b9f16dd9bc7bb784c32577c08f1ff35cc2c5 100644 (file)
@@ -1,6 +1,8 @@
 /* Copyright (C) 1990 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
+$Id: ansidecl.h,v 1.4 1995/10/08 15:29:45 cph Exp $
+
 The GNU C Library is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 1, or (at your option)
@@ -52,8 +54,16 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
    so they will all get the switch for lint.  */
 /* LINTLIBRARY */
 
+/* We must test for __IBMC__ everywhere that we test for __STDC__
+   because the IBM C compiler for OS/2 does not define __STDC__ even
+   though it is an ANSI C compiler.  The compiler defines __STDC__
+   only when the compiler is put into "strict ANSI" mode, in which
+   numerous useful features are disabled.  It used to be the case that
+   this could be fixed by forcibly defining __STDC__, but as of
+   version 3.0 that is no longer allowed.  What these fascists hope to
+   gain by this, besides angering programmers, is unclear.  */
 
-#ifdef __STDC__
+#if defined(__STDC__) || defined(__IBMC__)
 
 #define        PTR             void *
 #define        PTRCONST        void *CONST
index 6c4b3bb1bdab82a50e79b322113cdf14dc4a237e..cf03dcdd77f759e77d1bcac3e308571d1dfb7779 100644 (file)
@@ -1,8 +1,8 @@
 /* -*-C-*-
 
-$Id: outf.c,v 1.7 1995/04/28 07:05:10 cph Exp $
+$Id: outf.c,v 1.8 1995/10/08 15:30:29 cph Exp $
 
-Copyright (c) 1993-94 Massachusetts Institute of Technology
+Copyright (c) 1993-95 Massachusetts Institute of Technology
 
 This material was developed by the Scheme project at the Massachusetts
 Institute of Technology, Department of Electrical Engineering and
@@ -54,7 +54,7 @@ MIT in each case. */
   information to stay visible `after' the termination of Scheme.
 */
 
-#if defined(__STDC__) || defined(WINNT)
+#if defined(__STDC__) || defined(WINNT) || defined(__IBMC__)
 #include <stdarg.h>
 #define VA_START(args, lastarg) va_start(args, lastarg)
 #define VA_DCL
index 1df64fa8eea8c9522f91e2446ec0ca34902c8054..ee8464c7c36602d9af9259d19d712b67c9221f43 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Id: cmpint.c,v 1.86 1995/10/05 03:27:42 cph Exp $
+$Id: cmpint.c,v 1.87 1995/10/08 15:31:46 cph Exp $
 
 Copyright (c) 1989-1995 Massachusetts Institute of Technology
 
@@ -151,7 +151,7 @@ MIT in each case. */
 #define ASM_ENTRY_POINT(name) name
 #endif
 
-#ifdef __STDC__
+#if defined(__STDC__) || defined(__IBMC__)
 #define EXFNX(name, proto) ASM_ENTRY_POINT (name) proto
 #define DEFNX(name, arglist, args) ASM_ENTRY_POINT (name) (args)
 #define DEFNX_VOID(name) ASM_ENTRY_POINT (name) (void)