aboutsummaryrefslogtreecommitdiff
path: root/gcc/f/proj.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/f/proj.h')
-rw-r--r--gcc/f/proj.h102
1 files changed, 102 insertions, 0 deletions
diff --git a/gcc/f/proj.h b/gcc/f/proj.h
new file mode 100644
index 00000000000..205130a49d1
--- /dev/null
+++ b/gcc/f/proj.h
@@ -0,0 +1,102 @@
+/* proj.h file for Gnu Fortran
+ Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+ Contributed by James Craig Burley (burley@gnu.ai.mit.edu).
+
+This file is part of GNU Fortran.
+
+GNU Fortran 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 2, or (at your option)
+any later version.
+
+GNU Fortran is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Fortran; see the file COPYING. If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
+
+*/
+
+#ifndef _H_f_proj
+#define _H_f_proj
+
+#if !defined (__GNUC__) || (__GNUC__ < 2)
+#error "You have to use gcc 2.x to build g77 (might be fixed in g77-0.6)."
+#endif
+
+#ifndef BUILT_WITH_270
+#if (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
+#define BUILT_WITH_270 1
+#else
+#define BUILT_WITH_270 0
+#endif
+#endif /* !defined (BUILT_WITH_270) */
+
+/* This file used to attempt to allow for all sorts of broken systems.
+ Because the auto-configuration scripts in conf-proj(.in) didn't work
+ on all systems, and I received far too many bug reports about them,
+ I decided to stop trying to cater to broken systems at all, and
+ simply remove all but the simplest and most useful code (which is
+ still in proj.c).
+
+ So, if you find your system can't link because bsearch() or strtoul()
+ aren't found, please just fix your system, or hand-edit the code
+ below as appropriate. I DO NOT WANT ANY "BUG REPORTS" ABOUT THIS.
+ g77 requires a working ANSI C environment, and if bsearch() and strtoul()
+ do not exist, or if <assert.h> isn't found, etc., then you don't have
+ one, and it is not g77's fault. If it turns out g77 is simply
+ referring to the wrong system header file -- something I can verify
+ myself using my copy of the ANSI C standard -- I would like to know
+ about that. Otherwise, g77 is not the place to fix problems with your
+ ANSI C implementation, though perhaps gcc might be.
+ -- burley@gnu.ai.mit.edu 1995-03-24 */
+
+#ifndef FFEPROJ_BSEARCH
+#define FFEPROJ_BSEARCH 1 /* 0=>use slow code in proj.c. */
+#endif
+#ifndef FFEPROJ_STRTOUL
+#define FFEPROJ_STRTOUL 1 /* 0=>use untested code in proj.c. */
+#endif
+
+/* Include files everyone gets. */
+
+#include "assert.j" /* Use gcc's assert.h. */
+#include <stdio.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <string.h>
+
+/* Generally useful definitions. */
+
+typedef enum
+ {
+#if !defined(false) || !defined(true)
+ false = 0, true = 1,
+#endif
+#if !defined(FALSE) || !defined(TRUE)
+ FALSE = 0, TRUE = 1,
+#endif
+ Doggone_Trailing_Comma_Dont_Work = 1
+ } bool;
+
+#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
+#define STR(s) # s
+#define STRX(s) STR(s)
+
+#ifndef UNUSED /* Compile with -DUNUSED= if cc doesn't support this. */
+#if BUILT_WITH_270
+#define UNUSED __attribute__ ((unused))
+#else /* !BUILT_WITH_270 */
+#define UNUSED
+#endif /* !BUILT_WITH_270 */
+#endif /* !defined (UNUSED) */
+
+#ifndef dmpout
+#define dmpout stderr
+#endif
+
+#endif