convex.h
来自「gcc3.2.1源代码」· C头文件 代码 · 共 1,365 行 · 第 1/4 页
H
1,365 行
/* Definitions of target machine for GNU compiler. Convex version. Copyright (C) 1988, 1994, 1995, 1996, 2000, 2001, 2002 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, N_("Generate code for c1") }, \ { "c2", 002, N_("Generate code for c2") }, \ { "c32", 004, N_("Generate code for c32") }, \ { "c34", 010, N_("Generate code for c34") }, \ { "c38", 020, N_("Generate code for c34") }, \ { "argcount", 0100, \ N_("Use standard calling sequence, with arg count word")}, \ { "argcount-nop", 0200, \ N_("Place arg count in a nop instruction (faster than push)") }, \ { "no-argcount", -0300, \ N_("Don't push arg count, depend on symbol table") }, \ { "volatile-cache", -0400, \ N_("Use data cache for volatile mem refs (default)") }, \ { "no-volatile-cache", 0400, \ N_("Don't use data cache for volatile mem refs") }, \ { "volatile-nocache", 0400, \ N_("Bypass data cache for volatile mem refs") }, \ { "long64", 01000, N_("Use 64-bit longs") }, \ { "long32", -01000, N_("Use cc- and libc-compatible 32-bit longs")},\ { "", 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}"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?