⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 target.h

📁 gcc-2.95.3 Linux下最常用的C编译器
💻 H
📖 第 1 页 / 共 5 页
字号:
/* target.h -- Public #include File (module.h template V1.0)   Copyright (C) 1995, 1996 Free Software Foundation, Inc.   Contributed by James Craig Burley.This file is part of GNU Fortran.GNU Fortran 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 Fortran 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 Fortran; see the file COPYING.  If not, write tothe Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA02111-1307, USA.   Owning Modules:      target.c   Modifications:*//* Allow multiple inclusion to work. */#ifndef _H_f_target#define _H_f_target#ifdef FFE_STANDALONE#define HOST_WIDE_INT long#else#ifndef TREE_CODE#include "tree.j"#endif#endif/* For now, g77 requires the ability to determine the exact bit pattern   of a float on the target machine.  (Hopefully this will be changed   soon).  Make sure we can do this.  */#if !defined (REAL_ARITHMETIC) \  && ((TARGET_FLOAT_FORMAT != HOST_FLOAT_FORMAT) \      || (FLOAT_WORDS_BIG_ENDIAN != HOST_FLOAT_WORDS_BIG_ENDIAN))#error "g77 requires ability to access exact FP representation of target machine"#endif/* Simple definitions and enumerations. */#define FFETARGET_charactersizeNONE (-1)#ifndef FFETARGET_charactersizeMAXIMUM#define FFETARGET_charactersizeMAXIMUM 2147483647#endif#ifndef FFETARGET_defaultIS_90#define FFETARGET_defaultIS_90 0#endif#ifndef FFETARGET_defaultIS_AUTOMATIC#define FFETARGET_defaultIS_AUTOMATIC 1#endif#ifndef FFETARGET_defaultIS_BACKSLASH#define FFETARGET_defaultIS_BACKSLASH 1#endif#ifndef FFETARGET_defaultIS_INIT_LOCAL_ZERO#define FFETARGET_defaultIS_INIT_LOCAL_ZERO 0#endif#ifndef FFETARGET_defaultIS_DOLLAR_OK#define FFETARGET_defaultIS_DOLLAR_OK 0#endif#ifndef FFETARGET_defaultIS_F2C#define FFETARGET_defaultIS_F2C 1#endif#ifndef FFETARGET_defaultIS_F2C_LIBRARY#define FFETARGET_defaultIS_F2C_LIBRARY 1#endif#ifndef FFETARGET_defaultIS_FREE_FORM#define FFETARGET_defaultIS_FREE_FORM 0#endif#ifndef FFETARGET_defaultIS_PEDANTIC#define FFETARGET_defaultIS_PEDANTIC 0#endif#ifndef FFETARGET_defaultCASE_INTRIN#define FFETARGET_defaultCASE_INTRIN FFE_caseLOWER#endif#ifndef FFETARGET_defaultCASE_MATCH#define FFETARGET_defaultCASE_MATCH FFE_caseLOWER#endif#ifndef FFETARGET_defaultCASE_SOURCE#define FFETARGET_defaultCASE_SOURCE FFE_caseLOWER#endif#ifndef FFETARGET_defaultCASE_SYMBOL#define FFETARGET_defaultCASE_SYMBOL FFE_caseNONE#endif#ifndef FFETARGET_defaultFIXED_LINE_LENGTH#define FFETARGET_defaultFIXED_LINE_LENGTH 72#endif/* 1 if external Fortran names ("FOO" in SUBROUTINE FOO, COMMON /FOO/,   and even enforced/default-for-unnamed PROGRAM, blank-COMMON, and   BLOCK DATA names, but not names of library functions implementing   intrinsics or names of local/internal variables) should have an   underscore appended (for compatibility with existing systems).  */#ifndef FFETARGET_defaultEXTERNAL_UNDERSCORED#define FFETARGET_defaultEXTERNAL_UNDERSCORED 1#endif/* 1 if external Fortran names with underscores already in them should   have an extra underscore appended (in addition to the one they   might already have appened if FFETARGET_defaultEXTERNAL_UNDERSCORED). */#ifndef FFETARGET_defaultUNDERSCORED_EXTERNAL_UNDERSCORED#define FFETARGET_defaultUNDERSCORED_EXTERNAL_UNDERSCORED 1#endif/* If FFETARGET_defaultEXTERNAL_UNDERSCORED is 0, the following definitions   might also need to be overridden to make g77 objects compatible with   f2c+gcc objects.  Although I don't think the unnamed BLOCK DATA one   is an issue at all.  Of course, on some systems it isn't f2c   compatibility that is the issue -- maybe compatibility with some   other compiler(s).  I don't know what to recommend for systems where   there is no existing Fortran compiler -- I suppose porting f2c and   pretending it's the existing one is best for now.  *//* 1 if the "FOO" in "PROGRAM FOO" should be overridden and a particular   name imposed in place of it in the actual code (normally the case,   because the library's main entry point on most systems calls the main   function by a particular name).  Someday g77 might do the f2c trick   of also outputting a "FOO" procedure that just calls the main procedure,   but that'll wait until somebody shows why it is needed.  */#ifndef FFETARGET_isENFORCED_MAIN#define FFETARGET_isENFORCED_MAIN 1#endif/* The enforced name of the main program if ENFORCED_MAIN is 1.  */#ifndef FFETARGET_nameENFORCED_MAIN_NAME#define FFETARGET_nameENFORCED_MAIN_NAME "MAIN__"#endif/* The name used for an unnamed main program if ENFORCED_MAIN is 0.  */#ifndef FFETARGET_nameUNNAMED_MAIN#define FFETARGET_nameUNNAMED_MAIN "MAIN__"#endif/* The name used for an unnamed block data program.  */#ifndef FFETARGET_nameUNNAMED_BLOCK_DATA#define FFETARGET_nameUNNAMED_BLOCK_DATA "_BLOCK_DATA__"#endif/* The name used for blank common.  */#ifndef FFETARGET_nameBLANK_COMMON#define FFETARGET_nameBLANK_COMMON "_BLNK__"#endif#ifndef FFETARGET_integerSMALLEST_POSITIVE#define FFETARGET_integerSMALLEST_POSITIVE 0#endif#ifndef FFETARGET_integerLARGEST_POSITIVE#define FFETARGET_integerLARGEST_POSITIVE 2147483647#endif#ifndef FFETARGET_integerBIG_MAGICAL#define FFETARGET_integerBIG_MAGICAL 020000000000	/* 2147483648 */#endif#ifndef FFETARGET_integerALMOST_BIG_MAGICAL#define FFETARGET_integerALMOST_BIG_MAGICAL 214748364#endif#ifndef FFETARGET_integerALMOST_BIG_OVERFLOW_BINARY#define FFETARGET_integerALMOST_BIG_OVERFLOW_BINARY 0x80000000#endif#ifndef FFETARGET_integerALMOST_BIG_OVERFLOW_HEX#define FFETARGET_integerALMOST_BIG_OVERFLOW_HEX 0x10000000#endif#ifndef FFETARGET_integerALMOST_BIG_OVERFLOW_OCTAL#define FFETARGET_integerALMOST_BIG_OVERFLOW_OCTAL 0x20000000#endif#ifndef FFETARGET_integerFINISH_BIG_MAGICAL#define FFETARGET_integerFINISH_BIG_MAGICAL 8#endif#ifndef FFETARGET_integerFINISH_BIG_OVERFLOW_BINARY#define FFETARGET_integerFINISH_BIG_OVERFLOW_BINARY 0#endif#ifndef FFETARGET_integerFINISH_BIG_OVERFLOW_HEX#define FFETARGET_integerFINISH_BIG_OVERFLOW_HEX 0#endif#ifndef FFETARGET_integerFINISH_BIG_OVERFLOW_OCTAL#define FFETARGET_integerFINISH_BIG_OVERFLOW_OCTAL 0#endif#ifndef FFETARGET_offsetNONE#define FFETARGET_offsetNONE 0	/* Not used by FFE, for backend if needed. */#endif#define FFETARGET_okINTEGER1 1#define FFETARGET_okINTEGER2 1#define FFETARGET_okINTEGER3 1#define FFETARGET_okINTEGER4 1#define FFETARGET_okLOGICAL1 1#define FFETARGET_okLOGICAL2 1#define FFETARGET_okLOGICAL3 1#define FFETARGET_okLOGICAL4 1#define FFETARGET_okREAL1 1#define FFETARGET_okREAL2 1#define FFETARGET_okREAL3 0#define FFETARGET_okREALQUAD FFETARGET_okREAL3#define FFETARGET_okCOMPLEX1 1#define FFETARGET_okCOMPLEX2 1#define FFETARGET_okCOMPLEX3 0#define FFETARGET_okCOMPLEXDOUBLE FFETARGET_okCOMPLEX2#define FFETARGET_okCOMPLEXQUAD FFETARGET_okCOMPLEX3#define FFETARGET_okCHARACTER1 1#define FFETARGET_f2cTYUNKNOWN 0#define FFETARGET_f2cTYADDR 1#define FFETARGET_f2cTYSHORT 2#define FFETARGET_f2cTYLONG 3#define FFETARGET_f2cTYREAL 4#define FFETARGET_f2cTYDREAL 5#define FFETARGET_f2cTYCOMPLEX 6#define FFETARGET_f2cTYDCOMPLEX 7#define FFETARGET_f2cTYLOGICAL 8#define FFETARGET_f2cTYCHAR 9#define FFETARGET_f2cTYSUBR 10#define FFETARGET_f2cTYINT1 11#define FFETARGET_f2cTYLOGICAL1 12#define FFETARGET_f2cTYLOGICAL2 13#define FFETARGET_f2cTYQUAD 14/* Typedefs. */typedef unsigned char ffetargetAlign;	/* ffetargetOffset for alignment. */#define ffetargetAlign_f ""typedef long ffetargetCharacterSize;#define ffetargetCharacterSize_f "l"typedef void (*ffetargetCopyfunc) (void *, void *, size_t);typedef ffetargetCharacterSize ffetargetHollerithSize;#define ffetargetHollerithSize_f "l"typedef long long ffetargetOffset;#define ffetargetOffset_f "ll"#if FFETARGET_okINTEGER1#ifndef __alpha__typedef long int ffetargetInteger1;#define ffetargetInteger1_f "l"#elsetypedef int ffetargetInteger1;#define ffetargetInteger1_f ""#endif#endif#if FFETARGET_okINTEGER2typedef signed char ffetargetInteger2;#define ffetargetInteger2_f ""#endif#if FFETARGET_okINTEGER3typedef short int ffetargetInteger3;#define ffetargetInteger3_f ""#endif#if FFETARGET_okINTEGER4typedef long long int ffetargetInteger4;#define ffetargetInteger4_f "ll"#endif#if FFETARGET_okINTEGER5typedef ? ffetargetInteger5;#define ffetargetInteger5_f?#endif#if FFETARGET_okINTEGER6typedef ? ffetargetInteger6;#define ffetargetInteger6_f?#endif#if FFETARGET_okINTEGER7typedef ? ffetargetInteger7;#define ffetargetInteger7_f?#endif#if FFETARGET_okINTEGER8typedef ? ffetargetInteger8;#define ffetargetInteger8_f?#endif#if FFETARGET_okLOGICAL1#ifndef __alpha__typedef long int ffetargetLogical1;#define ffetargetLogical1_f "l"#elsetypedef int ffetargetLogical1;#define ffetargetLogical1_f ""#endif#endif#if FFETARGET_okLOGICAL2typedef signed char ffetargetLogical2;#define ffetargetLogical2_f ""#endif#if FFETARGET_okLOGICAL3typedef short int ffetargetLogical3;#define ffetargetLogical3_f ""#endif#if FFETARGET_okLOGICAL4typedef long long int ffetargetLogical4;#define ffetargetLogical4_f "ll"#endif#if FFETARGET_okLOGICAL5typedef ? ffetargetLogical5;#define ffetargetLogical5_f?#endif#if FFETARGET_okLOGICAL6typedef ? ffetargetLogical6;#define ffetargetLogical6_f?#endif#if FFETARGET_okLOGICAL7typedef ? ffetargetLogical7;#define ffetargetLogical7_f?#endif#if FFETARGET_okLOGICAL8typedef ? ffetargetLogical8;#define ffetargetLogical8_f?#endif#if FFETARGET_okREAL1#ifdef REAL_ARITHMETIC#ifndef __alpha__typedef long int ffetargetReal1;#define ffetargetReal1_f "l"#define ffetarget_cvt_r1_to_rv_ REAL_VALUE_UNTO_TARGET_SINGLE#define ffetarget_cvt_rv_to_r1_ REAL_VALUE_TO_TARGET_SINGLE#else

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -