|
|
1.1 ! root 1: (C) Copyright Microsoft Corporation, 1987 ! 2: Microsoft(R) C Optimizing Compiler Version 5.00 ! 3: ERRMSG.DOC ! 4: ! 5: This document describes added and changed error and warning messages for the ! 6: Microsoft C Optimizing Compiler, Version 5.0. The information contained in ! 7: this document is more up to date than that in the printed manuals. ! 8: ! 9: ! 10: Compiler and Run-Time Errors ! 11: ! 12: Deleted Messages ! 13: ---------------- ! 14: Error message C2049, warning message C4043, and run-time error R6004 are ! 15: no longer generated. ! 16: ! 17: Changed Messages ! 18: ---------------- ! 19: Error message C1013 has been changed to read as follows: ! 20: ! 21: C1013 cannot open source file 'filename' ! 22: ! 23: Error C2003 has been changed to read as follows: ! 24: ! 25: C2003 Expected 'defined id' ! 26: ! 27: Error message C2085 has been changed to read as follows: ! 28: ! 29: C2085 'identifier' : not in formal parameter list ! 30: ! 31: Error message C2095 has been changed to read as follows: ! 32: ! 33: C2095 function : actual has type void : parameter number ! 34: ! 35: An attempt was made to pass a void argument to a function. The ! 36: given number identifies which argument was in error. ! 37: Formal parameters and arguments to functions cannot have type void; ! 38: they can, however, have type "void *" (pointer to void). ! 39: ! 40: Warning message C4013 "constant too big" has been changed to error ! 41: message C2177. ! 42: ! 43: Warning message C4016 has been changed to read as follows: ! 44: ! 45: C4016 '<name>' : no function return type, using 'int' as ! 46: default ! 47: ! 48: Warning message C4079 has been changed to read as follows: ! 49: ! 50: C4079 unexpected token <token> ! 51: ! 52: New Messages ! 53: ------------ ! 54: In the following messages, the number in parentheses after a warning message ! 55: indicates the minimum warning level that must be set for the warning to appear: ! 56: ! 57: C1015 cannot open include file 'filename' ! 58: ! 59: The given include file either did not exist, could not be opened, ! 60: or was not found. Make sure your environment settings are valid and ! 61: that you have given the correct path name for the file. ! 62: ! 63: C1058: floating point expression too complex - would overflow NDP stack ! 64: ! 65: A floating-point expression was too complex for the compiler to handle, ! 66: as in the following example: ! 67: ! 68: double f(a, b, c, d, e, f, g, h, i, j) ! 69: double a, b, c, d, e, f, g, h, i, j; ! 70: { ! 71: return ( a / ( b / ( c / ( d / ( e / ( f / ( g / ( h / ! 72: ( i / j ) ) ) ) ) ) ) ) ); ! 73: } ! 74: ! 75: Try breaking up the expression that caused the error and recompiling. ! 76: ! 77: C1062 error writing to preprocessor output file ! 78: ! 79: You compiled with the /P, /E, or /EP option to produce a preprocessor ! 80: output file, but not enough room was available to hold the file. ! 81: ! 82: C2164 '<function>' : intrinsic was not declared ! 83: ! 84: You did not declare the given function before using it in an intrinsic ! 85: pragma. This error appears only if you compile with the /Oi option. ! 86: ! 87: C2166 lval specifies 'const' object ! 88: ! 89: An attempt was made to modify an item declared with const type. ! 90: ! 91: C2172 <function> : actual is not a pointer : parameter <number> ! 92: ! 93: An attempt was made to pass a non-pointer argument to a function ! 94: that expected a pointer. The given number indicates which argument ! 95: was in error. ! 96: ! 97: C2173 <function> : actual is not a pointer : parameter <number> : ! 98: parameter list <number> ! 99: ! 100: An attempt was made to pass a non-pointer argument to a function that ! 101: expected a pointer. This error occurs in calls that return a pointer ! 102: to a function. The first number indicates which argument was in error; ! 103: the second number indicates which argument list contained the invalid ! 104: argument. ! 105: ! 106: C2174 <function> : actual has type void : parameter <number>, ! 107: parameter list <number> ! 108: ! 109: An attempt was made to pass a void argument to a function. ! 110: Formal parameters and arguments to functions cannot have type ! 111: void; they can, however, have type "void *" (pointer to void). ! 112: This error occurs in calls that return a pointer to ! 113: a function. The first number indicates which argument was in error; ! 114: the second number indicates which argument list contained the invalid ! 115: argument. ! 116: ! 117: C2178 '<name>' : storage class for same_seg variables must be 'extern' ! 118: ! 119: The given variable was specified in a same_seg pragma, but it was not ! 120: declared with extern storage class. ! 121: ! 122: C2179 '<name>' : was used in same_seg, but storage class is no ! 123: longer 'extern' ! 124: ! 125: The given variable was specified in a same_seg pragma, but it was ! 126: redeclared with a storage class other than extern, as in the following ! 127: example: ! 128: ! 129: extern int i,j; ! 130: #pragma same_seg(i,j) ! 131: int i; ! 132: ! 133: C2180 controlling expression has type 'void' ! 134: ! 135: The controlling expression in an if, while, for, or do statement ! 136: was a function with void return type. ! 137: ! 138: C2182 '<name>' : 'void' on variable ! 139: ! 140: The given variable was declared with the void keyword. The void ! 141: keyword can be used only in function declarations. ! 142: ! 143: C2183 <name> : 'interrupt' function must be 'far' ! 144: ! 145: The given interrupt function was implicitly or explicitly declared to be ! 146: near. You must declare the function without the near attribute, and if ! 147: you compile the program with the default (small) or compact memory ! 148: model, you must explicitly declare the function with the far attribute. ! 149: ! 150: C2184 <name> : 'interrupt' function cannot be 'pascal/fortran' ! 151: ! 152: The given interrupt function was declared with the FORTRAN/Pascal calling ! 153: convention, either because the fortran or pascal attribute was used in the ! 154: declaration or because the program was compiled with the /Gc option. ! 155: Functions declared with the interrupt attribute are required to use the C ! 156: calling conventions. Therefore, you must either declare the function without ! 157: the fortran or pascal attribute if you compile the program without the /Gc ! 158: option, or declare the function with the cdecl attribute if you compile ! 159: the program with the /Gc option. ! 160: ! 161: C4054 insufficient memory may affect optimization ! 162: ! 163: Not enough memory was available to perform all of the requested ! 164: optimizations. This message appears if available memory is ! 165: within 64K of the absolute minimum that will accommodate the ! 166: executable file. ! 167: ! 168: C4078 loss of debugging information caused by optimization ! 169: ! 170: Because of the requested optimization, the compiler could not generate ! 171: debugging information. ! 172: ! 173: C4088 '<function>' : pointer mismatch : parameter <number> ! 174: parameter list <number> ! 175: ! 176: The pointer argument in the given function call did not have the same type as ! 177: the pointer argument in the function prototype, as in the following example: ! 178: ! 179: int (*foo(int,int))(char *); ! 180: . ! 181: . ! 182: . ! 183: main() ! 184: { ! 185: int i; ! 186: ! 187: (*foo(10,20))(i);/* pointer mismatch : parameter 1, ! 188: parameter list 2. */ ! 189: } ! 190: ! 191: C4089 'function' : different types : parameter int parameter list int ! 192: ! 193: The argument in the given function call did not have the same type as ! 194: the argument in the function prototype. ! 195: ! 196: C4098 void function returning a value ! 197: ! 198: A function declared with void return type also returned a value, as ! 199: in the following example: ! 200: ! 201: void func() ! 202: { ! 203: . ! 204: . ! 205: . ! 206: return(10); ! 207: } ! 208: ! 209: C4100 '<name>' : unreferenced formal parameter ! 210: ! 211: The given formal parameter was never referenced in the body of the ! 212: function for which it was declared. (3) ! 213: ! 214: C4101 '<name>' : unreferenced local variable ! 215: ! 216: The given local variable was never used. (3) ! 217: ! 218: C4102 '<name>' : unreferenced label ! 219: ! 220: The given label was defined but never referenced. (3) ! 221: ! 222: C4103 '<name>' : function definition used as prototype ! 223: ! 224: A function definition appeared before its prototype in the program. (3) ! 225: ! 226: C4104 : '<identifier>' : near data in same_seg pragma, ignored ! 227: ! 228: The given near variable was specified in a same_seg pragma, as in ! 229: the following example: ! 230: ! 231: extern int near near_var; ! 232: extern int far far_var; ! 233: #pragma same_seg(near_var, far_var); ! 234: ! 235: In this example, the compiler ignores the specification of near_var; ! 236: consequently, it does not assume that near_var and far_var reside ! 237: in the same data segment. ! 238: ! 239: C4105 <name> : 'interrupt' must be function/pointer to function ! 240: ! 241: The interrupt attribute was used to declare something other than a function ! 242: or function pointer. ! 243: ! 244: C4185 near call to <function> in different segment ! 245: ! 246: You specified the given function in an alloc_text pragma without declaring it ! 247: to be far, then called this function from another text segment, as in the ! 248: following example: ! 249: ! 250: int f(); ! 251: #pragma alloc_text(NEW, f) ! 252: main() ! 253: { ! 254: f(); ! 255: } ! 256: ! 257: f() ! 258: { ! 259: } ! 260: ! 261: In this example, the main function (in default text segment) makes a near call ! 262: to the f function (in the text segment NEW). The error generated is ! 263: ! 264: C4185: near call to _f in different segment ! 265: ! 266: Although this is a warning message rather than an error message, THE RESULTING ! 267: CODE WILL NOT WORK CORRECTLY. ! 268: ! 269: Note that if you compile with stack checking enabled (the default), you would ! 270: also get the following error message for the f function: ! 271: ! 272: C4185: near call to __chkstk in different segment ! 273: ! 274: ! 275: LINK Linker ! 276: ! 277: Changed Messages ! 278: ---------------- ! 279: The explanation for fatal-error message L1008 is changed as follows: ! 280: ! 281: The /SEGMENTS option specified a limit greater than 3072 on the ! 282: number of segments allowed. ! 283: ! 284: Error message L1009 has been changed to read as follows: ! 285: ! 286: L1009 <number> : CPARMAXALLOC : illegal value ! 287: ! 288: Error message L1053 has been changed to read as follows: ! 289: ! 290: L1053 out of memory for symbol table ! 291: ! 292: The program had more symbolic information (such as public, external, ! 293: segment, group, class, and file names) than the amount that could fit ! 294: in available real memory. ! 295: ! 296: Try freeing memory by linking from the DOS command level instead of ! 297: from a MAKE file or from an editor. Otherwise, combine modules or ! 298: segments and try to eliminate as many public symbols as possible. ! 299: ! 300: Fatal error L1123 has been removed. ! 301: ! 302: Warning message L4050 has been changed as follows: ! 303: ! 304: L4050 too many public symbols for sorting ! 305: ! 306: The linker uses the stack and all available memory in the ! 307: near heap to sort public symbols for the /MAP option. If ! 308: the number of public symbols exceeds the space available ! 309: for them, this warning is issued and the symbols are not ! 310: sorted in the map file but listed in arbitrary order. ! 311: ! 312: New Messages ! 313: ------------ ! 314: L1003 /QUICKLIB, /EXEPACK incompatible ! 315: ! 316: You cannot link with both the /QU option and the /E option. ! 317: ! 318: L1115 /QUICKLIB, overlays incompatible ! 319: ! 320: You specified overlays and used the /QUICKLIB option. ! 321: These cannot be used together. ! 322: ! 323: L2013 LIDATA record too large ! 324: ! 325: An LIDATA record contained more than 512 bytes. This is ! 326: probably a compiler error. ! 327: ! 328: L2041 stack plus data exceed 64K ! 329: ! 330: The total of near data and requested stack size exceeds 64K, ! 331: and the program will not run correctly. Reduce the stack size. ! 332: The linker only checks for this condition if /DOSSEG ! 333: is enabled, which is done automatically in the library ! 334: startup module. ! 335: ! 336: L2043 Quick Library support module missing ! 337: ! 338: When creating a Quick library, you did not link with the required ! 339: QUICKLIB.OBJ module. ! 340: ! 341: L2044 <name> : symbol multiply defined, use /NOE ! 342: ! 343: The linker found what it interprets as a public-symbol ! 344: redefinition, probably because you have redefined a symbol that ! 345: is defined in a library. Relink with the /NOEXTDICTIONARY ! 346: (/NOE) option. If error L2025 results for the same symbol, then you ! 347: have a genuine symbol-redefinition error. ! 348: ! 349: L4003 intersegment self-relative fixup at <offset> in segment <name> ! 350: pos: <offset> Record type: 9C target external '<name>' ! 351: ! 352: The linker found an intersegment self-relative fixup. This error ! 353: may be caused by compiling a small-model program with the /NT ! 354: option. ! 355: ! 356: L4034 more than 239 overlay segments; extra put in root ! 357: ! 358: Your program designated more than the limit of 239 segments to ! 359: go in overlays. Starting with the 234th segment, they are assigned to ! 360: the root (that is, the permanently resident portion of the program). ! 361: ! 362: Dynamic-Link-Specific Messages ! 363: ------------------------------ ! 364: ! 365: These messages are specific to linking OS/2 or Windows ! 366: applications and dynlink libraries. ! 367: ! 368: L1005 <option> : packing limit exceeds 65536 bytes ! 369: ! 370: The value specified following the /PACKCODE option ! 371: exceeds 65536, which is the limit. ! 372: ! 373: L1030 missing internal name ! 374: ! 375: You specified an IMPORT by ordinal in the definitions ! 376: file without including the internal name of the routine. ! 377: The name must be given if the import is by ordinal. ! 378: ! 379: L1031 module description redefined ! 380: ! 381: You specified a DESCRIPTION in the definitions file more ! 382: than once. Only one is allowed. ! 383: ! 384: L1032 module name redefined ! 385: ! 386: You specified the module name via a NAME or LIBRARY ! 387: statement more than once. Once is the limit. ! 388: ! 389: L1040 too many exported entries ! 390: ! 391: Your definitions file included more than 3072 exported ! 392: names. 3072 is the limit. ! 393: ! 394: L1041 resident-name table overflow ! 395: ! 396: The size of the resident name table exceeds 65,534 bytes. ! 397: An entry in the resident names table is made for each ! 398: EXPORT'ed routine designated RESIDENTNAME, and consists ! 399: of the name plus three bytes of information. The first ! 400: entry is the module name. Reduce the number of exported ! 401: routines or change some to nonresident. ! 402: ! 403: L1042 nonresident-name table overflow ! 404: ! 405: The size of the nonresident name table exceeds 65,534 ! 406: bytes. An entry in the nonresident names table is made ! 407: for each EXPORT'ed routine not designated RESIDENTNAME, ! 408: and consists of the name plus three bytes of information. ! 409: The first entry is the DESCRIPTION. Reduce the number of ! 410: exported routines or change some to resident. ! 411: ! 412: L1044 imported-name table overflow ! 413: ! 414: The size of the imported names table exceeds 65,534 ! 415: bytes. An entry in the imported names table is made for ! 416: each new name given in the IMPORTS section, including the ! 417: module names, and consists of the name plus one byte. ! 418: Reduce the number of imports. ! 419: ! 420: L1073 file-segment limit exceeded ! 421: ! 422: The number of physical or file segments exceeds 254 ! 423: which is the limit imposed by OS/2 protected mode and Windows ! 424: for each application or dynamic link library. A file segment ! 425: is created for each group definition, or for each logical ! 426: segment which is not packed, or each set of packed segments. ! 427: Reduce the number of segments, group more of them and ! 428: make sure /PACKCODE is enabled. ! 429: ! 430: L1074 <name> : group larger than 64K bytes ! 431: ! 432: The given group exceeds 65,536 bytes, which is the limit ! 433: because each group is assigned to a single physical segment. ! 434: Reduce the size of the group, or make sure no unwanted segments ! 435: are in the group (look at the map file). ! 436: ! 437: L1075 entry table larger than 65535 bytes ! 438: ! 439: The entry table exceeds the limit. An entry in this table ! 440: is created for each exported routine, and also for each ! 441: address which is the target of a far relocation and for which ! 442: one of the following conditions is true: ! 443: - the target segment is designated IOPL ! 444: - PROTMODE is not enabled and the target segment is ! 445: designated MOVABLE ! 446: Declare PROTMODE if applicable, or reduce the number of ! 447: exported routines, or make some segments FIXED or NOIOPL ! 448: if possible. ! 449: ! 450: L1082 stub .EXE file not found ! 451: ! 452: The linker could not open the file given in the STUB ! 453: statement in the definitions file. ! 454: ! 455: L1092 cannot open module definitions file ! 456: ! 457: The linker could not open the definitions file specified ! 458: on the command line or response file. ! 459: ! 460: L1100 stub .EXE file invalid ! 461: ! 462: The file specified in the STUB statement is not a valid ! 463: DOS3 (OS/2 realmode) executable file. ! 464: ! 465: L2000 imported starting address ! 466: ! 467: The program starting address as specified in the END ! 468: statement in a MASM file is an imported routine. This ! 469: is not supported in OS/2 or Windows. ! 470: ! 471: L2010 too many fixups in LIDATA record ! 472: ! 473: The number of far relocations (pointer- or base-type) in an ! 474: LIDATA record, which is typically produced by the DUP statement ! 475: in a .ASM file, exceeds the limit imposed by the linker. ! 476: The limit is dynamic: a 1024-byte buffer is shared by ! 477: relocations and the contents of the LIDATA record, and there ! 478: are eight bytes per relocation. Reduce the number of far ! 479: relocations in the DUP statement. ! 480: ! 481: L2022 <name1> (alias <internalname>) : export undefined ! 482: ! 483: The internal name of the given exported routine is undefined. ! 484: ! 485: L2023 <name1> (alias <internalname>) : export imported ! 486: ! 487: The internal name name of the given exported routine ! 488: conflicts with the internal name of a previously exported ! 489: routine. The set of imported and exported names must not ! 490: overlap. ! 491: ! 492: L2026 entry ordinal <number>, name <name> : multiple definitions for ! 493: same ordinal ! 494: ! 495: The given exported name with the given ordinal number ! 496: conflicted with a different exported name previously ! 497: assigned to the same ordinal. At most one name can be ! 498: associated with a particular ordinal. ! 499: ! 500: L2027 <name> : ordinal too large for export ! 501: ! 502: The given exported name was assigned an ordinal which ! 503: exceeded 3072, which is the limit. ! 504: ! 505: L2028 automatic data segment plus heap exceed 64K ! 506: ! 507: The total size of data declared in DGROUP plus the value ! 508: given in HEAPSIZE in the definitions file, plus the stack ! 509: size given by the /STACKSIZE option or or STACKSIZE definitions ! 510: file statement, exceeds 64K. Reduce near data allocation, ! 511: stack, or HEAPSIZE. ! 512: ! 513: L2030 starting address not code (use class 'CODE') ! 514: ! 515: The program starting address, as specified in the END ! 516: statement of a .ASM file, is not in a code segment (code ! 517: segments are recognized if their class name ends in 'CODE'). ! 518: This is an error in OS/2 protected mode; the error message may ! 519: be disabled by including the statement REALMODE in the definitions ! 520: file. ! 521: ! 522: L4000 seg disp. included near <offset> in segment <name> ! 523: ! 524: This is the warning generated by the /WARNFIXUP option. ! 525: Refer to documentation on that option. ! 526: ! 527: L4001 frame-relative fixup, frame ignored near <offset> in segment <name> ! 528: ! 529: A reference is made relative to a segment which is different ! 530: from the target segment of the reference. This does not make ! 531: sense in OS/2 protected mode or Windows. For example, if _foo ! 532: is defined in segment _TEXT, the instruction "call DGROUP:_foo" ! 533: will result in this warning. The frame DGROUP is ignored, so ! 534: the linker will treat the call as if it were "call _TEXT:_foo". ! 535: ! 536: L4002 frame-relative absolute fixup near %04x in segment %s ! 537: ! 538: A reference is made similar to the type described in ! 539: L4001, but both segments are absolute (defined with AT). ! 540: It is unclear what this means in OS/2 protected mode or ! 541: Windows; the linker treats it as if it were real mode. ! 542: ! 543: L4010 invalid alignment specification ! 544: ! 545: The number specified in the /ALIGNMENT option must be ! 546: a power of 2 in the range 2 to 32768, inclusive. ! 547: ! 548: L4011 PACKCODE value exceeding 65500 unreliable ! 549: ! 550: The packing limit specified with the /PACKCODE option ! 551: was between 65500 and 65536. Code segments with a size ! 552: in this range are unreliable on some steppings of the ! 553: 80286 processor. ! 554: ! 555: L4013 invalid option for new-format executable file ignored ! 556: ! 557: The options /CPARMAXALLOC, /DSALLOCATION, /NOGROUPASSOCIATION, ! 558: and currently /EXEPACK, as well as overlays, are disallowed for ! 559: OS/2 protected mode and Windows executables. ! 560: ! 561: L4014 invalid option for old-format executable file ignored ! 562: ! 563: The /ALIGNMENT option is invalid for DOS3 (OS/2 realmode) ! 564: executables. ! 565: ! 566: L4022 <group1>, <group2> : groups overlap ! 567: ! 568: The named groups overlap; since a group is assigned to ! 569: a physical segment, this is invalid for OS/2 protect mode ! 570: and Windows executables. Reorganize segments and group ! 571: definitions so the groups do not overlay; look at the map file. ! 572: ! 573: L4023 <name>(<internal name>) : export internal name conflict ! 574: ! 575: The internal name of the given exported routine conflicted ! 576: with internal name of a previous import or export definition. ! 577: ! 578: L4024 <name> : multiple definitions for export name ! 579: ! 580: The given name was exported more than once. ! 581: ! 582: L4025 <dynlib>.<import>(<name>) : import internal name conflict ! 583: ! 584: The internal name of the given imported routine (<import> is ! 585: either a name or a number) conflicted with the internal name ! 586: of a previous export or import. ! 587: ! 588: L4026 <dynlib>.<import>(<name>) : self-imported ! 589: ! 590: The given imported routine was imported from the module ! 591: being linked. This is not supported on some systems. ! 592: ! 593: L4027 <name> : multiple definitions for import internal-name ! 594: ! 595: The given internal name was imported more than once. ! 596: Previous import definitions are ignored. ! 597: ! 598: L4028 <name> : segment already defined ! 599: ! 600: The given segment was defined more than once in the ! 601: SEGMENTS statement of the definitions file. ! 602: ! 603: L4029 <name> : DGROUP segment converted to type data ! 604: ! 605: The given logical segment in the group DGROUP was defined ! 606: as a code segment. DGROUP has special meaning to the linker ! 607: as the automatic or default data segment and must be of type ! 608: data, so the linker converts the type of the named segment ! 609: to data. ! 610: ! 611: L4030 <name> : segment attributes changed to conform with ! 612: automatic data segment ! 613: ! 614: The given logical segment in the group DGROUP was given ! 615: sharing attributes (SHARED/NONSHARED) which differed from ! 616: the automatic data attributes as declared by ! 617: DATA INSTANCE/MULTIPLE. The attributes are converted to ! 618: conform to those of DGROUP. See note in L4029 about DGROUP. ! 619: ! 620: L4032 <name> : code-group size exceeds 65500 bytes ! 621: ! 622: The given code group has a size between 65500 and 65536, ! 623: which is unreliable on some steppings of the 80286 ! 624: processor. ! 625: ! 626: L4036 no automatic data segment ! 627: ! 628: The application did not define a group named "DGROUP". ! 629: DGROUP has special meaning to the linker which uses it to ! 630: identify the automatic or default data segment used by the ! 631: operating system. Most OS/2 protected mode and Windows ! 632: applications require DGROUP. This warning will not be issued ! 633: if "DATA NONE" is declared or if the executable is a ! 634: dynlink library. ! 635: ! 636: L4042 cannot open old version ! 637: ! 638: The file specified in the OLD statement in the definitions ! 639: file could not be opened. ! 640: ! 641: L4043 old version not segmented-executable format ! 642: ! 643: The file specified in the OLD statement in the definitions ! 644: file was not a valid OS/2 protected mode or Windows executable. ! 645: ! 646: L4046 module name different from output file name ! 647: ! 648: The name of the executable as specified in the NAME or ! 649: LIBRARY statement is different from the output file name. ! 650: This may cause problems; consult documentation for your ! 651: operating system. ! 652: ! 653: ! 654: ! 655: LIB Library-Maintenance Utility ! 656: ! 657: Changed Messages ! 658: ---------------- ! 659: Warning messages U4152, U4155, and U4157-U4159 for the Microsoft LIB Library ! 660: Manager are now nonfatal error messages U2152, U2155, and U2157-U2159, ! 661: respectively. ! 662: ! 663: Warning message U4151 has been changed to read as follows: ! 664: ! 665: U4151 '<name>' : symbol defined in module <name>, redefinition ignored ! 666: ! 667: New Messages ! 668: ------------ ! 669: The following new warning messages have been added for LIB: ! 670: ! 671: U4155 <modulename> : module not in library ! 672: ! 673: A module specified to be replaced does not already exist in the ! 674: library. LIB adds the module anyway. ! 675: ! 676: U4157 insufficient memory, extended dictionary not created ! 677: U4158 internal error, extended dictionary not created ! 678: ! 679: For the reason indicated, LIB could not create an extended ! 680: dictionary. The library is still valid, but the linker ! 681: will not be able to take advantage of of the extended dictionary ! 682: to speed linking. ! 683: ! 684: ! 685: MAKE Program-Maintenance Utility ! 686: ! 687: New Message ! 688: ----------- ! 689: U1015: <file> : error redirection failed ! 690: ! 691: This error occurs if the /X option is given and error output cannot ! 692: be redirected to the given file (for example, because the file ! 693: is read-only).
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.