📄 convex.h
字号:
/* Definitions of target machine for GNU compiler. Convex version. Copyright (C) 1988, 1994, 1995, 1996 Free Software Foundation, Inc.This file is part of GNU CC.GNU CC is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe 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 ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU CC; see the file COPYING. If not, write tothe Free Software Foundation, 59 Temple Place - Suite 330,Boston, MA 02111-1307, USA. *//* Standard GCC variables that we reference. */extern int target_flags;/* Convex machine-specific flags -mc1 target instruction set, libraries, scheduling -mc2 -mc32 -mc34 -mc38 -margcount use standard calling sequence, with arg count word -mno-argcount don't push arg count, depend on symbol table -margcount-nop place arg count in a nop instruction (faster than push) -mvolatile-cache use data cache for volatile mem refs (default) -mvolatile-nocache bypass data cache for volatile mem refs -mlong32 cc- and libc-compatible 32-bit longs -mlong64 64-bit longs*//* Macro to define tables used to set -mXXX flags. This is a list in braces of pairs in braces, each pair being { "NAME", VALUE } where VALUE is the bits to set or minus the bits to clear. An empty string NAME is used to identify the default VALUE. */#ifndef TARGET_DEFAULT#define TARGET_DEFAULT 0#endif#define TARGET_SWITCHES \ { { "c1", 001 }, \ { "c2", 002 }, \ { "c32", 004 }, \ { "c34", 010 }, \ { "c38", 020 }, \ { "argcount", 0100 }, \ { "argcount-nop", 0200 }, \ { "no-argcount", -0300 }, \ { "volatile-cache", -0400 }, \ { "no-volatile-cache", 0400 }, \ { "volatile-nocache", 0400 }, \ { "long64", 01000 }, \ { "long32", -01000 }, \ { "", TARGET_DEFAULT | TARGET_CPU_DEFAULT}}/* Macros used in the machine description to test the flags. */#define TARGET_C1 (target_cpu == 0)#define TARGET_C2 (target_cpu == 1)#define TARGET_C34 (target_cpu == 2)#define TARGET_C38 (target_cpu == 3)#define TARGET_ARGCOUNT (target_flags & 0100)#define TARGET_ARGCOUNT_NOP (target_flags & 0200)#define TARGET_LONG64 (target_flags & 01000)#define TARGET_VOLATILE_NOCACHE (target_flags & 0400)#define OVERRIDE_OPTIONS \{ \ init_convex (); \ if ((target_flags & 077) != ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & 077)) \ target_flags &= ~ (TARGET_DEFAULT | TARGET_CPU_DEFAULT); \ if (target_flags & 001) \ target_cpu = 0; \ else if (target_flags & 006) \ target_cpu = 1; \ else if (target_flags & 010) \ target_cpu = 2; \ else if (target_flags & 020) \ target_cpu = 3; \}/* Names to predefine in the preprocessor for this target machine. */#define CPP_PREDEFINES "-Dconvex -Dunix -Asystem(unix) -Acpu(convex) -Amachine(convex)"/* Print subsidiary information on the compiler version in use. */#define TARGET_VERSION fprintf (stderr, " (convex)");/* Target-dependent specs. Some libraries come in c1 and c2+ versions; use the appropriate ones. Make a target-dependent __convex_cxx__ define to relay the target cpu to the program being compiled. */#if (TARGET_DEFAULT | TARGET_CPU_DEFAULT) & 1/* C1 default */#if _IEEE_FLOAT_#define CPP_SPEC \"%{!mc2:%{!mc32:%{!mc34:%{!mc38:-D__convex_c1__}}}} \ %{mc2:-D__convex_c2__} \ %{mc32:-D__convex_c32__} \ %{mc34:-D__convex_c34__} \ %{mc38:-D__convex_c38__} \ %{fno-builtin:-D__NO_INLINE} \ -D__NO_INLINE_MATH -D__NO_INLINE_STDLIB \ -D_IEEE_FLOAT_ \ %{.S:-P} \ %{!traditional:-D__stdc__} \ %{!traditional:-D_LONGLONG} \ %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \ %{!ansi:-D_POSIX_SOURCE} \ %{!ansi:-D_CONVEX_SOURCE}"#else#define CPP_SPEC \"%{!mc2:%{!mc32:%{!mc34:%{!mc38:-D__convex_c1__}}}} \ %{mc2:-D__convex_c2__} \ %{mc32:-D__convex_c32__} \ %{mc34:-D__convex_c34__} \ %{mc38:-D__convex_c38__} \ %{fno-builtin:-D__NO_INLINE} \ -D__NO_INLINE_MATH -D__NO_INLINE_STDLIB \ -D_CONVEX_FLOAT_ \ %{.S:-P} \ %{!traditional:-D__stdc__} \ %{!traditional:-D_LONGLONG} \ %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \ %{!ansi:-D_POSIX_SOURCE} \ %{!ansi:-D_CONVEX_SOURCE}"#endif#define LIB_SPEC \"%{!mc2:%{!mc32:%{!mc34:%{!mc38:-lC1%{traditional:_old}%{p:_p}%{pg:_p}}}}} \ %{mc2:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \ %{mc32:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \ %{mc34:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \ %{mc38:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \ -lc%{traditional:_old}%{p:_p}%{pg:_p}"#endif#if (TARGET_DEFAULT | TARGET_CPU_DEFAULT) & 2/* C2 default */#if _IEEE_FLOAT_#define CPP_SPEC \"%{mc1:-D__convex_c1__} \ %{!mc1:%{!mc32:%{!mc34:%{!mc38:-D__convex_c2__}}}} \ %{mc32:-D__convex_c32__} \ %{mc34:-D__convex_c34__} \ %{mc38:-D__convex_c38__} \ %{fno-builtin:-D__NO_INLINE} \ -D__NO_INLINE_MATH -D__NO_INLINE_STDLIB \ -D_IEEE_FLOAT_ \ %{.S:-P} \ %{!traditional:-D__stdc__} \ %{!traditional:-D_LONGLONG} \ %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \ %{!ansi:-D_POSIX_SOURCE} \ %{!ansi:-D_CONVEX_SOURCE}"#else#define CPP_SPEC \"%{mc1:-D__convex_c1__} \ %{!mc1:%{!mc32:%{!mc34:%{!mc38:-D__convex_c2__}}}} \ %{mc32:-D__convex_c32__} \ %{mc34:-D__convex_c34__} \ %{mc38:-D__convex_c38__} \ %{fno-builtin:-D__NO_INLINE} \ -D__NO_INLINE_MATH -D__NO_INLINE_STDLIB \ -D_CONVEX_FLOAT_ \ %{.S:-P} \ %{!traditional:-D__stdc__} \ %{!traditional:-D_LONGLONG} \ %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \ %{!ansi:-D_POSIX_SOURCE} \ %{!ansi:-D_CONVEX_SOURCE}"#endif#define LIB_SPEC \"%{mc1:-lC1%{traditional:_old}%{p:_p}%{pg:_p}} \ %{!mc1:%{!mc32:%{!mc34:%{!mc38:-lC2%{traditional:_old}%{p:_p}%{pg:_p}}}}} \ %{mc32:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \ %{mc34:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \ %{mc38:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \ -lc%{traditional:_old}%{p:_p}%{pg:_p}"#endif#if (TARGET_DEFAULT | TARGET_CPU_DEFAULT) & 4/* C32 default */#if _IEEE_FLOAT_#define CPP_SPEC \"%{mc1:-D__convex_c1__} \ %{mc2:-D__convex_c2__} \ %{!mc1:%{!mc2:%{!mc34:%{!mc38:-D__convex_c32__}}}} \ %{mc34:-D__convex_c34__} \ %{mc38:-D__convex_c38__} \ %{fno-builtin:-D__NO_INLINE} \ -D__NO_INLINE_MATH -D__NO_INLINE_STDLIB \ -D_IEEE_FLOAT_ \ %{.S:-P} \ %{!traditional:-D__stdc__} \ %{!traditional:-D_LONGLONG} \ %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \ %{!ansi:-D_POSIX_SOURCE} \ %{!ansi:-D_CONVEX_SOURCE}"#else#define CPP_SPEC \"%{mc1:-D__convex_c1__} \ %{mc2:-D__convex_c2__} \ %{!mc1:%{!mc2:%{!mc34:%{!mc38:-D__convex_c32__}}}} \ %{mc34:-D__convex_c34__} \ %{mc38:-D__convex_c38__} \ %{fno-builtin:-D__NO_INLINE} \ -D__NO_INLINE_MATH -D__NO_INLINE_STDLIB \ -D_CONVEX_FLOAT_ \ %{.S:-P} \ %{!traditional:-D__stdc__} \ %{!traditional:-D_LONGLONG} \ %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \ %{!ansi:-D_POSIX_SOURCE} \ %{!ansi:-D_CONVEX_SOURCE}"#endif#define LIB_SPEC \"%{mc1:-lC1%{traditional:_old}%{p:_p}%{pg:_p}} \ %{mc2:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \ %{!mc1:%{!mc2:%{!mc34:%{!mc38:-lC2%{traditional:_old}%{p:_p}%{pg:_p}}}}} \ %{mc34:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \ %{mc38:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \ -lc%{traditional:_old}%{p:_p}%{pg:_p}"#endif#if (TARGET_DEFAULT | TARGET_CPU_DEFAULT) & 010/* C34 default */#if _IEEE_FLOAT_#define CPP_SPEC \"%{mc1:-D__convex_c1__} \ %{mc2:-D__convex_c2__} \ %{mc32:-D__convex_c32__} \ %{!mc1:%{!mc2:%{!mc32:%{!mc38:-D__convex_c34__}}}} \ %{mc38:-D__convex_c38__} \ %{fno-builtin:-D__NO_INLINE} \ -D__NO_INLINE_MATH -D__NO_INLINE_STDLIB \ -D_IEEE_FLOAT_ \ %{.S:-P} \ %{!traditional:-D__stdc__} \ %{!traditional:-D_LONGLONG} \ %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \ %{!ansi:-D_POSIX_SOURCE} \ %{!ansi:-D_CONVEX_SOURCE}"#else#define CPP_SPEC \"%{mc1:-D__convex_c1__} \ %{mc2:-D__convex_c2__} \ %{mc32:-D__convex_c32__} \ %{!mc1:%{!mc2:%{!mc32:%{!mc38:-D__convex_c34__}}}} \ %{mc38:-D__convex_c38__} \ %{fno-builtin:-D__NO_INLINE} \ -D__NO_INLINE_MATH -D__NO_INLINE_STDLIB \ -D_CONVEX_FLOAT_ \ %{.S:-P} \ %{!traditional:-D__stdc__} \ %{!traditional:-D_LONGLONG} \ %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \ %{!ansi:-D_POSIX_SOURCE} \ %{!ansi:-D_CONVEX_SOURCE}"#endif#define LIB_SPEC \"%{mc1:-lC1%{traditional:_old}%{p:_p}%{pg:_p}} \ %{mc2:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \ %{mc32:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \ %{!mc1:%{!mc2:%{!mc32:%{!mc38:-lC2%{traditional:_old}%{p:_p}%{pg:_p}}}}} \ %{mc38:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \ -lc%{traditional:_old}%{p:_p}%{pg:_p}"#endif#if (TARGET_DEFAULT | TARGET_CPU_DEFAULT) & 020/* C38 default */#if _IEEE_FLOAT_#define CPP_SPEC \"%{mc1:-D__convex_c1__} \ %{mc2:-D__convex_c2__} \ %{mc32:-D__convex_c32__} \ %{mc34:-D__convex_c34__} \ %{fno-builtin:-D__NO_INLINE} \ -D__NO_INLINE_MATH -D__NO_INLINE_STDLIB \ -D_IEEE_FLOAT_ \ %{!mc1:%{!mc2:%{!mc32:%{!mc34:-D__convex_c38__}}}} \ %{.S:-P} \ %{!traditional:-D__stdc__} \ %{!traditional:-D_LONGLONG} \ %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \ %{!ansi:-D_POSIX_SOURCE} \ %{!ansi:-D_CONVEX_SOURCE}"#else#define CPP_SPEC \"%{mc1:-D__convex_c1__} \ %{mc2:-D__convex_c2__} \ %{mc32:-D__convex_c32__} \ %{mc34:-D__convex_c34__} \ %{fno-builtin:-D__NO_INLINE} \ -D__NO_INLINE_MATH -D__NO_INLINE_STDLIB \ -D_CONVEX_FLOAT_ \ %{!mc1:%{!mc2:%{!mc32:%{!mc34:-D__convex_c38__}}}} \ %{.S:-P} \ %{!traditional:-D__stdc__} \ %{!traditional:-D_LONGLONG} \ %{!traditional:-Ds64_t=long\\ long -Du64_t=unsigned\\ long\\ long} \ %{!ansi:-D_POSIX_SOURCE} \ %{!ansi:-D_CONVEX_SOURCE}"#endif#define LIB_SPEC \"%{mc1:-lC1%{traditional:_old}%{p:_p}%{pg:_p}} \ %{mc2:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \ %{mc32:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \ %{mc34:-lC2%{traditional:_old}%{p:_p}%{pg:_p}} \ %{!mc1:%{!mc2:%{!mc32:%{!mc34:-lC2%{traditional:_old}%{p:_p}%{pg:_p}}}}} \ -lc%{traditional:_old}%{p:_p}%{pg:_p}"#endif#if _IEEE_FLOAT_/* ieee default */#define ASM_SPEC "-fi"#define LINK_SPEC \"-E%{traditional:no}posix \ -X \ %{F} %{M*} %{y*} \ -fi \
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -