/* Generated by Nim Compiler v1.3.5 */
/*   (c) 2020 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 64

/* section: NIM_merge_HEADERS */

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix

/* section: NIM_merge_FRAME_DEFINES */
#define nimfr_(x, y)
#define nimln_(x, y)

/* section: NIM_merge_FORWARD_TYPES */
typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;

/* section: NIM_merge_TYPES */
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
NI intSize;
NI floatSize;
NI ptrSize;
NimStringDesc* tnl;
};
typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
NI counter;
};
struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
NIM_BOOL trackPosAttached;
tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
NI32 systemFileIdx;
};
typedef NU8 tyEnum_TCommands__VH3ghgQVwLSg3krOAoXigw;
typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
NI counter;
};
typedef NU16 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
typedef NU8 tySet_tyEnum_TMsgKind__2KKSM6ZBSQgjWsy4q169bgA[9];
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
void* ClE_0;
} tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
void* ClE_0;
} tyProc__oL9coyIA2VDTGdUcur9aL9bew;
struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
NI linesCompiled;
tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
NI evalTemplateCounter;
NI evalMacroCounter;
NI8 exitcode;
tyEnum_TCommands__VH3ghgQVwLSg3krOAoXigw cmd;
tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
NI verbosity;
NI numberOfProcessors;
NimStringDesc* evalExpr;
NF lastCmdTime;
tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
NimStringDesc* headerFile;
tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
NimStringDesc* arguments;
tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
NIM_BOOL oldNewlines;
tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
tySet_tyEnum_TMsgKind__2KKSM6ZBSQgjWsy4q169bgA modifiedyNotes;
tySet_tyEnum_TMsgKind__2KKSM6ZBSQgjWsy4q169bgA cmdlineNotes;
tySet_tyEnum_TMsgKind__2KKSM6ZBSQgjWsy4q169bgA foreignPackageNotes;
tySet_tyEnum_TMsgKind__2KKSM6ZBSQgjWsy4q169bgA notes;
tySet_tyEnum_TMsgKind__2KKSM6ZBSQgjWsy4q169bgA warningAsErrors;
tySet_tyEnum_TMsgKind__2KKSM6ZBSQgjWsy4q169bgA mainPackageNotes;
NI mainPackageId;
NI errorCounter;
NI hintCounter;
NI warnCounter;
NI errorMax;
NI maxLoopIterationsVM;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
NimStringDesc* outFile;
NimStringDesc* outDir;
NimStringDesc* jsonBuildFile;
NimStringDesc* prefixDir;
NimStringDesc* libpath;
NimStringDesc* nimcacheDir;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
NimStringDesc* projectName;
NimStringDesc* projectPath;
NimStringDesc* projectFull;
NIM_BOOL projectIsStdin;
NIM_BOOL lastMsgWasDot;
NI32 projectMainIdx;
NI32 projectMainIdx2;
NimStringDesc* command;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
NimStringDesc* commandLine;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
NIM_BOOL keepComments;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
NimStringDesc* docSeeSrcUrl;
NimStringDesc* docRoot;
NimStringDesc* docCmd;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
NimStringDesc* linkOptionsCmd;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
NimStringDesc* linkOptions;
NimStringDesc* compileOptions;
NimStringDesc* cCompilerPath;
tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
NI suggestVersion;
NI suggestMaxResults;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
NimStringDesc* cppCustomNamespace;
tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
};
typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
typedef NU8 tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
typedef NU8 tyEnum_TCmdLinePass__IiBn9cB6WYIMDHOT44O82wA;
typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
NimStringDesc* Field0;
NI Field1;
NI Field2;
};
struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
NimStringDesc* Field1;
};
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
NimStringDesc* fullPath;
NimStringDesc* projPath;
NimStringDesc* shortName;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
NimStringDesc* dirtyFile;
NimStringDesc* hash;
NIM_BOOL dirty;
};
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
NI Field0;
NimStringDesc* Field1;
};
typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
NimStringDesc* nimname;
NimStringDesc* cname;
NimStringDesc* obj;
tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
};

/* section: NIM_merge_SEQ_TYPES */
struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
  TGenericSeq Sup;
  tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  TGenericSeq Sup;
  tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
};
struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
  TGenericSeq Sup;
  tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  TGenericSeq Sup;
  tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
  TGenericSeq Sup;
  tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
};

/* section: NIM_merge_PROC_HEADERS */
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuNormalize)(NimStringDesc* s);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_LIB_PRIVATE N_NIMCALL(NI, hashString)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, invalidCmdLineOption__gts4XaBLyIp5Ol3MuJOvVg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TCmdLinePass__IiBn9cB6WYIMDHOT44O82wA pass, NimStringDesc* switch_0, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__Q6JNH4uRwLyZrj0dJakHew)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addPrefix__uQmxTBj1ckq1MOOT9c5uRLA)(NimStringDesc* switch_0);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDynlibOverride__jYnZYpCgdCpukBZK9bxcw9bQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* lib);

/* section: NIM_merge_DATA */
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_2, "debuginfo", 9);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_3, "compileonly", 11);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_4, "c", 1);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_5, "nolinking", 9);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_6, "nomain", 6);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_7, "forcebuild", 10);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_8, "f", 1);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_9, "warnings", 8);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_10, "w", 1);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_11, "hints", 5);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_12, "threadanalysis", 14);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_13, "stacktrace", 10);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_14, "stacktracemsgs", 14);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_15, "linetrace", 9);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_16, "debugger", 8);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_17, "profiler", 8);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_18, "memtracker", 10);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_19, "checks", 6);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_20, "x", 1);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_21, "floatchecks", 11);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_22, "infchecks", 9);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_23, "nanchecks", 9);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_24, "nilchecks", 9);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_25, "objchecks", 9);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_26, "fieldchecks", 11);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_27, "rangechecks", 11);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_28, "boundchecks", 11);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_29, "refchecks", 9);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_30, "overflowchecks", 14);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_31, "staticboundchecks", 17);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_32, "stylechecks", 11);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_33, "linedir", 7);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_34, "assertions", 10);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_35, "a", 1);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_36, "run", 3);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_37, "r", 1);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_38, "symbolfiles", 11);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_39, "genscript", 9);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_40, "threads", 7);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_41, "taintmode", 9);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_42, "tlsemulation", 12);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_43, "implicitstatic", 14);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_44, "patterns", 8);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_45, "trmacros", 8);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_46, "excessivestacktrace", 19);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_47, "nilseqs", 7);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_48, " ", 1);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_49, "invalid command line option: \'$1\'", 33);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_50, "-", 1);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_52, "/home/runner/work/nim4py/nim4py/Nim/compiler/commands.nim", 57);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__brsa2DgNdQAKzy1F0pSZlA_51 = {((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_52),
((NI) 124),
((NI) 30)}
;
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_53, "--", 2);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__brsa2DgNdQAKzy1F0pSZlA_54 = {((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_52),
((NI) 125),
((NI) 18)}
;
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_55, "gc", 2);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_56, "opt", 3);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_57, "verbosity", 9);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_58, "app", 3);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_59, "dynliboverride", 14);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_60, "exceptions", 10);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_61, "boehm", 5);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_62, "refc", 4);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_63, "v2", 2);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_64, "markandsweep", 12);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_65, "generational", 12);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_66, "destructors", 11);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_67, "arc", 3);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_68, "orc", 3);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_69, "hooks", 5);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_70, "go", 2);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_71, "none", 4);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_72, "stack", 5);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_73, "regions", 7);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_74, "\'none\', \'boehm\' or \'refc\' expected, but \'$1\' found", 50);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__brsa2DgNdQAKzy1F0pSZlA_75 = {((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_52),
((NI) 252),
((NI) 20)}
;
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_76, "speed", 5);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_77, "size", 4);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_78, "\'none\', \'speed\' or \'size\' expected, but \'$1\' found", 50);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__brsa2DgNdQAKzy1F0pSZlA_79 = {((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_52),
((NI) 258),
((NI) 20)}
;
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_80, "gui", 3);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_81, "console", 7);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_82, "lib", 3);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_83, "staticlib", 9);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_84, "\'gui\', \'console\' or \'lib\' expected, but \'$1\' found", 50);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__brsa2DgNdQAKzy1F0pSZlA_85 = {((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_52),
((NI) 268),
((NI) 20)}
;
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_86, "cpp", 3);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_87, "setjmp", 6);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_88, "quirky", 6);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_89, "goto", 4);
STRING_LITERAL(TM__brsa2DgNdQAKzy1F0pSZlA_90, "\'goto\', \'setjump\', \'cpp\' or \'quirky\' expected, but \'$1\' found", 61);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__brsa2DgNdQAKzy1F0pSZlA_91 = {((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_52),
((NI) 277),
((NI) 20)}
;

/* section: NIM_merge_VARS */
extern NIM_BOOL nimInErrorMode__759bT87luu8XGcbkw13FUjA;

/* section: NIM_merge_PROCS */
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
	int result;
	result = (int)0;
	result = memcmp(a, b, ((size_t) (size)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem)(void* a, void* b, NI size) {
	NIM_BOOL result;
	int T1_;
	result = (NIM_BOOL)0;
	T1_ = (int)0;
	T1_ = nimCmpMem(a, b, size);
	result = (T1_ == ((NI32) 0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
	NIM_BOOL result;
	NI alen;
	NI blen;
{	result = (NIM_BOOL)0;
	alen = (a ? a->Sup.len : 0);
	blen = (b ? b->Sup.len : 0);
	{
		if (!(alen == blen)) goto LA3_;
		{
			if (!(alen == ((NI) 0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
		LA7_: ;
		result = equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		void* T5_;
		void* T6_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (void*)0;
		T5_ = ((void*) ((&(*dest).data[(*dest).Sup.len])));
		T6_ = (void*)0;
		T6_ = ((void*) ((*src).data));
		copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(T5_, T6_, ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addPrefix__uQmxTBj1ckq1MOOT9c5uRLA)(NimStringDesc* switch_0) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		NimStringDesc* T5_;
		if (!((switch_0 ? switch_0->Sup.len : 0) <= ((NI) 1))) goto LA3_;
		T5_ = (NimStringDesc*)0;
		T5_ = rawNewString((switch_0 ? switch_0->Sup.len : 0) + 1);
appendString(T5_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_50));
appendString(T5_, switch_0);
		result = T5_;
	}
	goto LA1_;
	LA3_: ;
	{
		NimStringDesc* T7_;
		T7_ = (NimStringDesc*)0;
		T7_ = rawNewString((switch_0 ? switch_0->Sup.len : 0) + 2);
appendString(T7_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_53));
appendString(T7_, switch_0);
		result = T7_;
	}
	LA1_: ;
	return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (NIM_BOOL*)0;
	result = (&nimInErrorMode__759bT87luu8XGcbkw13FUjA);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, invalidCmdLineOption__gts4XaBLyIp5Ol3MuJOvVg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TCmdLinePass__IiBn9cB6WYIMDHOT44O82wA pass, NimStringDesc* switch_0, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NimStringDesc* T5_;
		if (!eqStrings(switch_0, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_48))) goto LA3_;
		T5_ = (NimStringDesc*)0;
		T5_ = nsuFormatSingleElem(((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_49), ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_50));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		liMessage__Q6JNH4uRwLyZrj0dJakHew(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T5_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__brsa2DgNdQAKzy1F0pSZlA_51, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
	LA3_: ;
	{
		NimStringDesc* T7_;
		NimStringDesc* T8_;
		T7_ = (NimStringDesc*)0;
		T7_ = addPrefix__uQmxTBj1ckq1MOOT9c5uRLA(switch_0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T8_ = (NimStringDesc*)0;
		T8_ = nsuFormatSingleElem(((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_49), T7_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		liMessage__Q6JNH4uRwLyZrj0dJakHew(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T8_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__brsa2DgNdQAKzy1F0pSZlA_54, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, testCompileOption__9bbrBm0brnGO9cOW9coVJSCaQ)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* switch_0, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	NIM_BOOL result;
	NimStringDesc* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NimStringDesc*)0;
	T1_ = nsuNormalize(switch_0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	switch (hashString(T1_) & 63) {
	case 0: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_19))) goto LA16_;
break;
	case 2: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_23))) goto LA19_;
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_35))) goto LA30_;
break;
	case 3: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_15))) goto LA12_;
break;
	case 4: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_17))) goto LA14_;
break;
	case 6: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_30))) goto LA26_;
break;
	case 8: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_6))) goto LA5_;
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_12))) goto LA9_;
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_45))) goto LA38_;
break;
	case 12: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_34))) goto LA30_;
break;
	case 14: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_27))) goto LA23_;
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_44))) goto LA38_;
break;
	case 15: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_24))) goto LA20_;
break;
	case 17: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_46))) goto LA39_;
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_47))) goto LA40_;
break;
	case 20: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_41))) goto LA35_;
break;
	case 25: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_4))) goto LA3_;
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_9))) goto LA7_;
break;
	case 26: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_22))) goto LA18_;
break;
	case 30: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_38))) goto LA32_;
break;
	case 31: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_14))) goto LA11_;
break;
	case 32: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_10))) goto LA7_;
break;
	case 33: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_21))) goto LA17_;
break;
	case 34: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_37))) goto LA31_;
break;
	case 35: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_11))) goto LA8_;
break;
	case 37: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_20))) goto LA16_;
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_42))) goto LA36_;
break;
	case 41: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_29))) goto LA25_;
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_36))) goto LA31_;
break;
	case 43: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_43))) goto LA37_;
break;
	case 44: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_39))) goto LA33_;
break;
	case 45: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_5))) goto LA4_;
break;
	case 46: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_8))) goto LA6_;
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_40))) goto LA34_;
break;
	case 47: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_16))) goto LA13_;
break;
	case 51: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_13))) goto LA10_;
break;
	case 56: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_28))) goto LA24_;
break;
	case 58: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_7))) goto LA6_;
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_25))) goto LA21_;
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_32))) goto LA28_;
break;
	case 59: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_18))) goto LA15_;
break;
	case 60: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_3))) goto LA3_;
break;
	case 61: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_26))) goto LA22_;
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_31))) goto LA27_;
break;
	case 62: 
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_2))) goto LA2_;
if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_33))) goto LA29_;
break;
	}
	goto LA41_;
	LA2_: ;
	{
		result = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 6))&63U)))!=0);
	}
	goto LA42_;
	LA3_: ;
	{
		result = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 4))&63U)))!=0);
	}
	goto LA42_;
	LA4_: ;
	{
		result = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 5))&63U)))!=0);
	}
	goto LA42_;
	LA5_: ;
	{
		result = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 20))&63U)))!=0);
	}
	goto LA42_;
	LA6_: ;
	{
		result = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 1))&63U)))!=0);
	}
	goto LA42_;
	LA7_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 13))&31U)))!=0);
	}
	goto LA42_;
	LA8_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 14))&31U)))!=0);
	}
	goto LA42_;
	LA9_: ;
	{
		result = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 24))&63U)))!=0);
	}
	goto LA42_;
	LA10_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 17))&31U)))!=0);
	}
	goto LA42_;
	LA11_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 18))&31U)))!=0);
	}
	goto LA42_;
	LA12_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 19))&31U)))!=0);
	}
	goto LA42_;
	LA13_: ;
	{
		result = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 6))&63U)))!=0);
	}
	goto LA42_;
	LA14_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 21))&31U)))!=0);
	}
	goto LA42_;
	LA15_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 24))&31U)))!=0);
	}
	goto LA42_;
	LA16_: ;
	{
		result = (((*conf).options & 3518) == 3518);
	}
	goto LA42_;
	LA17_: ;
	{
		result = (((*conf).options & 384) == 384);
	}
	goto LA42_;
	LA18_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 8))&31U)))!=0);
	}
	goto LA42_;
	LA19_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 7))&31U)))!=0);
	}
	goto LA42_;
	LA20_: ;
	{
		result = NIM_FALSE;
	}
	goto LA42_;
	LA21_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 1))&31U)))!=0);
	}
	goto LA42_;
	LA22_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 2))&31U)))!=0);
	}
	goto LA42_;
	LA23_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 3))&31U)))!=0);
	}
	goto LA42_;
	LA24_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 4))&31U)))!=0);
	}
	goto LA42_;
	LA25_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 6))&31U)))!=0);
	}
	goto LA42_;
	LA26_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 5))&31U)))!=0);
	}
	goto LA42_;
	LA27_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 9))&31U)))!=0);
	}
	goto LA42_;
	LA28_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 10))&31U)))!=0);
	}
	goto LA42_;
	LA29_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0);
	}
	goto LA42_;
	LA30_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 11))&31U)))!=0);
	}
	goto LA42_;
	LA31_: ;
	{
		result = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 12))&63U)))!=0);
	}
	goto LA42_;
	LA32_: ;
	{
		result = !(((*conf).symbolFiles == ((tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ) 0)));
	}
	goto LA42_;
	LA33_: ;
	{
		result = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 10))&63U)))!=0);
	}
	goto LA42_;
	LA34_: ;
	{
		result = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 22))&63U)))!=0);
	}
	goto LA42_;
	LA35_: ;
	{
		result = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 25))&63U)))!=0);
	}
	goto LA42_;
	LA36_: ;
	{
		result = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 26))&63U)))!=0);
	}
	goto LA42_;
	LA37_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 22))&31U)))!=0);
	}
	goto LA42_;
	LA38_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 23))&31U)))!=0);
	}
	goto LA42_;
	LA39_: ;
	{
		result = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 31))&63U)))!=0);
	}
	goto LA42_;
	LA40_: ;
	{
		result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 25))&31U)))!=0);
	}
	goto LA42_;
	LA41_: ;
	{
		invalidCmdLineOption__gts4XaBLyIp5Ol3MuJOvVg(conf, ((tyEnum_TCmdLinePass__IiBn9cB6WYIMDHOT44O82wA) 0), switch_0, info);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	LA42_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, testCompileOptionArg__Wd9alT05EZZXVF7dib5G9cYg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* switch_0, NimStringDesc* arg, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	NIM_BOOL result;
	NimStringDesc* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NimStringDesc*)0;
	T1_ = nsuNormalize(switch_0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_55))) goto LA2_;
	if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_56))) goto LA3_;
	if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_57))) goto LA4_;
	if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_58))) goto LA5_;
	if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_59))) goto LA6_;
	if (eqStrings(T1_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_60))) goto LA7_;
	goto LA8_;
	LA2_: ;
	{
		NimStringDesc* T11_;
		T11_ = (NimStringDesc*)0;
		T11_ = nsuNormalize(arg);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		switch (hashString(T11_) & 15) {
		case 1: 
if (eqStrings(T11_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_61))) goto LA12_;
if (eqStrings(T11_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_66))) goto LA17_;
if (eqStrings(T11_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_71))) goto LA21_;
break;
		case 2: 
if (eqStrings(T11_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_65))) goto LA16_;
break;
		case 3: 
if (eqStrings(T11_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_72))) goto LA22_;
break;
		case 4: 
if (eqStrings(T11_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_73))) goto LA22_;
break;
		case 6: 
if (eqStrings(T11_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_69))) goto LA19_;
break;
		case 7: 
if (eqStrings(T11_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_70))) goto LA20_;
break;
		case 9: 
if (eqStrings(T11_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_68))) goto LA18_;
break;
		case 11: 
if (eqStrings(T11_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_63))) goto LA14_;
break;
		case 13: 
if (eqStrings(T11_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_67))) goto LA17_;
break;
		case 14: 
if (eqStrings(T11_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_62))) goto LA13_;
break;
		case 15: 
if (eqStrings(T11_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_64))) goto LA15_;
break;
		}
		goto LA23_;
		LA12_: ;
		{
			result = ((*conf).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 2));
		}
		goto LA24_;
		LA13_: ;
		{
			result = ((*conf).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 8));
		}
		goto LA24_;
		LA14_: ;
		{
			result = NIM_FALSE;
		}
		goto LA24_;
		LA15_: ;
		{
			result = ((*conf).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 4));
		}
		goto LA24_;
		LA16_: ;
		{
			result = NIM_FALSE;
		}
		goto LA24_;
		LA17_: ;
		{
			result = ((*conf).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 5));
		}
		goto LA24_;
		LA18_: ;
		{
			result = ((*conf).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 6));
		}
		goto LA24_;
		LA19_: ;
		{
			result = ((*conf).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 7));
		}
		goto LA24_;
		LA20_: ;
		{
			result = ((*conf).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 10));
		}
		goto LA24_;
		LA21_: ;
		{
			result = ((*conf).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 1));
		}
		goto LA24_;
		LA22_: ;
		{
			result = ((*conf).selectedGC == ((tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw) 3));
		}
		goto LA24_;
		LA23_: ;
		{
			NimStringDesc* T37_;
			T37_ = (NimStringDesc*)0;
			T37_ = nsuFormatSingleElem(((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_74), arg);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			liMessage__Q6JNH4uRwLyZrj0dJakHew(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T37_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__brsa2DgNdQAKzy1F0pSZlA_75, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA24_: ;
	}
	goto LA9_;
	LA3_: ;
	{
		NimStringDesc* T39_;
		T39_ = (NimStringDesc*)0;
		T39_ = nsuNormalize(arg);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (eqStrings(T39_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_76))) goto LA40_;
		if (eqStrings(T39_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_77))) goto LA41_;
		if (eqStrings(T39_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_71))) goto LA42_;
		goto LA43_;
		LA40_: ;
		{
			result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 15))&31U)))!=0);
		}
		goto LA44_;
		LA41_: ;
		{
			result = (((*conf).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 16))&31U)))!=0);
		}
		goto LA44_;
		LA42_: ;
		{
			result = (((*conf).options & 98304) == 0);
		}
		goto LA44_;
		LA43_: ;
		{
			NimStringDesc* T49_;
			T49_ = (NimStringDesc*)0;
			T49_ = nsuFormatSingleElem(((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_78), arg);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			liMessage__Q6JNH4uRwLyZrj0dJakHew(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T49_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__brsa2DgNdQAKzy1F0pSZlA_79, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA44_: ;
	}
	goto LA9_;
	LA4_: ;
	{
		NimStringDesc* T51_;
		T51_ = (NimStringDesc*)0;
		T51_ = nimIntToStr((*conf).verbosity);
		result = eqStrings(T51_, arg);
	}
	goto LA9_;
	LA5_: ;
	{
		NimStringDesc* T53_;
		T53_ = (NimStringDesc*)0;
		T53_ = nsuNormalize(arg);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (eqStrings(T53_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_80))) goto LA54_;
		if (eqStrings(T53_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_81))) goto LA55_;
		if (eqStrings(T53_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_82))) goto LA56_;
		if (eqStrings(T53_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_83))) goto LA57_;
		goto LA58_;
		LA54_: ;
		{
			result = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 9))&63U)))!=0);
		}
		goto LA59_;
		LA55_: ;
		{
			result = !((((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 9))&63U)))!=0));
		}
		goto LA59_;
		LA56_: ;
		{
			NIM_BOOL T63_;
			T63_ = (NIM_BOOL)0;
			T63_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 7))&63U)))!=0);
			if (!(T63_)) goto LA64_;
			T63_ = !((((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 9))&63U)))!=0));
			LA64_: ;
			result = T63_;
		}
		goto LA59_;
		LA57_: ;
		{
			NIM_BOOL T66_;
			T66_ = (NIM_BOOL)0;
			T66_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 8))&63U)))!=0);
			if (!(T66_)) goto LA67_;
			T66_ = !((((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 9))&63U)))!=0));
			LA67_: ;
			result = T66_;
		}
		goto LA59_;
		LA58_: ;
		{
			NimStringDesc* T69_;
			T69_ = (NimStringDesc*)0;
			T69_ = nsuFormatSingleElem(((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_84), arg);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			liMessage__Q6JNH4uRwLyZrj0dJakHew(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T69_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__brsa2DgNdQAKzy1F0pSZlA_85, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA59_: ;
	}
	goto LA9_;
	LA6_: ;
	{
		result = isDynlibOverride__jYnZYpCgdCpukBZK9bxcw9bQ(conf, arg);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA9_;
	LA7_: ;
	{
		NimStringDesc* T72_;
		T72_ = (NimStringDesc*)0;
		T72_ = nsuNormalize(arg);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (eqStrings(T72_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_86))) goto LA73_;
		if (eqStrings(T72_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_87))) goto LA74_;
		if (eqStrings(T72_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_88))) goto LA75_;
		if (eqStrings(T72_, ((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_89))) goto LA76_;
		goto LA77_;
		LA73_: ;
		{
			result = ((*conf).exc == ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 2));
		}
		goto LA78_;
		LA74_: ;
		{
			result = ((*conf).exc == ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 1));
		}
		goto LA78_;
		LA75_: ;
		{
			result = ((*conf).exc == ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 4));
		}
		goto LA78_;
		LA76_: ;
		{
			result = ((*conf).exc == ((tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ) 3));
		}
		goto LA78_;
		LA77_: ;
		{
			NimStringDesc* T84_;
			T84_ = (NimStringDesc*)0;
			T84_ = nsuFormatSingleElem(((NimStringDesc*) &TM__brsa2DgNdQAKzy1F0pSZlA_90), arg);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			liMessage__Q6JNH4uRwLyZrj0dJakHew(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T84_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__brsa2DgNdQAKzy1F0pSZlA_91, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA78_: ;
	}
	goto LA9_;
	LA8_: ;
	{
		invalidCmdLineOption__gts4XaBLyIp5Ol3MuJOvVg(conf, ((tyEnum_TCmdLinePass__IiBn9cB6WYIMDHOT44O82wA) 0), switch_0, info);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	LA9_: ;
	}BeforeRet_: ;
	return result;
}
