entered into RCS
authormycroft <mycroft@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 14 Mar 1992 05:04:03 +0000 (05:04 +0000)
committermycroft <mycroft@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 14 Mar 1992 05:04:03 +0000 (05:04 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@469 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/conditions.h [new file with mode: 0644]
gcc/gsyms.h [new file with mode: 0644]

diff --git a/gcc/conditions.h b/gcc/conditions.h
new file mode 100644 (file)
index 0000000..140fbd9
--- /dev/null
@@ -0,0 +1,111 @@
+/* Definitions for condition code handling in final.c and output routines.
+   Copyright (C) 1987 Free Software Foundation, Inc.
+
+This file is part of GNU CC.
+
+GNU CC 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 CC 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 CC; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+/* None of the things in the files exist if we don't use CC0.  */
+
+#ifdef HAVE_cc0
+
+/* The variable cc_status says how to interpret the condition code.
+   It is set by output routines for an instruction that sets the cc's
+   and examined by output routines for jump instructions.
+
+   cc_status contains two components named `value1' and `value2'
+   that record two equivalent expressions for the values that the
+   condition codes were set from.  (Either or both may be null if
+   there is no useful expression to record.)  These fields are
+   used for eliminating redundant test and compare instructions
+   in the cases where the condition codes were already set by the
+   previous instruction.
+
+   cc_status.flags contains flags which say that the condition codes
+   were set in a nonstandard manner.  The output of jump instructions
+   uses these flags to compensate and produce the standard result
+   with the nonstandard condition codes.  Standard flags are defined here.
+   The tm.h file can also define other machine-dependent flags.
+
+   cc_status also contains a machine-dependent component `mdep'
+   whose type, `CC_STATUS_MDEP', may be defined as a macro in the
+   tm.h file.  */
+
+#ifndef CC_STATUS_MDEP
+#define CC_STATUS_MDEP int
+#endif
+
+#ifndef CC_STATUS_MDEP_INIT
+#define CC_STATUS_MDEP_INIT 0
+#endif
+
+typedef struct {int flags; rtx value1, value2; CC_STATUS_MDEP mdep;} CC_STATUS;
+
+/* While outputting an insn as assembler code,
+   this is the status BEFORE that insn.  */
+extern CC_STATUS cc_prev_status;
+
+/* While outputting an insn as assembler code,
+   this is being altered to the status AFTER that insn.  */
+extern CC_STATUS cc_status;
+
+/* These are the machine-independent flags:  */
+
+/* Set if the sign of the cc value is inverted:
+   output a following jump-if-less as a jump-if-greater, etc.  */
+#define CC_REVERSED 1
+
+/* This bit means that the current setting of the N bit is bogus
+   and conditional jumps should use the Z bit in its place.
+   This state obtains when an extraction of a signed single-bit field
+   or an arithmetic shift right of a byte by 7 bits
+   is turned into a btst, because btst does not set the N bit.  */
+#define CC_NOT_POSITIVE 2
+
+/* This bit means that the current setting of the N bit is bogus
+   and conditional jumps should pretend that the N bit is clear.
+   Used after extraction of an unsigned bit
+   or logical shift right of a byte by 7 bits is turned into a btst.
+   The btst does not alter the N bit, but the result of that shift
+   or extract is never negative.  */
+#define CC_NOT_NEGATIVE 4
+
+/* This bit means that the current setting of the overflow flag
+   is bogus and conditional jumps should pretend there is no overflow.  */
+#define CC_NO_OVERFLOW 010
+
+/* This bit means that what ought to be in the Z bit
+   should be tested as the complement of the N bit.  */
+#define CC_Z_IN_NOT_N 020
+
+/* This bit means that what ought to be in the Z bit
+   should be tested as the N bit.  */
+#define CC_Z_IN_N 040
+
+/* Nonzero if we must invert the sense of the following branch, i.e.
+   change EQ to NE.  This is not safe for IEEE floating point operations!
+   It is intended for use only when a combination of arithmetic
+   or logical insns can leave the condition codes set in a fortuitous
+   (though inverted) state.  */
+#define CC_INVERTED 0100
+
+/* This is how to initialize the variable cc_status.
+   final does this at appropriate moments.  */
+
+#define CC_STATUS_INIT  \
+ (cc_status.flags = 0, cc_status.value1 = 0, cc_status.value2 = 0,  \
+  CC_STATUS_MDEP_INIT)
+
+#endif
diff --git a/gcc/gsyms.h b/gcc/gsyms.h
new file mode 100644 (file)
index 0000000..a2054bb
--- /dev/null
@@ -0,0 +1,76 @@
+/* For cross compilation, use the portable definitions from the COFF
+   documentation.  */
+
+#define __GNU_SYMS__
+
+enum sdb_storage_class
+{
+  C_EFCN = -1,
+  C_NULL = 0,
+  C_AUTO = 1,
+  C_EXT = 2,
+  C_STAT = 3,
+  C_REG = 4,
+  C_EXTDEF = 5,
+  C_LABEL = 6,
+  C_ULABEL = 7,
+  C_MOS = 8,
+  C_ARG = 9,
+  C_STRTAG = 10,
+  C_MOU = 11,
+  C_UNTAG = 12,
+  C_TPDEF = 13,
+  C_USTATIC = 14,
+  C_ENTAG = 15,
+  C_MOE = 16,
+  C_REGPARM = 17,
+  C_FIELD = 18,
+
+  C_BLOCK = 100,
+  C_FCN = 101,
+  C_EOS = 102,
+  C_FILE = 103,
+  C_LINE = 104,
+  C_ALIAS = 105,
+  C_HIDDEN = 106
+};
+
+enum sdb_type
+{
+  T_NULL = 0,
+  T_ARG = 1,
+  T_VOID = 1,
+  T_CHAR = 2,
+  T_SHORT = 3,
+  T_INT = 4,
+  T_LONG = 5,
+  T_FLOAT = 6,
+  T_DOUBLE = 7,
+  T_STRUCT = 8,
+  T_UNION = 9,
+  T_ENUM = 10,
+  T_MOE = 11,
+  T_UCHAR = 12,
+  T_USHORT = 13,
+  T_UINT = 14,
+  T_ULONG = 15
+};
+
+enum sdb_type_class
+{
+  DT_NON = 0,
+  DT_PTR = 1,
+  DT_FCN = 2,
+  DT_ARY = 3
+};
+
+enum sdb_masks
+{
+  N_BTMASK = 017,
+  N_TMASK = 060,
+  N_TMASK1 = 0300,
+  N_TMASK2 = 0360,
+  N_BTSHFT = 4,
+  N_TSHIFT = 2
+};
+