COMPILATION LISTING OF SEGMENT !BBBJdMkCwJJLMz Compiled by: Multics PL/I Compiler, Release 33d, of April 24, 1992 Compiled at: ACTC Technologies Inc. Compiled on: 92-10-06_0040.72_Tue_mdt Options: table map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1989 * 4* * * 5* * Copyright, (C) Honeywell Bull Inc., 1987 * 6* * * 7* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 8* * * 9* * Copyright (c) 1972 by Massachusetts Institute of * 10* * Technology and Honeywell Information Systems, Inc. * 11* * * 12* *********************************************************** */ 13 14 15 16 17 /* HISTORY COMMENTS: 18* 1) change(86-07-15,Ginter), approve(86-07-15,MCR7287), audit(86-07-16,Mabey), 19* install(86-07-28,MR12.0-1105): 20* Change the version number for the MR12.0 release of the compiler. 21* 2) change(88-01-26,RWaters), approve(88-01-26,MCR7724), audit(88-02-05,Huen), 22* install(88-02-16,MR12.2-1024): 23* Change the version number for the MR12.2 release of the compiler. 24* 3) change(88-08-23,RWaters), approve(88-08-23,MCR7914), audit(88-09-28,Huen), 25* install(88-10-12,MR12.2-1163): 26* Change the version number for the MR12.2 release (Vers. 31a) 27* 4) change(89-03-28,Huen), approve(89-03-28,MCR8077), audit(89-04-26,JRGray), 28* install(89-06-16,MR12.3-1059): 29* Change the version number for the MR12.3 release (Vers. 31b) 30* 5) change(89-04-04,Huen), approve(89-04-04,MCR8092), audit(89-04-26,RWaters), 31* install(89-06-16,MR12.3-1059): 32* Change the version number for the MR12.3 release (Vers. 32a) 33* 6) change(89-04-17,JRGray), approve(89-04-17,MCR8078), audit(89-04-18,Huen), 34* install(89-06-16,MR12.3-1059): 35* Updated version to 32b, part of archive pathname support. 36* 7) change(89-04-24,RWaters), approve(89-04-24,MCR8101), audit(89-04-27,Huen), 37* install(89-06-16,MR12.3-1059): 38* Updated the version number to 32c. 39* 8) change(89-07-10,RWaters), approve(89-07-10,MCR8069), audit(89-09-07,Vu), 40* install(89-09-19,MR12.3-1068): 41* Update Version Number for numerous installed changes. 42* 9) change(89-07-28,JRGray), approve(89-07-28,MCR8123), audit(89-09-12,Vu), 43* install(89-09-22,MR12.3-1073): 44* Updated version to 32e for opt conditional fix (pl1 2091 fix 2177). 45* 10) change(89-10-02,Vu), approve(89-10-02,MCR8139), audit(89-10-04,Blackmore), 46* install(89-10-09,MR12.3-1086): 47* Updated version to 32f for two named constant changes. 48* 11) change(90-05-03,Huen), approve(90-05-03,MCR8169), audit(90-05-18,Gray), 49* install(90-05-30,MR12.4-1012): 50* Updated version to 33a for pl1 opt concat of a common string exp bug 51* (pl1_1885) 52* 12) change(90-08-24,Huen), approve(90-08-24,MCR8187), 53* audit(90-10-03,Zimmerman), install(90-10-17,MR12.4-1046): 54* Updated version to 33b for pl1 padded reference bug (phx13134, pl1_2224) 55* 13) change(90-08-30,Huen), approve(90-08-30,MCR8160), 56* audit(90-10-03,Zimmerman), install(90-10-17,MR12.4-1046): 57* version (33b) is also for fixing PL1 to not complain about constant 58* symbols that are actually legal. 59* 14) change(90-10-17,Gray), approve(90-10-17,MCR8160), audit(90-10-19,Schroth), 60* install(90-10-25,MR12.4-1049): 61* Modified to 33c to only validate constants for syms dcled by dcl 62* statement. 63* 15) change(91-01-09,Blackmore), approve(91-01-09,MCR8234), 64* audit(91-12-05,Huen), install(92-04-24,MR12.5-1011): 65* Change version to 33d, with constant reference resolution fix. 66* 16) change(92-09-17,Zimmerman), approve(92-09-17,MCR8257), audit(92-09-18,Vu), 67* install(92-10-06,MR12.5-1023): 68* Updated version number to 33e (MR 12.5). Fix source listing 69* overflow problem. (PL1 error list entry 2212). 70* END HISTORY COMMENTS */ 71 72 73 /* format: style3 */ 74 (stringsize): 75 pl1_version: 76 procedure; 77 78 /* Written: 25 September 1979 by PCK to replace stand alone segment, pl1_version_ */ 79 /* Modified: 28 January 1988 by RW to fix 1994 and 2186 */ 80 81 /* external entries */ 82 83 dcl create_data_segment_ 84 entry (ptr, fixed bin (35)); 85 dcl ioa_ entry options (variable); 86 dcl com_err_ entry options (variable); 87 dcl decode_clock_value_$date_time 88 entry (fixed bin (71), fixed bin, fixed bin, fixed bin, fixed bin, fixed bin, fixed bin, 89 fixed bin (71), fixed bin, char (3), fixed bin (35)); 90 91 /* builtins */ 92 93 dcl (addr, clock, ltrim, size, unspec) 94 builtin; 95 96 /* internal static */ 97 98 dcl day_of_week_string (1:7) character (9) varying int static options (constant) 99 init ("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"); 100 dcl month_string (1:12) character (9) varying int static options (constant) 101 init ("January", "February", "March", "April", "May", "June", "July", "August", "September", 102 "October", "November", "December"); 103 dcl my_name character (11) int static init ("pl1_version") options (constant); 104 105 /* conditions */ 106 107 dcl (stringsize, error) condition; 108 109 /* automatic */ 110 111 /* RELEASE = "" for the >experimental_library compiler, 112* = for the >system_standard_library compiler */ 113 114 dcl RELEASE character (3) varying init ("33e"); 115 dcl (clock_reading, microsecond) 116 fixed bin (71); 117 dcl (month, day_of_month, year, day_of_week, hour, minute, second) 118 fixed bin; 119 dcl time_zone character (3) init (""); 120 dcl pl1_version_string character (256) varying; 121 dcl code fixed bin (35); 122 dcl 1 cdsa like cds_args aligned; /* info to be passed to 123* create_data_segment_ */ 124 dcl 1 pl1_version_struc, 125 2 pl1_version character (256) varying, 126 2 pl1_release character (3) varying; 127 dcl year_pic picture "9999"; 128 dcl day_of_month_pic picture "zz"; 129 dcl hour_pic picture "99"; 130 dcl minute_pic picture "99"; 131 132 /* include file */ 133 1 1 /* BEGIN INCLUDE FILE cds_args.incl.pl1 */ 1 2 1 3 dcl 1 cds_args based aligned, 1 4 2 sections (2), 1 5 3 p ptr, /* pointer to data for text/static section */ 1 6 3 len fixed bin (18), /* size of text/static section */ 1 7 3 struct_name char (32), /* name of declared structure for this section */ 1 8 2 seg_name char (32), /* name to create segment by */ 1 9 2 num_exclude_names fixed bin, /* number of names in exclude array */ 1 10 2 exclude_array_ptr ptr, /* pointer to array of exclude names */ 1 11 2 switches, /* control switches */ 1 12 3 defs_in_link bit (1) unal, /* says put defs in linkage */ 1 13 3 separate_static bit (1) unal, /* says separate static section is wanted */ 1 14 3 have_text bit (1) unal, /* ON if text section given */ 1 15 3 have_static bit (1) unal, /* ON if static section given */ 1 16 3 pad bit (32) unal; 1 17 1 18 dcl exclude_names (1) char (32) based; /* pointed to be cds_args.exclude_array_ptr */ 1 19 1 20 /* END INCLUDE FILE cds_args.incl.pl1 */ 134 135 136 /* on unit */ 137 138 on stringsize 139 begin; 140 call com_err_ (0, my_name, "Stringsize raised."); 141 signal error; 142 end; 143 144 /* program */ 145 146 /* Read system clock and convert to calendar date-time */ 147 148 clock_reading = clock (); 149 call decode_clock_value_$date_time (clock_reading, month, day_of_month, year, hour, minute, second, microsecond, 150 day_of_week, time_zone, code); 151 152 if code ^= 0 153 then do; 154 call com_err_ (code, my_name); 155 return; 156 end; 157 158 year_pic = year; 159 day_of_month_pic = day_of_month; 160 161 /* Generate a pl1_version_string appropriate for an EXL or SSS compiler */ 162 163 if RELEASE ^= "" 164 then pl1_version_string = 165 "Multics PL/I Compiler, Release " || RELEASE || ", of " || month_string (month) || " " 166 || ltrim (day_of_month_pic) || ", " || year_pic; 167 else do; 168 hour_pic = hour; 169 minute_pic = minute; 170 pl1_version_string = 171 "PL/I Compiler of " || day_of_week_string (day_of_week) || ", " 172 || month_string (month) || " " || ltrim (day_of_month_pic) || ", " || year_pic || " at " 173 || hour_pic || ":" || minute_pic; 174 end; 175 176 /* Let user know what version string has been generated */ 177 178 call ioa_ ("^a: pl1_version_=""^a"".", my_name, pl1_version_string); 179 180 /* Fill in pl1_version_struc with version and release info */ 181 182 unspec (pl1_version_struc) = ""b; 183 pl1_version_struc.pl1_version = pl1_version_string; 184 pl1_version_struc.pl1_release = RELEASE; 185 186 /* Fill in cdsa for call to create_data_segment_ */ 187 188 unspec (cdsa) = "0"b; 189 cdsa.have_text = "1"b; /* Place pl1_version info in text section */ 190 cdsa.sections (1).p = addr (pl1_version_struc); 191 cdsa.sections (1).len = size (pl1_version_struc); 192 cdsa.sections (1).struct_name = "pl1_version_struc"; 193 cdsa.seg_name = my_name; 194 195 call create_data_segment_ (addr (cdsa), code); 196 if code ^= 0 197 then call com_err_ (code, my_name, "Creating ^a data segment.", my_name); 198 199 end pl1_version; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/06/92 0040.7 !BBBJdMkCwJJLMz.pl1 >spec>inst>1023>pl1_version.cds 134 1 04/01/76 2309.5 cds_args.incl.pl1 >ldd>incl>cds_args.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. RELEASE 000114 automatic varying char(3) initial dcl 114 set ref 114* 163 163 184 addr builtin function dcl 93 ref 190 195 195 cds_args based structure level 1 dcl 1-3 cdsa 000234 automatic structure level 1 dcl 122 set ref 188* 195 195 clock builtin function dcl 93 ref 148 clock_reading 000116 automatic fixed bin(71,0) dcl 115 set ref 148* 149* code 000233 automatic fixed bin(35,0) dcl 121 set ref 149* 152 154* 195* 196 196* com_err_ 000016 constant entry external dcl 86 ref 140 154 196 create_data_segment_ 000012 constant entry external dcl 83 ref 195 day_of_month 000123 automatic fixed bin(17,0) dcl 117 set ref 149* 159 day_of_month_pic 000405 automatic picture(2) packed unaligned dcl 128 set ref 159* 163 170 day_of_week 000125 automatic fixed bin(17,0) dcl 117 set ref 149* 170 day_of_week_string 000063 constant varying char(9) initial array dcl 98 ref 170 decode_clock_value_$date_time 000020 constant entry external dcl 87 ref 149 error 000106 stack reference condition dcl 107 ref 141 have_text 44(02) 000234 automatic bit(1) level 3 packed packed unaligned dcl 122 set ref 189* hour 000126 automatic fixed bin(17,0) dcl 117 set ref 149* 168 hour_pic 000406 automatic picture(2) packed unaligned dcl 129 set ref 168* 170 ioa_ 000014 constant entry external dcl 85 ref 178 len 2 000234 automatic fixed bin(18,0) array level 3 dcl 122 set ref 191* ltrim builtin function dcl 93 ref 163 170 microsecond 000120 automatic fixed bin(71,0) dcl 115 set ref 149* minute 000127 automatic fixed bin(17,0) dcl 117 set ref 149* 169 minute_pic 000407 automatic picture(2) packed unaligned dcl 130 set ref 169* 170 month 000122 automatic fixed bin(17,0) dcl 117 set ref 149* 163 170 month_string 000003 constant varying char(9) initial array dcl 100 ref 163 170 my_name 000000 constant char(11) initial packed unaligned dcl 103 set ref 140* 154* 178* 193 196* 196* p 000234 automatic pointer array level 3 dcl 122 set ref 190* pl1_release 101 000301 automatic varying char(3) level 2 dcl 124 set ref 184* pl1_version 000301 automatic varying char(256) level 2 dcl 124 set ref 183* pl1_version_string 000132 automatic varying char(256) dcl 120 set ref 163* 170* 178* 183 pl1_version_struc 000301 automatic structure level 1 unaligned dcl 124 set ref 182* 190 191 second 000130 automatic fixed bin(17,0) dcl 117 set ref 149* sections 000234 automatic structure array level 2 dcl 122 seg_name 30 000234 automatic char(32) level 2 dcl 122 set ref 193* size builtin function dcl 93 ref 191 stringsize 000100 stack reference condition dcl 107 ref 138 struct_name 3 000234 automatic char(32) array level 3 dcl 122 set ref 192* switches 44 000234 automatic structure level 2 dcl 122 time_zone 000131 automatic char(3) initial packed unaligned dcl 119 set ref 119* 149* unspec builtin function dcl 93 set ref 182* 188* year 000124 automatic fixed bin(17,0) dcl 117 set ref 149* 158 year_pic 000404 automatic picture(4) packed unaligned dcl 127 set ref 158* 163 170 NAME DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. exclude_names based char(32) array packed unaligned dcl 1-18 NAME DECLARED BY EXPLICIT CONTEXT. pl1_version 000217 constant entry external dcl 74 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1214 1236 1112 1224 Length 2552 1112 22 1300 101 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME pl1_version 314 external procedure is an external procedure. on unit on line 138 92 on unit STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME pl1_version 000114 RELEASE pl1_version 000116 clock_reading pl1_version 000120 microsecond pl1_version 000122 month pl1_version 000123 day_of_month pl1_version 000124 year pl1_version 000125 day_of_week pl1_version 000126 hour pl1_version 000127 minute pl1_version 000130 second pl1_version 000131 time_zone pl1_version 000132 pl1_version_string pl1_version 000233 code pl1_version 000234 cdsa pl1_version 000301 pl1_version_struc pl1_version 000404 year_pic pl1_version 000405 day_of_month_pic pl1_version 000406 hour_pic pl1_version 000407 minute_pic pl1_version THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out return_mac signal_op enable_op shorten_stack ext_entry int_entry signal_stringsize clock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ create_data_segment_ decode_clock_value_$date_time ioa_ NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 74 000216 114 000224 119 000230 138 000232 140 000246 141 000275 142 000300 148 000301 149 000303 152 000336 154 000340 155 000355 158 000356 159 000367 163 000401 167 000536 168 000537 169 000551 170 000563 174 000756 178 000757 182 001003 183 001006 184 001013 188 001020 189 001023 190 001025 191 001027 192 001031 193 001034 195 001037 196 001052 199 001103 Object Segment >spec>inst>1023>pl1_version Created on 10/06/92 0040.7 mdt Tue by Schroth.SysMaint.a using create_data_segment_, Version II of Friday, May 18, 1990 Object Text Defs Link Symb Static Start 0 0 104 140 150 150 Length 313 104 34 10 127 0 4 Definitions: segname: pl1_version text|101 pl1_release text|0 pl1_version symb|0 symbol_table No Links. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved