more cleanup

This commit is contained in:
Ash Wolf
2023-01-15 21:50:41 +00:00
parent 35d488e972
commit a231f5dbb9
35 changed files with 1948 additions and 422 deletions

View File

@@ -5,118 +5,218 @@
#include "pref_structs.h"
enum {
// "Could not get current working directory"
CLStr1 = 1,
// "Cannot find my executable '%s'"
CLStr2 = 2,
// "Could not initialize plugin '%s'"
CLStr3 = 3,
// "The %s '%s' requires functionality not present in the command-line driver."
CLStr4 = 4,
// "The command-line parser does not support these panels:"
CLStr5 = 5,
// "\t%s\n"
CLStr6 = 6,
// "Compiling function: '%s'"
CLStr7 = 7,
// "Could not write file '%s'"
CLStr8 = 8,
// "Could not write file '%s' in directory '%s'"
CLStr9 = 9,
// "Write error on output (errno=%ld)"
CLStr10 = 10,
// "Current working directory is too long"
CLStr11 = 11,
// "Unknown filetype '%c%c%c%c', defaulting to '%s'"
CLStr12 = 12,
// "%s:\ttype %s"
CLStr13 = 13,
// "Storing output for '%s' in '%s'"
CLStr14 = 14,
// "Writing text file '%s'"
CLStr15 = 15,
// "Writing %sobject file '%s'"
CLStr16 = 16,
// "Writing browse data '%s'"
CLStr17 = 17,
// "Could not write %s '%s' (error %ld)"
CLStr18 = 18,
// "Deleting temporary file '%s'"
CLStr19 = 19,
// "Could not resolve alias for '%s' (error %ld)"
CLStr20 = 20,
// "%s:\t'%s'%s"
CLStr21 = 21,
// "File '%s' has browse fileID %d"
CLStr22 = 22,
// "Can't locate directory '%s'"
CLStr23 = 23,
// " %8.2f seconds to %s %s%s%s"
CLStr24 = 24,
// " %8d lines compiled"
CLStr25 = 25,
// " %8d %s code\n %8d %s init'd data\n %8d %s uninit'd data"
CLStr26 = 26,
// " %8d total %s code\n %8d total %s init'd data\n %8d total %s uninit'd data"
CLStr27 = 27,
// "File '%s' is not compilable source, target object data, or command file; ignoring"
CLStr28 = 28,
// "All specified files were ignored"
CLStr29 = 29,
// "Compiling: '%s'"
CLStr30 = 30,
// "Compiling: '%s' with '%s'"
CLStr31 = 31,
// "Precompiling: '%s'"
CLStr32 = 32,
// "Precompiling: '%s' with '%s'"
CLStr33 = 33,
// "Preprocessing: '%s'"
CLStr34 = 34,
// "Preprocessing: '%s' with '%s'"
CLStr35 = 35,
// "Finding dependencies: '%s'"
CLStr36 = 36,
// "Finding dependencies: '%s' with '%s'"
CLStr37 = 37,
// "Importing: '%s'"
CLStr38 = 38,
// "Importing: '%s' with '%s'"
CLStr39 = 39,
// "Linking project"
CLStr40 = 40,
// "Linking project with '%s'"
CLStr41 = 41,
// "Pre-linking project"
CLStr42 = 42,
// "Pre-linking project with '%s'"
CLStr43 = 43,
// "Post-linking project"
CLStr44 = 44,
// "Post-linking project with '%s'"
CLStr45 = 45,
// "Disassembling: '%s'"
CLStr46 = 46,
// "Disassembling: '%s' with '%s'"
CLStr47 = 47,
// "Syntax checking: '%s'"
CLStr48 = 48,
// "Syntax checking: '%s' with '%s'"
CLStr49 = 49,
// "Getting target info from '%s'"
CLStr50 = 50,
// "Initializing '%s'"
CLStr51 = 51,
// "Terminating '%s'"
CLStr52 = 52,
// "'%s' cannot preprocess, skipping '%s'"
CLStr53 = 53,
// "'%s' cannot precompile, skipping '%s'"
CLStr54 = 54,
// "'%s' cannot generate code, skipping '%s'"
CLStr55 = 55,
// "'%s' has no object code to disassemble"
CLStr56 = 56,
// "'%s' cannot disassemble, skipping '%s'"
CLStr57 = 57,
// "Neither '%s' nor '%s' can disassemble, skipping '%s'"
CLStr58 = 58,
// "No precompiled header name given, '%s' assumed"
CLStr59 = 59,
// "Precompile target '%s' given on command line; source-specified name '%s' ignored"
CLStr60 = 60,
// "Writing precompiled %s file '%s'"
CLStr61 = 61,
// "Reading precompiled %s file '%s'"
CLStr62 = 62,
// "Cannot %s memory for %s"
CLStr63 = 63,
// "Files/directories must have length <= %ld characters;\n'%s' not accepted"
CLStr64 = 64,
// "Guessed linker name '%s' from compiler name '%s'"
CLStr65 = 65,
// "Can't find %s '%s' in path"
CLStr66 = 66,
// "Calling %s '%s'"
CLStr67 = 67,
// "Can't execute %s '%s' (%s)"
CLStr68 = 68,
// "%s '%s' returned with exit code %d"
CLStr69 = 69,
// "Too many errors printed, aborting program"
CLStr70 = 70,
// "Too many errors printed, suppressing errors for current file"
CLStr71 = 71,
// "Too many warnings printed, suppressing warnings for current file"
CLStr72 = 72,
// "No %s mapping matches '%s' (unrecognized file contents or filename extension); %s"
CLStr73 = 73,
// "No plugin or target matches the file '%s', ignoring"
CLStr74 = 74,
// "File '%s' cannot be handled by this tool, ignoring"
CLStr75 = 75,
// "File '%s' does not match the active target"
CLStr76 = 76,
// "Adding%s:\t'%s'"
CLStr77 = 77,
// "Creating new overlay '%s' in group '%s'"
CLStr78 = 78,
// "Creating new overlay group '%s' at addr %08X:%08X"
CLStr79 = 79,
// "File '%s' cannot be added to overlay group; define an overlay in the group first"
CLStr80 = 80,
// "Cannot create virtual export file '%s' (from '-export name,...')"
CLStr81 = 81,
// "Too many %s defined; at most %d%s is allowed"
CLStr82 = 82,
// "Loading preference panel '%s'"
CLStr83 = 83,
// "%s:"
CLStr84 = 84,
// "\t%s%s"
CLStr85 = 85,
// "Already defined %s search path; '%s' added after other paths"
CLStr86 = 86,
// "License check failed: %s"
CLStr87 = 87,
// "The plugin '%s' (version '%s') cannot be used:\n%s"
CLStr88 = 88,
// "Plugin '%s' has already been registered"
CLStr89 = 89,
// "Preferences for '%s' have already been registered"
CLStr90 = 90,
// "Preferences for '%s' not found"
CLStr91 = 91,
// "Some preferences needed by the plugin '%s' have not been registered"
CLStr92 = 92,
// "Could not load file '%s'"
CLStr93 = 93,
// "Could not find change current working directory to '%s'"
CLStr94 = 94,
// "Out of memory"
CLStr95 = 95,
// "The tool did not produce any output while %s the file '%s'"
CLStr96 = 96,
// "The filename '%s' is invalid"
CLStr97 = 97,
// "The %slinker for this target was not found"
CLStr98 = 98,
// "%s\n%s (OS error %d)"
CLStr99 = 99,
// "%s\n%s (error %d)"
CLStr100 = 100,
// "Note: '%s' did not generate any browse information \nfor '%s'; no browser output generated"
CLStr101 = 101,
// "Source and specified output for the file '%s' are identical; no output will be generated"
CLStr102 = 102,
// "More than one output filename specified for '%s'; ignoring '%s'"
CLStr103 = 103,
// "Pref panel data for '%s' is out-of-date or invalid"
CLStr104 = 104,
// "Changing primary user access path to '%s'"
CLStr105 = 105,
// "The linker does not expect duplicate files; ignoring repeated '%s'"
CLStr106 = 106,
CLStr107 = 107,
CLStr108 = 108,
CLStr109 = 109,
CLStr110 = 110,
CLStr111 = 111,
CLStr112 = 112
};
#define DO_INTERNAL_ERROR(line, ...) CLInternalError(__FILE__, line, __VA_ARGS__)
@@ -654,6 +754,13 @@ extern int StoreObjectFile(File *file);
extern int CompileFilesInProject(void);
extern int LinkProject(void);
/********************************/
/* CLFileTypes.c */
extern void AddFileTypeMappingList(OSFileTypeMappings **list, const OSFileTypeMappingList *entry);
extern void UseFileTypeMappings(OSFileTypeMappings *list);
extern OSErr SetMacFileType(const FSSpec *spec, OSType mactype);
extern OSErr GetMacFileType(const FSSpec *spec, OSType *mactype);
/********************************/
/* CLIncludeFileCache.c */
extern void InitializeIncludeCache(void);
@@ -738,13 +845,6 @@ extern int ExecuteLinker(Plugin *plugin, SInt32 dropinflags, File *file, char *s
extern int WriteObjectFile(File *file, OSType maccreator, OSType mactype);
extern int WriteBrowseData(File *file, OSType maccreator, OSType mactype);
/********************************/
/* Unknown name - provisionally named uFileTypeMappings.c */
extern void AddFileTypeMappingList(OSFileTypeMappings **list, const OSFileTypeMappingList *entry);
extern void UseFileTypeMappings(OSFileTypeMappings *list);
extern OSErr SetMacFileType(const FSSpec *spec, OSType mactype);
extern OSErr GetMacFileType(const FSSpec *spec, OSType *mactype);
#ifdef __cplusplus
}
#endif

