Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
fecif.m
Go to the documentation of this file.
00001 /*
00002 
00003   Copyright (C) 2000, 2001 Silicon Graphics, Inc.  All Rights Reserved.
00004 
00005   This program is free software; you can redistribute it and/or modify it
00006   under the terms of version 2 of the GNU General Public License as
00007   published by the Free Software Foundation.
00008 
00009   This program is distributed in the hope that it would be useful, but
00010   WITHOUT ANY WARRANTY; without even the implied warranty of
00011   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
00012 
00013   Further, this software is distributed without any warranty that it is
00014   free of the rightful claim of any third person regarding infringement 
00015   or the like.  Any license provided herein, whether implied or 
00016   otherwise, applies only to this software file.  Patent licenses, if 
00017   any, provided herein do not apply to combinations of this program with 
00018   other software, or any other product whatsoever.  
00019 
00020   You should have received a copy of the GNU General Public License along
00021   with this program; if not, write the Free Software Foundation, Inc., 59
00022   Temple Place - Suite 330, Boston MA 02111-1307, USA.
00023 
00024   Contact information:  Silicon Graphics, Inc., 1600 Amphitheatre Pky,
00025   Mountain View, CA 94043, or:
00026 
00027   http://www.sgi.com
00028 
00029   For further information regarding this notice, see:
00030 
00031   http://oss.sgi.com/projects/GenInfo/NoticeExplan
00032 
00033 */
00034 
00035 
00036 /* USMID:  "\n@(#)5.0_pl/macros/fecif.m 5.1     04/29/99 21:22:31\n" */
00037 
00038 
00039 /******************************************************************************/
00040 /*                                                                            */
00041 /*                    Misc attribute bit masks                                */
00042 /*                                                                            */
00043 /******************************************************************************/
00044 
00045 /* The following bit masks are used in the Entry Information record.          */
00046 
00047 # define CIF_PGM_DEFINITION             00000001      /*   0000 0001          */
00048 # define CIF_PGM_IN_INTERFACE           00000002      /*   0000 0002          */
00049 # define CIF_PGM_USE_ASSOCIATED         00000004      /*   0000 0004          */
00050 # define CIF_PGM_REFERENCE              00000010      /*   0000 0008          */
00051 # define CIF_PGM_OPTIONAL               00000020      /*   0000 0010          */
00052 # define CIF_PGM_PRIVATE                00000040      /*   0000 0020          */
00053 # define CIF_PGM_RECURSIVE              00000100      /*   0000 0040          */
00054 
00055 
00056 /* The following bit masks are used in the Object Information record.         */
00057 
00058 # define CIF_IMPLICITLY_TYPED           00000001      /*   0000 0001          */
00059 # define CIF_CRI_POINTEE                00000002      /*   0000 0002          */
00060 # define CIF_DEFAULT_TYPED              00000004      /*   0000 0004          */
00061 # define CIF_STAR_TYPED                 00000010      /*   0000 0008          */
00062 # define CIF_KIND_TYPED                 00000020      /*   0000 0010          */
00063 # define CIF_SAVED                      00000040      /*   0000 0020          */
00064 # define CIF_DATA_INIT                  00000100      /*   0000 0040          */
00065 # define CIF_EQUIVALENCED               00000200      /*   0000 0080          */
00066 # define CIF_DARG_IN_BND                00000400      /*   0000 0100          */
00067 /*       available for future use       00001000           0000 0200          */
00068 /*       available for future use       00002000           0000 0400          */
00069 # define CIF_ALLOCATABLE                00004000      /*   0000 0800          */
00070 # define CIF_INTENT_IN                  00010000      /*   0000 1000          */
00071 # define CIF_INTENT_OUT                 00020000      /*   0000 2000          */
00072 # define CIF_INTENT_INOUT               00040000      /*   0000 4000          */
00073 # define CIF_OPTIONAL                   00100000      /*   0000 8000          */
00074 # define CIF_POINTER                    00200000      /*   0001 0000          */
00075 # define CIF_PRIVATE                    00400000      /*   0002 0000          */
00076 # define CIF_TARGET                     01000000      /*   0004 0000          */
00077 # define CIF_RENAMED                    02000000      /*   0008 0000          */
00078 
00079 /* The following bit masks are used in the Scope Information record.          */
00080 
00081 # define CIF_SCP_IMPL_NONE              00000001      /*   0000 0001          */
00082 # define CIF_SCP_DOES_IO                00000002      /*   0000 0002          */
00083 # define CIF_SCP_HAS_CALLS              00000004      /*   0000 0004          */
00084 
00085 /* The following is used for the Use Module Record.                           */
00086 
00087 # define CIF_USE_MODULE_DIRECT          1
00088 # define CIF_USE_MODULE_INDIRECT        0
00089 
00090 
00091 /******************************************************************************/
00092 /*                                                                            */
00093 /*                      Miscellaneous Definitions                             */
00094 /*                                                                            */
00095 /******************************************************************************/
00096 
00097 # define ASSUMED_SIZE_CHAR      '*'
00098 # define FIXED_FORM             '0'
00099 # define VAR_LEN_CHAR           'E'
00100 
00101 
00102 /********************\
00103 |* SIZES AND LIMITS *|
00104 \********************/
00105 
00106 #define ARG_BUF_SIZE            (EXPANDED_MSG_SIZE - ORIG_MSG_SIZE)
00107 
00108 
00109 /******************************\
00110 |* OBJECT REPLACEMENT STRINGS *|
00111 \******************************/
00112 
00113 
00114 
00115 /***********************************\
00116 |* CONDITIONAL REPLACEMENT STRINGS *|
00117 \***********************************/
00118 
00119 
00120 
00121 /***********************************************\
00122 |* STATEMENT/FUNCTION-LIKE REPLACEMENT STRINGS *|
00123 \***********************************************/
00124 
00125 # define NEXT_DERIVED_TYPE_ID  cif_derived_type_id++
00126 
00127 # define NEXT_FILE_ID  cif_file_id++
00128 
00129 # define NEXT_SCOPE_ID  cif_symbol_or_scope_id++
00130 
00131 # define NEXT_SYMBOL_ID  cif_symbol_or_scope_id++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines