1 /* BEGIN INCLUDE FILE fort_options.incl.pl1  */
  2 
  3 /****^  ***********************************************************
  4         *                                                         *
  5         * Copyright, (C) Honeywell Information Systems Inc., 1987 *
  6         *                                                         *
  7         *********************************************************** */
  8 
  9 /****^  HISTORY COMMENTS:
 10   1) change(86-07-14,BWong), approve(86-07-14,MCR7382), audit(86-07-17,Ginter),
 11      install(86-07-28,MR12.0-1105):
 12      Fix fortran bug 473.
 13   2) change(87-06-23,RWaters), approve(87-06-23,MCR7703), audit(87-07-10,Huen),
 14      install(87-08-06,MR12.1-1069):
 15      Implemented SCP 6315: fortran error-handling argument.
 16                                                    END HISTORY COMMENTS */
 17 
 18 
 19 /*
 20           Modified: 12 May 87 by RWaters added debug_io
 21           Modified: 19 February 1986 by B. Wong & A. Ginter - 473.a: Correct
 22                     comments and size of pad field in fort_declared
 23                     and pad out dfast and fast bit masks to two words.
 24           Modified: 09 October 1985 by B. Wong - 473: add VLA_auto, VLA_static,
 25                     VLA_parm, VLC, LA_auto, and LA_static.  Remove VLA and LA.
 26           Modified: 28 March 1984 by M. Mabey - Install HFP support.
 27           Modified: 21 September 1983 by M. Mabey - correct size of pad field in  fortran_declared.
 28           Modified: 16 May 1983 by M. Mabey - add fortran_declared
 29           Modified: 18 December 1982 by T. Oke - Add 'long_profile'.
 30           Modified: 22 September 1982 by T. Oke - add VLA and LA
 31           Modified:  3 May  1982 by T. Oke - add check_multiply
 32           Modified: 06/24/81 by S. Herbst - add do_rounding & auto_zero to fast_mask and dfast_mask
 33           Modified: 26 February 1980 by C R Davis - add fast_mask,  fix dfast_mask.
 34           Modified: 31 January 1980 by C R Davis - add stringrange.
 35           Modified: 13 September 1979 by Paul E. Smee--add ansi_77.
 36           Modified: 05 December 1978 by Paul E. Smee--add do_rounding, auto_zero.
 37           Modified: 25 January 1978 by Richard A. Barnes for the loop optimizer
 38 */
 39 
 40 declare
 41 
 42     1 fortran_options aligned based,
 43       2 use_library bit (1) unaligned,            /* (1) ON if library statements will be parsed */
 44       2 optimize bit (1) unaligned,               /* (2) ON if optimized code is to be produced */
 45       2 time bit (1) unaligned,                   /* (3) ON for compile timing */
 46       2 source_format unaligned,
 47         3 has_line_numbers bit (1) unaligned,     /* (4) ON if each line begins with a line number */
 48         3 fold bit (1) unaligned,                 /* (5) ON if variable names are to be folded to lowercase */
 49         3 card bit (1) unaligned,                 /* (6) ON for card format */
 50         3 convert bit (1) unaligned,              /* (7) ON for card format to be converted */
 51       2 listing unaligned,
 52         3 source bit (1) unaligned,               /* (8) ON for listing of numbered source */
 53         3 symbol bit (1) unaligned,               /* (9) ON for listing with symbol map */
 54         3 map bit (1) unaligned,                  /* (10) ON for listing with statement map */
 55         3 list bit (1) unaligned,                 /* (11) ON for listing with assembler instructions */
 56       2 error_messages unaligned,
 57         3 brief bit (1) unaligned,                /* (12) ON for brief error messages */
 58         3 severity fixed bin (3),                 /* (13-16) suppresses messages below this severity */
 59       2 debugging unaligned,
 60         3 subscriptrange bit (1) unaligned,       /* (17) ON for subscript range checking */
 61         3 stringrange bit (1) unaligned,          /* (18) ON for string range checking */
 62         3 brief_table bit (1) unaligned,          /* (19) ON for statement table */
 63         3 table bit (1) unaligned,                /* (20) ON for statement and symbol table */
 64         3 profile bit (1) unaligned,              /* (21) ON to generate code to meter statements */
 65         3 check bit (1) unaligned,                /* (22) ON for syntactic and semantic checking only */
 66       2 system_debugging unaligned,
 67         3 stop_after_cg bit (1) unaligned,        /* (23) ON if debug stop after code generator */
 68         3 stop_after_parse bit (1) unaligned,     /* (24) ON if debug stop after parse */
 69       2 relocatable bit (1) unaligned,            /* (25) ON if relocatable object segment generated */
 70       2 optimizing unaligned,
 71         3 time_optimizer bit (1) unaligned,       /* (26) ON if timings for optimizer requested */
 72                                                   /* (27) ON if optimizer can loosen safety constraints */
 73         3 ignore_articulation_blocks bit (1) unaligned,
 74         3 consolidate bit(1) unaligned,           /* (28) ON if optimizer should run consolidation phase */
 75       2 do_rounding bit(1) unaligned,             /* (29) ON if floating point round should be used */
 76       2 auto_zero bit(1) unaligned,               /* (30) ON if auto storage should be zeroed when allocated */
 77       2 ansi_77 bit (1) unaligned,                /* (31) ON if ansi77 rules are to be followed */
 78       2 check_multiply bit (1) unaligned,         /* (32) ON if check integer multiply extent */
 79       2 VLA_auto bit (1) unaligned,               /* (33) ON if auto VLA's being done */
 80       2 VLA_parm bit (1) unaligned,               /* (34) ON if parm VLA's being done */
 81       2 VLA_static bit (1) unaligned,             /* (35) ON if static VLA's being done */
 82       2 VLC bit (1) unaligned,                    /* (36) ON if VLC's being done */
 83       2 LA_auto bit (1) unaligned,                /* (1)  ON if auto LA's being done */
 84       2 LA_static bit (1) unaligned,              /* (2)  ON if static LA's being done */
 85       2 long_profile bit (1) unaligned,           /* (3)  ON to generate long_profile */
 86       2 static_storage bit (1) unaligned,         /* (4)  ON if static storage */
 87       2 hfp bit (1) unaligned,                    /* (5)  ON if using hex floating point math */
 88       2 debug_io bit (1) unaligned,               /* (6) */
 89       2 pad bit(30) unaligned;                    /* (7-36) Pad bits */
 90 
 91 declare
 92 
 93    1  fortran_declared aligned based,
 94       2  ansi66 bit(1) unaligned,                 /* (1) First word */
 95       2  ansi77 bit(1) unaligned,                 /* (2) */
 96       2  auto bit(1) unaligned,                   /* (3) */
 97       2  auto_zero bit(1) unaligned,              /* (4) */
 98       2  brief bit(1) unaligned,                  /* (5) */
 99       2  binary_floating_point bit(1) unaligned,  /* (6) */
100       2  brief_table bit(1) unaligned,            /* (7) */
101       2  card bit(1) unaligned,                   /* (8) */
102       2  check bit(1) unaligned,                  /* (9) */
103       2  check_multiply bit(1) unaligned,         /* (10) */
104       2  consolidate bit(1) unaligned,            /* (11) */
105       2  debug bit(1) unaligned,                  /* (12) */
106       2  debug_cg bit(1) unaligned,               /* (13) */
107       2  debug_io bit(1) unaligned,               /* (14) */
108       2  default_full bit(1) unaligned,           /* (15) */
109       2  default_safe bit(1) unaligned,           /* (16) */
110       2  fold bit(1) unaligned,                   /* (17) */
111       2  free bit(1) unaligned,                   /* (18) */
112       2  full_optimize bit(1) unaligned,          /* (19) */
113       2  hexadecimal_floating_point bit(1) unaligned,
114                                                   /* (20) */
115       2  la_auto bit(1) unaligned,                /* (21) */
116       2  la_static bit(1) unaligned,              /* (22) */
117       2  large_array bit(1) unaligned,            /* (23) */
118       2  line_numbers bit(1) unaligned,           /* (24) */
119       2  list bit(1) unaligned,                   /* (25) */
120       2  long bit(1) unaligned,                   /* (26) */
121       2  long_profile bit(1) unaligned,           /* (27) */
122       2  map bit(1) unaligned,                    /* (28) */
123       2  no_auto_zero bit(1) unaligned,           /* (29) */
124       2  no_check bit(1) unaligned,               /* (30) */
125       2  no_fold bit(1) unaligned,                /* (31) */
126       2  no_large_array bit(1) unaligned,         /* (32) */
127       2  no_line_numbers bit(1) unaligned,        /* (33) */
128       2  no_map bit(1) unaligned,                 /* (34) */
129       2  no_optimize bit(1) unaligned,            /* (35) */
130       2  no_check_multiply bit(1) unaligned,      /* (36) */
131       2  no_debug_io bit(1) unal,                 /* (1) Second Word */
132       2  no_stringrange bit(1) unaligned,         /* (2) */
133       2  no_subscriptrange bit(1) unaligned,      /* (3) */
134       2  no_table bit(1) unaligned,               /* (4) */
135       2  no_very_large_array bit(1) unaligned,    /* (5) */
136       2  no_vla_parm bit(1) unaligned,            /* (6) */
137       2  no_version bit(1) unaligned,             /* (7) */
138       2  non_relocatable bit(1) unaligned,        /* (8) */
139       2  optimize bit(1) unaligned,               /* (9) */
140       2  profile bit(1) unaligned,                /* (10) */
141       2  relocatable bit(1) unaligned,            /* (11) */
142       2  round bit(1) unaligned,                  /* (12) */
143       2  safe_optimize bit(1) unaligned,          /* (13) */
144       2  severity fixed bin(3) unaligned,         /* (14-16) */
145       2  static bit(1) unaligned,                 /* (17) */
146       2  stringrange bit(1) unaligned,            /* (18) */
147       2  subscriptrange bit(1) unaligned,         /* (19) */
148       2  table bit(1) unaligned,                  /* (20) */
149       2  time bit(1) unaligned,                   /* (21) */
150       2  time_ot bit(1) unaligned,                /* (22) */
151       2  top_down bit(1) unaligned,               /* (23) */
152       2  truncate bit(1) unaligned,               /* (24) */
153       2  version bit(1) unaligned,                /* (25) */
154       2  very_large_array bit(1) unaligned,       /* (26) */
155       2  very_large_common bit(1) unaligned,      /* (27) */
156       2  vla_auto bit(1) unaligned,               /* (28) */
157       2  vla_parm bit(1) unaligned,               /* (29) */
158       2  vla_static bit(1) unaligned,             /* (30) */
159       2  pad bit(6) unaligned;                    /* (31-36) */
160 
161 
162 declare                                           /* Options used by DFAST */
163 
164      dfast_mask bit (72) internal static options (constant) initial ("100110000000000010100000000011"b);
165           /* use_library, has_line_numbers, fold, subscriptrange, brief_table */
166 
167 
168 declare                                           /* Options used by FAST */
169 
170      fast_mask bit (72) internal static options (constant) initial ("000100000000000010100000000011"b);
171           /* has_line_numbers, subscriptrange, brief_table */
172 
173 /* END INCLUDE FILE fort_options.incl.pl1 */