View File

@@ -1,256 +0,0 @@
#include "compiler/common.h"
// THESE TYPES ARE NOT YET SORTED
#include "compiler/tokens.h"
#include "compiler/CompilerTools.h"
#ifdef __MWERKS__
#pragma options align=mac68k
#endif
struct MemInitializer {
MemInitializer *next;
union {
ENodeList *nodes;
ENode *expr;
} e;
union {
ObjMemberVar *ivar;
Type *type;
} u;
Boolean is_ivar;
Boolean is_expr;
};
typedef enum DepNameType {
DNT_NAME,
DNT_CONVERSION,
DNT_DTOR,
DNT_NAMESPACE,
DNT_QUALNAME,
DNT_TEMPLATE,
DNT_TYPENAME
} DepNameType;
struct DepName {
DepName *next;
union {
HashNameNode *name;
NameSpace *nspace;
struct {
Type *type;
UInt32 qual;
} conv;
struct {
HashNameNode *name;
TemplArg *args;
} templ;
struct {
HashNameNode *name;
Type *type;
} tname;
} u;
DepNameType type;
};
typedef enum SubKind {
SUBKIND_NAMESPACE,
SUBKIND_TYPE,
SUBKIND_OBJECT
} SubKind;
typedef struct Substitution {
struct Substitution *next;
union {
NameSpace *nspace;
struct {
Type *type;
UInt32 qual;
} type;
Object *obj;
} u;
int id;
SubKind kind;
} Substitution;
// Registers.c
// RegisterInfo.c
// LOOSE DECLS
extern short high_offset;
extern short low_offset;
extern short high_reg;
extern short low_reg;
extern short high_reg2;
extern short low_reg2;
extern void PrecompilerRead(short refnum, void *buffer);
extern void PrecompilerWrite();
extern void CodeGen_InitCompiler();
extern void CodeGen_TermCompiler();
extern void CodeGen_InitBackEndOptions();
extern void CodeGen_UpdateOptimizerOptions();
extern void CodeGen_UpdateBackEndOptions();
extern void MWUnmangle(const char *name, char *buf, int size);
//extern COpts copts;
extern CParams *cparamblkptr;
extern FuncArg elipsis;
extern FuncArg oldstyle;
extern jmp_buf errorreturn;
extern Boolean cprep_nomem_exit;
extern Boolean anyerrors;
extern Boolean fatalerrors;
extern SInt32 lines;
extern char string[256];
extern TemplStack *ctempl_curinstance;
//extern ParserTryBlock *trychain;
extern Boolean in_assembler;
extern Boolean preprocessing_only;
extern void AssemblerError();
#include "compiler/types.h"
extern short tk;
extern HashNameNode *tkidentifier;
extern short lex();
extern short notendofline();
extern short lookahead();
extern Object *CClass_Constructor(TypeClass *tclass);
extern Object *CClass_Destructor(TypeClass *tclass);
extern int CClass_CheckPures(TypeClass *tclass);
extern Boolean CClass_IsConstructor(Object *func);
extern short CABI_GetStructResultArgumentIndex();
extern Boolean CParser_HasInternalLinkage(Object *obj);
extern HashNameNode *CParser_GetUniqueName();
extern SInt32 CParser_GetUniqueID();
extern Boolean CParserIsVolatileExpr(ENode *expr);
extern Boolean CParserIsConstExpr(ENode *expr);
extern Boolean CParser_IsPublicRuntimeObject(Object *obj);
extern Boolean CParser_ParseOperatorName(short *token, Boolean flag1, Boolean flag2);
extern Boolean CTemplTool_EqualArgs(TemplArg *a, TemplArg *b);
extern Boolean CTemplTool_IsTemplateArgumentDependentType(Type *type);
extern TypeTemplDep *CDecl_NewTemplDepType(TypeTemplDepType tdtype);
extern Type *CDecl_NewPointerType(Type *type);
extern Type *CDecl_NewStructType(SInt32 size, SInt32 align);
extern Type *CDecl_NewArrayType(Type *type, SInt32 num);
extern GList name_mangle_list;
extern void CPrep_UnLex();
extern Type *CTempl_ClassGetType(TypeClass *tclass);
//extern short is_typesame(Type *t1, Type *t2);
extern Boolean is_unsigned(Type *type);
extern void CDecl_CompleteType(Type *type);
extern TemplArg *CTempl_ParseUncheckTemplArgs(void *fixmelater, Boolean flag);
extern SInt32 CClass_VirtualBaseOffset(TypeClass *tclass, TypeClass *base);
extern Boolean CClass_IsMoreAccessiblePath(BClassList *a, BClassList *b);
extern Boolean CClass_ClassDominates(TypeClass *a, TypeClass *b);
extern Boolean CParser_CheckTemplateClassUsage(TemplClass *tmclass, Boolean flag);
extern Type *CTempl_ParseTemplTemplParam(Type *t);
extern void CClass_CheckPathAccess(BClassList *bcl, void *unk, AccessType access);
extern BClassList *CClass_GetPathCopy(BClassList *path, Boolean flag);
extern Object *CClass_ThisSelfObject();
extern AccessType global_access;
extern HashNameNode *this_name_node;
extern void CParser_Setup();
extern Boolean CParser_IsConst(Type *type, UInt32 qual);
extern void CParser_Cleanup();
extern void SetupPrecompiler(Boolean flag);
extern void CleanupPrecompiler();
extern void SetupAssembler();
extern void CleanupAssembler();
extern void ObjGen_Setup();
extern void ObjGen_Finish();
extern void ObjGen_Cleanup();
extern void ObjGen_CodeCleanup();
extern void ObjGen_DeclareFloatConst(Object *obj);
extern void ObjGen_DeclareVectorConst(Object *obj);
extern void ObjGen_DeclareCodeLabel(Object *labelobj, SInt32 offset, Object *funcobj);
extern Boolean ObjGen_IsExported(Object *obj);
extern void PointerAnalysis_Setup();
extern void PointerAnalysis_Cleanup();
extern Boolean CPrep_Preprocess();
extern void cparser();
extern void CBrowse_Setup(CParams *param);
extern void CBrowse_Finish(CParams *param);
extern void CBrowse_Cleanup(CParams *param);
extern UInt32 CParser_GetTypeQualifiers(Type *type, UInt32 qual);
extern void CTemplClass_RegisterUsingDecl(TemplClass *tclass, Type *target, AccessType access);
extern void CodeGen_InsertSpecialMacros();
extern void CPrep_PreprocessDumpFileInfo(Boolean flag);
extern void CPrep_PreprocessDumpNewLine();
extern Boolean gForceSourceLoc;
extern void ObjGen_SegmentName(); // might take an arg, not sure since it's empty
extern void ObjGen_SrcBreakName(HashNameNode *name, SInt32 modDate, Boolean flag);
extern char *precomp_target_str;
extern Object *CParser_ParseObject();
extern void PointerAnalysis_PragmaMode();
extern void CExcept_Terminate();
extern void CExcept_ArrayInit();
extern void CExcept_Magic();
extern void CSOM_PragmaReleaseOrder();
extern void CSOM_PragmaClassVersion();
extern void CSOM_PragmaMetaClass();
extern void CSOM_PragmaCallStyle();
extern short GetPrec(short t);
extern short localcount;
extern Boolean InlineAsm_gccmode;
extern void initialize_aliases();
extern Statement *current_statement;
extern int pclist_bad_operand;
extern int n_real_registers[];
extern short pic_base_reg;
extern Object pic_base;
extern ObjectList *exceptionlist;
extern ObjectList *arguments;
extern ObjectList *locals;
extern ObjectList *toclist;
extern Boolean uses_globals;
extern Boolean requires_frame;
extern void assign_locals_to_memory(ObjectList *locals);
extern PCodeLabel *pic_base_pcodelabel;
extern void *make_alias(Object *obj, SInt32 offset, SInt32 size);
extern Boolean is_volatile_object(Object *obj);
extern Boolean is_pascal_object(Object *obj);
extern Boolean local_is_16bit_offset(Object *obj);
extern Boolean can_add_displ_to_local(Object *obj, SInt32 displ);
extern int local_base_register(Object *obj);
extern int disable_optimizer;
extern Boolean IsTempName(HashNameNode *name);
extern void assign_local_memory(Object *obj);
extern void move_varargs_to_memory();
extern Type stvoid;
extern TypePointer void_ptr;
extern int countexceptionactionregisters(ExceptionAction *exc);
extern void noteexceptionactionregisters(ExceptionAction *exc, PCodeArg *);
extern void recordexceptionactions(PCode *pc, ExceptionAction *exc);
extern SInt32 functionbodyoffset;
extern Object *CParser_NewRTFunc(Type *returntype, HashNameNode *name, Boolean unkflag, int argcount, ...);
extern SInt32 curstmtvalue;
extern Object *__memcpy_object;
extern void CInit_RewriteString(ENode *expr, Boolean flag);
extern int is_intrinsic_function_call(ENode *expr);
extern SInt32 I8_log2n(SInt64 value);
extern void PPCError_Error(int code);
enum {
INTRINSIC_8 = 8,
INTRINSIC_35 = 35,
INTRINSIC_36 = 36
};
extern char *ScanFloat(char *input, double *output, Boolean *fail);
#ifdef __MWERKS__
#pragma options align=reset
#endif

View File

@@ -23,84 +23,161 @@ typedef struct {
} Pragma; // assumed name
enum {
CLPStr0 = 0,
// "Option missing"
CLPStr1 = 1,
// "Command-line argument '%.15s...%.15s' is much too long, maximum accepted length is %d characters"
CLPStr2 = 2,
// "Parameter for '%s' missing"
CLPStr3 = 3,
// "Numeric constant '%s' overflowed 32-bit range"
CLPStr4 = 4,
// "Invalid %sconstant '%s'"
CLPStr5 = 5,
// "Numeric constant %lu is out of the legal range %lu - %lu"
CLPStr6 = 6,
// "Numeric constant %lu is out of the legal range %lu - %lu; clipping to %lu"
CLPStr7 = 7,
// "Four-char type '%s' is too long, expected maximum four characters"
CLPStr8 = 8,
// "String constant '%.16s...%.16s' too long, expected maximum %ld characters"
CLPStr9 = 9,
// "Identifier '%s' cannot start with a digit"
CLPStr10 = 10,
// "Identifier '%s' cannot contain the character '%c'"
CLPStr11 = 11,
// "Expected 'on' or 'off', but got '%s'"
CLPStr12 = 12,
// "Filename or directory '...%32s' is too long, expected maximum %ld characters"
CLPStr13 = 13,
// "Directory '...%32s' combined with filename '...%32s' is too long, maximum path is %ld characters"
CLPStr14 = 14,
// "File '%s' does not exist"
CLPStr15 = 15,
// "'%s' is a directory or volume, filename expected"
CLPStr16 = 16,
// "'%s' does not refer to a directory"
CLPStr17 = 17,
// "File path '%s' not accepted\n(%s)"
CLPStr18 = 18,
// "Unknown option '%s'"
CLPStr19_UnknownOptionX = 19,
// "Unknown option '%s'; expected one of '%s'"
CLPStr20_UnknownOptionX_ExpectedOneOfX = 20,
// "Option is obsolete"
CLPStr21_OptionObsolete = 21,
// "Option is obsolete; %s"
CLPStr22_OptionObsoleteWithHelp = 22,
// "Option '%s' substituted with %s"
CLPStr23_OptionXSubstitutedWithX = 23,
// "Option deprecated; accepted this time"
CLPStr24_OptionDeprecated = 24,
// "Option deprecated, accepted this time; use '%s' instead"
CLPStr25_OptionDeprecatedWithHelp = 25,
// "Option ignored"
CLPStr26_OptionIgnored = 26,
// "Option ignored;\n%s"
CLPStr27_OptionIgnoredWithText = 27,
// "%s"
CLPStr28_WarningText = 28,
// "Option has no effect on this target"
CLPStr29_OptionHasNoEffect = 29,
// "Option should not be specified multiple times"
CLPStr30_OptionShouldNotBeSpecifiedMultipleTimes = 30,
// "Option overrides the effect of '%s'; only one of '%s' should be specified"
CLPStr31_OptionOverridesEffect = 31,
// "Option overrides the effect of '%s'; only one of '%s' should be specified;\n%s"
CLPStr32_OptionOverridesEffectWithHelp = 32,
// "No default handler set up for '%s', ignoring"
CLPStr33_NoDefaultHandlerSetUpForX_Ignoring = 33,
// "Argument(s) expected"
CLPStr34_ArgumentsExpected = 34,
// "Token '%s' not expected"
CLPStr35_TokenXNotExpected = 35,
// "Unexpected additional argument '%s'"
CLPStr36_UnexpectedAdditionalArgumentX = 36,
// "Encountered extraneous arguments"
CLPStr37 = 37,
// "No help available for option '%s'"
CLPStr38_NoHelpAvailableForOptionX = 38,
// "Empty (zero-length) argument not accepted"
CLPStr39 = 39,
// "Variable name missing"
CLPStr40 = 40,
// "Only one output filename allowed; '%s' not accepted"
CLPStr41 = 41,
// "Output filenames found without source; '%s' not accepted"
CLPStr42 = 42,
// "Multiple outputs expected, output is ambiguous; '%s' not accepted"
CLPStr43 = 43,
// "Specified file '%s' not found"
CLPStr44 = 44,
// "Specified directory '%s' not found"
CLPStr45 = 45,
// "'%s' is a filename, not a directory; not accepted"
CLPStr46 = 46,
// "'%s' is a directory, not a filename; not accepted"
CLPStr47 = 47,
// "Library search found shared library '%s' instead of export library '%s.LIB'"
CLPStr48 = 48,
// "No library file found matching 'lib%s{%s}' or '%s'"
CLPStr49 = 49,
// "Redudant use of '%c%s%s'; linker always searches library paths;\ntypically one finds, e.g., libXXX.a with '%c%sXXX'"
CLPStr50 = 50,
// "Empty filename in library list ignored"
CLPStr51 = 51,
// "Environment variable '%s' not found"
CLPStr52 = 52,
// "In environment variable '%s':"
CLPStr53 = 53,
// "Option name expected for 'opt'"
CLPStr54 = 54,
// "Token '%s' ignored"
CLPStr55 = 55,
// "Token '%s[...%s]' was truncated to %d characters"
CLPStr56 = 56,
// "Expected %s, but got %s"
CLPStr57 = 57,
// "No output expected from this process, ignoring output name '%s'"
CLPStr58 = 58,
// "Only one output directory allowed, '%s' not accepted"
CLPStr59 = 59,
// "Storing browse info for '%s' in '%s'"
CLPStr60 = 60,
// "All linker output will be created in the same directory; ignoring path for '%s'"
CLPStr61 = 61,
// "Option overrides previously specified optimizations"
CLPStr62 = 62,
// "Could not initialize command line parser"
CLPStr63 = 63,
// "Output filename '%s' is invalid"
CLPStr64 = 64,
// "Truncated output filename '%s' to %d characters"
CLPStr65 = 65,
// "Output directory '%s' cannot be found"
CLPStr66 = 66,
// "Cannot add access path '%s'"
CLPStr67 = 67,
// "Cannot set preferences for '%s'"
CLPStr68 = 68,
// "Some of the files specified could not be found; build aborted"
CLPStr69 = 69,
// "Nothing to do: no source or object files specified"
CLPStr70 = 70,
// "Contents of %s:"
CLPStr71 = 71,
// "Overlays not supported on this target"
CLPStr72 = 72,
// "Segments not supported on this target"
CLPStr73 = 73,
// "Cannot open %s file '%s'"
CLPStr74 = 74,
// ""
CLPStr75 = 75,
// "The file \"%s\" may be ignored unless it has one of the following\nextensions: \"%s\""
CLPStr76 = 76,
// "Not using non-text file '%s' as optional argument"
CLPStr77 = 77,
// "Cannot redirect stream to '%s' (%s)"
CLPStr78 = 78
};