98556 lines
4.5 MiB
98556 lines
4.5 MiB
#define V_COMMIT_HASH "e9aca1256"
|
||
|
||
#ifndef V_COMMIT_HASH
|
||
#define V_COMMIT_HASH "460c2ee77"
|
||
#endif
|
||
|
||
#ifndef V_CURRENT_COMMIT_HASH
|
||
#define V_CURRENT_COMMIT_HASH "e9aca12"
|
||
#endif
|
||
|
||
#define V_USE_SIGNAL_H
|
||
|
||
// V comptime_definitions:
|
||
#define __VTHREADS__ (1)
|
||
#define _VAUTOFREE (0)
|
||
|
||
// V typedefs:
|
||
typedef struct IError IError;
|
||
typedef struct rand__PRNG rand__PRNG;
|
||
typedef struct hash__Hasher hash__Hasher;
|
||
typedef struct hash__Hash32er hash__Hash32er;
|
||
typedef struct hash__Hash64er hash__Hash64er;
|
||
typedef struct v__ast__walker__Visitor v__ast__walker__Visitor;
|
||
typedef struct none none;
|
||
typedef struct v__ast__TypeDecl v__ast__TypeDecl;
|
||
typedef struct v__ast__Expr v__ast__Expr;
|
||
typedef struct v__ast__Stmt v__ast__Stmt;
|
||
typedef struct v__ast__ScopeObject v__ast__ScopeObject;
|
||
typedef struct v__ast__Node v__ast__Node;
|
||
typedef struct v__ast__ComptTimeConstValue v__ast__ComptTimeConstValue;
|
||
typedef struct v__ast__IdentInfo v__ast__IdentInfo;
|
||
typedef struct v__ast__AsmArg v__ast__AsmArg;
|
||
typedef struct v__ast__TypeInfo v__ast__TypeInfo;
|
||
|
||
// BEGIN_multi_return_typedefs
|
||
typedef struct multi_return_u32_u32 multi_return_u32_u32;
|
||
typedef struct multi_return_u32_u32_u32 multi_return_u32_u32_u32;
|
||
typedef struct multi_return_strconv__ParserState_strconv__PrepNumber multi_return_strconv__ParserState_strconv__PrepNumber;
|
||
typedef struct multi_return_u64_int multi_return_u64_int;
|
||
typedef struct multi_return_strconv__Dec32_bool multi_return_strconv__Dec32_bool;
|
||
typedef struct multi_return_strconv__Dec64_bool multi_return_strconv__Dec64_bool;
|
||
typedef struct multi_return_string_int multi_return_string_int;
|
||
typedef struct multi_return_int_bool multi_return_int_bool;
|
||
typedef struct multi_return_int_int multi_return_int_int;
|
||
typedef struct multi_return_ref_v__pref__Preferences_string multi_return_ref_v__pref__Preferences_string;
|
||
typedef struct multi_return_string_string multi_return_string_string;
|
||
typedef struct multi_return_u64_u64 multi_return_u64_u64;
|
||
typedef struct multi_return_f64_int multi_return_f64_int;
|
||
typedef struct multi_return_f64_f64 multi_return_f64_f64;
|
||
typedef struct multi_return_int_int_int multi_return_int_int_int;
|
||
typedef struct multi_return_int_int_int_int_i64_bool multi_return_int_int_int_int_i64_bool;
|
||
typedef struct multi_return_Array_string_int multi_return_Array_string_int;
|
||
typedef struct multi_return_Array_string_v__vmod__ModFileAndFolder multi_return_Array_string_v__vmod__ModFileAndFolder;
|
||
typedef struct multi_return_string_bool multi_return_string_bool;
|
||
typedef struct multi_return_v__ast__Fn_Array_v__ast__Type multi_return_v__ast__Fn_Array_v__ast__Type;
|
||
typedef struct multi_return_v__ast__StructField_Array_v__ast__Type multi_return_v__ast__StructField_Array_v__ast__Type;
|
||
typedef struct multi_return_ref_v__ast__TypeSymbol_int multi_return_ref_v__ast__TypeSymbol_int;
|
||
typedef struct multi_return_bool_bool_int multi_return_bool_bool_int;
|
||
typedef struct multi_return_string_v__token__Pos multi_return_string_v__token__Pos;
|
||
typedef struct multi_return_bool_int_int multi_return_bool_int_int;
|
||
typedef struct multi_return_Array_v__ast__Param_bool_bool multi_return_Array_v__ast__Param_bool_bool;
|
||
typedef struct multi_return_Array_v__ast__Expr_Array_v__ast__Comment multi_return_Array_v__ast__Expr_Array_v__ast__Comment;
|
||
typedef struct multi_return_ref_v__ast__File_Array_v__vet__Error multi_return_ref_v__ast__File_Array_v__vet__Error;
|
||
typedef struct multi_return_Array_v__ast__Type_Array_string multi_return_Array_v__ast__Type_Array_string;
|
||
typedef struct multi_return_Map_string_v__ast__FnDecl_Map_string_v__ast__ConstField_Map_string_v__ast__GlobalField multi_return_Map_string_v__ast__FnDecl_Map_string_v__ast__ConstField_Map_string_v__ast__GlobalField;
|
||
typedef struct multi_return_bool_Array_string multi_return_bool_Array_string;
|
||
typedef struct multi_return_Array_string_Array_string_Array_string multi_return_Array_string_Array_string_Array_string;
|
||
typedef struct multi_return_string_string_string_string multi_return_string_string_string_string;
|
||
typedef struct multi_return_int_string_string_string multi_return_int_string_string_string;
|
||
typedef struct multi_return_Array_string_Array_string_Array_bool multi_return_Array_string_Array_string_Array_bool;
|
||
typedef struct multi_return_u64_string multi_return_u64_string;
|
||
// END_multi_return_typedefs
|
||
|
||
typedef struct strconv__BF_param strconv__BF_param;
|
||
typedef struct strconv__PrepNumber strconv__PrepNumber;
|
||
typedef struct strconv__Dec32 strconv__Dec32;
|
||
typedef struct strconv__Dec64 strconv__Dec64;
|
||
typedef struct strconv__Uint128 strconv__Uint128;
|
||
typedef union strconv__Uf32 strconv__Uf32;
|
||
typedef union strconv__Uf64 strconv__Uf64;
|
||
typedef union strconv__Float64u strconv__Float64u;
|
||
typedef union strconv__Float32u strconv__Float32u;
|
||
typedef struct array array;
|
||
typedef struct VCastTypeIndexName VCastTypeIndexName;
|
||
typedef struct VAssertMetaInfo VAssertMetaInfo;
|
||
typedef struct MethodArgs MethodArgs;
|
||
typedef struct FunctionData FunctionData;
|
||
typedef struct FieldData FieldData;
|
||
typedef struct StructAttribute StructAttribute;
|
||
typedef struct SymbolInfo SymbolInfo;
|
||
typedef struct SymbolInfoContainer SymbolInfoContainer;
|
||
typedef struct Line64 Line64;
|
||
typedef struct ExceptionRecord ExceptionRecord;
|
||
typedef struct ContextRecord ContextRecord;
|
||
typedef struct ExceptionPointers ExceptionPointers;
|
||
typedef struct DenseArray DenseArray;
|
||
typedef struct map map;
|
||
typedef struct Error Error;
|
||
typedef struct MessageError MessageError;
|
||
typedef struct None__ None__;
|
||
typedef struct Option Option;
|
||
typedef struct _option _option;
|
||
typedef struct _result _result;
|
||
typedef struct VMemoryBlock VMemoryBlock;
|
||
typedef struct SortedMap SortedMap;
|
||
typedef struct mapnode mapnode;
|
||
typedef struct string string;
|
||
typedef struct RepIndex RepIndex;
|
||
typedef union StrIntpMem StrIntpMem;
|
||
typedef struct StrIntpCgenData StrIntpCgenData;
|
||
typedef struct StrIntpData StrIntpData;
|
||
typedef struct strings__textscanner__TextScanner strings__textscanner__TextScanner;
|
||
typedef struct v__token__KeywordsMatcher v__token__KeywordsMatcher;
|
||
typedef struct v__token__WIndex v__token__WIndex;
|
||
typedef struct v__token__Pos v__token__Pos;
|
||
typedef struct v__token__Token v__token__Token;
|
||
typedef struct time__TimeParseError time__TimeParseError;
|
||
typedef struct time__StopWatchOptions time__StopWatchOptions;
|
||
typedef struct time__StopWatch time__StopWatch;
|
||
typedef struct time__Time time__Time;
|
||
typedef struct time__SystemTime time__SystemTime;
|
||
typedef struct v__dotgraph__DotGraph v__dotgraph__DotGraph;
|
||
typedef struct v__dotgraph__NewNodeConfig v__dotgraph__NewNodeConfig;
|
||
typedef struct v__dotgraph__NewEdgeConfig v__dotgraph__NewEdgeConfig;
|
||
typedef struct rand__buffer__PRNGBuffer rand__buffer__PRNGBuffer;
|
||
typedef struct flag__Flag flag__Flag;
|
||
typedef struct flag__UnkownFlagError flag__UnkownFlagError;
|
||
typedef struct flag__ArgsCountError flag__ArgsCountError;
|
||
typedef struct flag__FlagParser flag__FlagParser;
|
||
typedef struct semver__RawVersion semver__RawVersion;
|
||
typedef struct semver__Comparator semver__Comparator;
|
||
typedef struct semver__ComparatorSet semver__ComparatorSet;
|
||
typedef struct semver__Range semver__Range;
|
||
typedef struct semver__InvalidComparatorFormatError semver__InvalidComparatorFormatError;
|
||
typedef struct semver__Version semver__Version;
|
||
typedef struct semver__EmptyInputError semver__EmptyInputError;
|
||
typedef struct semver__InvalidVersionFormatError semver__InvalidVersionFormatError;
|
||
typedef struct os__File os__File;
|
||
typedef struct os__FileInfo os__FileInfo;
|
||
typedef struct os__FileNotOpenedError os__FileNotOpenedError;
|
||
typedef struct os__SizeOfTypeIs0Error os__SizeOfTypeIs0Error;
|
||
typedef struct os__FilePermission os__FilePermission;
|
||
typedef struct os__FileMode os__FileMode;
|
||
typedef struct os__Result os__Result;
|
||
typedef struct os__Command os__Command;
|
||
typedef struct os__ExecutableNotFoundError os__ExecutableNotFoundError;
|
||
typedef struct os__Uname os__Uname;
|
||
typedef struct os__Filetime os__Filetime;
|
||
typedef struct os__Win32finddata os__Win32finddata;
|
||
typedef struct os__ProcessInformation os__ProcessInformation;
|
||
typedef struct os__StartupInfo os__StartupInfo;
|
||
typedef struct os__SecurityAttributes os__SecurityAttributes;
|
||
typedef struct os__ExceptionRecord os__ExceptionRecord;
|
||
typedef struct os__ContextRecord os__ContextRecord;
|
||
typedef struct os__ExceptionPointers os__ExceptionPointers;
|
||
typedef struct os__Process os__Process;
|
||
typedef struct os__WProcess os__WProcess;
|
||
typedef struct v__errors__Error v__errors__Error;
|
||
typedef struct v__errors__Warning v__errors__Warning;
|
||
typedef struct v__errors__Notice v__errors__Notice;
|
||
typedef struct v__depgraph__DepGraphNode v__depgraph__DepGraphNode;
|
||
typedef struct v__depgraph__DepGraph v__depgraph__DepGraph;
|
||
typedef struct v__depgraph__OrderedDepMap v__depgraph__OrderedDepMap;
|
||
typedef struct v__depgraph__NodeNames v__depgraph__NodeNames;
|
||
typedef struct v__vet__Error v__vet__Error;
|
||
typedef struct term__Coord term__Coord;
|
||
typedef struct v__vcache__CacheManager v__vcache__CacheManager;
|
||
typedef struct v__vmod__Manifest v__vmod__Manifest;
|
||
typedef struct v__vmod__Scanner v__vmod__Scanner;
|
||
typedef struct v__vmod__Parser v__vmod__Parser;
|
||
typedef struct v__vmod__Token v__vmod__Token;
|
||
typedef struct v__vmod__ModFileAndFolder v__vmod__ModFileAndFolder;
|
||
typedef struct v__vmod__ModFileCacher v__vmod__ModFileCacher;
|
||
typedef struct v__cflag__CFlag v__cflag__CFlag;
|
||
typedef struct rand__config__PRNGConfigStruct rand__config__PRNGConfigStruct;
|
||
typedef struct rand__config__NormalConfigStruct rand__config__NormalConfigStruct;
|
||
typedef struct rand__config__ShuffleConfigStruct rand__config__ShuffleConfigStruct;
|
||
typedef struct rand__wyrand__WyRandRNG rand__wyrand__WyRandRNG;
|
||
typedef struct v__pkgconfig__Main v__pkgconfig__Main;
|
||
typedef struct v__pkgconfig__MainOptions v__pkgconfig__MainOptions;
|
||
typedef struct v__pkgconfig__Options v__pkgconfig__Options;
|
||
typedef struct v__pkgconfig__PkgConfig v__pkgconfig__PkgConfig;
|
||
typedef struct v__pref__Preferences v__pref__Preferences;
|
||
typedef struct sync__Subscription sync__Subscription;
|
||
typedef struct sync__Channel sync__Channel;
|
||
typedef struct sync__ManyTimes sync__ManyTimes;
|
||
typedef struct sync__Once sync__Once;
|
||
typedef struct sync__Mutex sync__Mutex;
|
||
typedef struct sync__RwMutex sync__RwMutex;
|
||
typedef struct sync__Semaphore sync__Semaphore;
|
||
typedef struct sync__WaitGroup sync__WaitGroup;
|
||
typedef struct v__util__EManager v__util__EManager;
|
||
typedef struct v__util__LinesCache v__util__LinesCache;
|
||
typedef struct v__util__Possibility v__util__Possibility;
|
||
typedef struct v__util__Suggestion v__util__Suggestion;
|
||
typedef struct v__util__Surrounder v__util__Surrounder;
|
||
typedef struct v__util__Timers v__util__Timers;
|
||
typedef struct v__util__TimerParams v__util__TimerParams;
|
||
typedef struct v__util__SourceCache v__util__SourceCache;
|
||
typedef struct sync__pool__PoolProcessor sync__pool__PoolProcessor;
|
||
typedef struct sync__pool__PoolProcessorConfig sync__pool__PoolProcessorConfig;
|
||
typedef struct v__ast__TypeNode v__ast__TypeNode;
|
||
typedef struct v__ast__ComptimeType v__ast__ComptimeType;
|
||
typedef struct v__ast__EmptyExpr v__ast__EmptyExpr;
|
||
typedef struct v__ast__EmptyStmt v__ast__EmptyStmt;
|
||
typedef struct v__ast__EmptyNode v__ast__EmptyNode;
|
||
typedef struct v__ast__Block v__ast__Block;
|
||
typedef struct v__ast__ExprStmt v__ast__ExprStmt;
|
||
typedef struct v__ast__IntegerLiteral v__ast__IntegerLiteral;
|
||
typedef struct v__ast__FloatLiteral v__ast__FloatLiteral;
|
||
typedef struct v__ast__StringLiteral v__ast__StringLiteral;
|
||
typedef struct v__ast__StringInterLiteral v__ast__StringInterLiteral;
|
||
typedef struct v__ast__CharLiteral v__ast__CharLiteral;
|
||
typedef struct v__ast__BoolLiteral v__ast__BoolLiteral;
|
||
typedef struct v__ast__SelectorExpr v__ast__SelectorExpr;
|
||
typedef struct v__ast__Module v__ast__Module;
|
||
typedef struct v__ast__StructField v__ast__StructField;
|
||
typedef struct v__ast__ConstField v__ast__ConstField;
|
||
typedef struct v__ast__ConstDecl v__ast__ConstDecl;
|
||
typedef struct v__ast__StructDecl v__ast__StructDecl;
|
||
typedef struct v__ast__Embed v__ast__Embed;
|
||
typedef struct v__ast__InterfaceEmbedding v__ast__InterfaceEmbedding;
|
||
typedef struct v__ast__InterfaceDecl v__ast__InterfaceDecl;
|
||
typedef struct v__ast__StructInitField v__ast__StructInitField;
|
||
typedef struct v__ast__StructInitEmbed v__ast__StructInitEmbed;
|
||
typedef struct v__ast__StructInit v__ast__StructInit;
|
||
typedef struct v__ast__Import v__ast__Import;
|
||
typedef struct v__ast__ImportSymbol v__ast__ImportSymbol;
|
||
typedef struct v__ast__AnonFn v__ast__AnonFn;
|
||
typedef struct v__ast__FnDecl v__ast__FnDecl;
|
||
typedef struct v__ast__BranchStmt v__ast__BranchStmt;
|
||
typedef struct v__ast__CallExpr v__ast__CallExpr;
|
||
typedef struct v__ast__CallArg v__ast__CallArg;
|
||
typedef struct v__ast__Return v__ast__Return;
|
||
typedef struct v__ast__Var v__ast__Var;
|
||
typedef struct v__ast__ScopeStructField v__ast__ScopeStructField;
|
||
typedef struct v__ast__GlobalField v__ast__GlobalField;
|
||
typedef struct v__ast__GlobalDecl v__ast__GlobalDecl;
|
||
typedef struct v__ast__EmbeddedFile v__ast__EmbeddedFile;
|
||
typedef struct v__ast__File v__ast__File;
|
||
typedef struct v__ast__IdentFn v__ast__IdentFn;
|
||
typedef struct v__ast__IdentVar v__ast__IdentVar;
|
||
typedef struct v__ast__Ident v__ast__Ident;
|
||
typedef struct v__ast__InfixExpr v__ast__InfixExpr;
|
||
typedef struct v__ast__PostfixExpr v__ast__PostfixExpr;
|
||
typedef struct v__ast__PrefixExpr v__ast__PrefixExpr;
|
||
typedef struct v__ast__IndexExpr v__ast__IndexExpr;
|
||
typedef struct v__ast__IfExpr v__ast__IfExpr;
|
||
typedef struct v__ast__IfBranch v__ast__IfBranch;
|
||
typedef struct v__ast__UnsafeExpr v__ast__UnsafeExpr;
|
||
typedef struct v__ast__LockExpr v__ast__LockExpr;
|
||
typedef struct v__ast__MatchExpr v__ast__MatchExpr;
|
||
typedef struct v__ast__MatchBranch v__ast__MatchBranch;
|
||
typedef struct v__ast__SelectExpr v__ast__SelectExpr;
|
||
typedef struct v__ast__SelectBranch v__ast__SelectBranch;
|
||
typedef struct v__ast__ComptimeFor v__ast__ComptimeFor;
|
||
typedef struct v__ast__ForStmt v__ast__ForStmt;
|
||
typedef struct v__ast__ForInStmt v__ast__ForInStmt;
|
||
typedef struct v__ast__ForCStmt v__ast__ForCStmt;
|
||
typedef struct v__ast__HashStmt v__ast__HashStmt;
|
||
typedef struct v__ast__AssignStmt v__ast__AssignStmt;
|
||
typedef struct v__ast__AsCast v__ast__AsCast;
|
||
typedef struct v__ast__EnumVal v__ast__EnumVal;
|
||
typedef struct v__ast__EnumField v__ast__EnumField;
|
||
typedef struct v__ast__EnumDecl v__ast__EnumDecl;
|
||
typedef struct v__ast__AliasTypeDecl v__ast__AliasTypeDecl;
|
||
typedef struct v__ast__SumTypeDecl v__ast__SumTypeDecl;
|
||
typedef struct v__ast__FnTypeDecl v__ast__FnTypeDecl;
|
||
typedef struct v__ast__DeferStmt v__ast__DeferStmt;
|
||
typedef struct v__ast__ParExpr v__ast__ParExpr;
|
||
typedef struct v__ast__GoExpr v__ast__GoExpr;
|
||
typedef struct v__ast__GotoLabel v__ast__GotoLabel;
|
||
typedef struct v__ast__GotoStmt v__ast__GotoStmt;
|
||
typedef struct v__ast__ArrayInit v__ast__ArrayInit;
|
||
typedef struct v__ast__ArrayDecompose v__ast__ArrayDecompose;
|
||
typedef struct v__ast__ChanInit v__ast__ChanInit;
|
||
typedef struct v__ast__MapInit v__ast__MapInit;
|
||
typedef struct v__ast__RangeExpr v__ast__RangeExpr;
|
||
typedef struct v__ast__CastExpr v__ast__CastExpr;
|
||
typedef struct v__ast__AsmStmt v__ast__AsmStmt;
|
||
typedef struct v__ast__AsmTemplate v__ast__AsmTemplate;
|
||
typedef struct v__ast__AsmRegister v__ast__AsmRegister;
|
||
typedef struct v__ast__AsmDisp v__ast__AsmDisp;
|
||
typedef struct v__ast__AsmAlias v__ast__AsmAlias;
|
||
typedef struct v__ast__AsmAddressing v__ast__AsmAddressing;
|
||
typedef struct v__ast__AsmClobbered v__ast__AsmClobbered;
|
||
typedef struct v__ast__AsmIO v__ast__AsmIO;
|
||
typedef struct v__ast__AssertStmt v__ast__AssertStmt;
|
||
typedef struct v__ast__IfGuardVar v__ast__IfGuardVar;
|
||
typedef struct v__ast__IfGuardExpr v__ast__IfGuardExpr;
|
||
typedef struct v__ast__OrExpr v__ast__OrExpr;
|
||
typedef struct v__ast__Assoc v__ast__Assoc;
|
||
typedef struct v__ast__SizeOf v__ast__SizeOf;
|
||
typedef struct v__ast__IsRefType v__ast__IsRefType;
|
||
typedef struct v__ast__OffsetOf v__ast__OffsetOf;
|
||
typedef struct v__ast__Likely v__ast__Likely;
|
||
typedef struct v__ast__TypeOf v__ast__TypeOf;
|
||
typedef struct v__ast__DumpExpr v__ast__DumpExpr;
|
||
typedef struct v__ast__Comment v__ast__Comment;
|
||
typedef struct v__ast__ConcatExpr v__ast__ConcatExpr;
|
||
typedef struct v__ast__AtExpr v__ast__AtExpr;
|
||
typedef struct v__ast__ComptimeSelector v__ast__ComptimeSelector;
|
||
typedef struct v__ast__ComptimeCall v__ast__ComptimeCall;
|
||
typedef struct v__ast__None v__ast__None;
|
||
typedef struct v__ast__SqlStmt v__ast__SqlStmt;
|
||
typedef struct v__ast__SqlStmtLine v__ast__SqlStmtLine;
|
||
typedef struct v__ast__SqlExpr v__ast__SqlExpr;
|
||
typedef struct v__ast__NodeError v__ast__NodeError;
|
||
typedef struct v__ast__CTempVar v__ast__CTempVar;
|
||
typedef struct v__ast__Attr v__ast__Attr;
|
||
typedef struct v__ast__Scope v__ast__Scope;
|
||
typedef struct v__ast__Table v__ast__Table;
|
||
typedef struct v__ast__Fn v__ast__Fn;
|
||
typedef struct v__ast__Param v__ast__Param;
|
||
typedef struct v__ast__GetEmbedsOptions v__ast__GetEmbedsOptions;
|
||
typedef struct v__ast__TypeSymbol v__ast__TypeSymbol;
|
||
typedef struct v__ast__MultiReturn v__ast__MultiReturn;
|
||
typedef struct v__ast__FnType v__ast__FnType;
|
||
typedef struct v__ast__Struct v__ast__Struct;
|
||
typedef struct v__ast__GenericInst v__ast__GenericInst;
|
||
typedef struct v__ast__Interface v__ast__Interface;
|
||
typedef struct v__ast__Enum v__ast__Enum;
|
||
typedef struct v__ast__Alias v__ast__Alias;
|
||
typedef struct v__ast__Aggregate v__ast__Aggregate;
|
||
typedef struct v__ast__Array v__ast__Array;
|
||
typedef struct v__ast__ArrayFixed v__ast__ArrayFixed;
|
||
typedef struct v__ast__Chan v__ast__Chan;
|
||
typedef struct v__ast__Thread v__ast__Thread;
|
||
typedef struct v__ast__Map v__ast__Map;
|
||
typedef struct v__ast__SumType v__ast__SumType;
|
||
typedef struct v__ast__FnSignatureOpts v__ast__FnSignatureOpts;
|
||
typedef struct v__checker__Checker v__checker__Checker;
|
||
typedef struct v__transformer__KeyVal v__transformer__KeyVal;
|
||
typedef struct v__transformer__IndexState v__transformer__IndexState;
|
||
typedef struct v__transformer__Transformer v__transformer__Transformer;
|
||
typedef struct v__markused__Walker v__markused__Walker;
|
||
typedef struct v__gen__c__UnsupportedAssertCtempTransform v__gen__c__UnsupportedAssertCtempTransform;
|
||
typedef struct v__gen__c__StrType v__gen__c__StrType;
|
||
typedef struct v__gen__c__Gen v__gen__c__Gen;
|
||
typedef struct v__gen__c__GlobalConstDef v__gen__c__GlobalConstDef;
|
||
typedef struct v__gen__c__SumtypeCastingFn v__gen__c__SumtypeCastingFn;
|
||
typedef struct v__gen__c__GenSafeIntegerCfg v__gen__c__GenSafeIntegerCfg;
|
||
typedef struct v__gen__c__ProfileCounterMeta v__gen__c__ProfileCounterMeta;
|
||
typedef struct v__gen__c__Type v__gen__c__Type;
|
||
typedef struct v__scanner__Scanner v__scanner__Scanner;
|
||
typedef struct v__ast__walker__Inspector v__ast__walker__Inspector;
|
||
typedef struct v__parser__ReceiverParsingInfo v__parser__ReceiverParsingInfo;
|
||
typedef struct v__parser__Parser v__parser__Parser;
|
||
typedef struct v__parser__EatCommentsConfig v__parser__EatCommentsConfig;
|
||
typedef struct v__callgraph__Mapper v__callgraph__Mapper;
|
||
typedef struct v__builder__Builder v__builder__Builder;
|
||
typedef struct v__builder__FunctionRedefinition v__builder__FunctionRedefinition;
|
||
typedef struct v__builder__CcompilerOptions v__builder__CcompilerOptions;
|
||
typedef struct v__builder__MsvcResult v__builder__MsvcResult;
|
||
typedef struct v__builder__WindowsKit v__builder__WindowsKit;
|
||
typedef struct v__builder__VsInstallation v__builder__VsInstallation;
|
||
typedef struct v__builder__MsvcStringFlags v__builder__MsvcStringFlags;
|
||
typedef struct _option_int _option_int;
|
||
typedef struct _option_f64 _option_f64;
|
||
typedef struct _option_u64 _option_u64;
|
||
typedef struct _option_i64 _option_i64;
|
||
typedef struct _option_rune _option_rune;
|
||
typedef struct _option_string _option_string;
|
||
typedef struct _option_u8 _option_u8;
|
||
typedef struct _option_voidptr _option_voidptr;
|
||
typedef struct _option_v__token__Kind _option_v__token__Kind;
|
||
typedef struct _option_time__Time _option_time__Time;
|
||
typedef struct _option_multi_return_int_int_int _option_multi_return_int_int_int;
|
||
typedef struct _option_multi_return_int_int_int_int_i64_bool _option_multi_return_int_int_int_int_i64_bool;
|
||
typedef struct _option_bool _option_bool;
|
||
typedef struct _option_void _option_void;
|
||
typedef struct _option_flag__Flag _option_flag__Flag;
|
||
typedef struct _option_Array_string _option_Array_string;
|
||
typedef struct _option_semver__Range _option_semver__Range;
|
||
typedef struct _option_semver__Version _option_semver__Version;
|
||
typedef struct _option_semver__ComparatorSet _option_semver__ComparatorSet;
|
||
typedef struct _option_semver__Comparator _option_semver__Comparator;
|
||
typedef struct _option_os__File _option_os__File;
|
||
typedef struct _option_FILE_ptr _option_FILE_ptr;
|
||
typedef struct _option_Array_u8 _option_Array_u8;
|
||
typedef struct _option_os__SignalHandler _option_os__SignalHandler;
|
||
typedef struct _option_term__Coord _option_term__Coord;
|
||
typedef struct _option_v__vmod__Manifest _option_v__vmod__Manifest;
|
||
typedef struct _option_multi_return_Array_string_int _option_multi_return_Array_string_int;
|
||
typedef struct _option_v__pkgconfig__PkgConfig_ptr _option_v__pkgconfig__PkgConfig_ptr;
|
||
typedef struct _option_v__pkgconfig__Main_ptr _option_v__pkgconfig__Main_ptr;
|
||
typedef struct _option_u32 _option_u32;
|
||
typedef struct _option_f32 _option_f32;
|
||
typedef struct _option_multi_return_f64_f64 _option_multi_return_f64_f64;
|
||
typedef struct _option_v__pref__OS _option_v__pref__OS;
|
||
typedef struct _option_v__pref__Arch _option_v__pref__Arch;
|
||
typedef struct _option_v__pref__Backend _option_v__pref__Backend;
|
||
typedef struct _option_time__StopWatch _option_time__StopWatch;
|
||
typedef struct _option_v__ast__Ident _option_v__ast__Ident;
|
||
typedef struct _option_v__ast__Attr _option_v__ast__Attr;
|
||
typedef struct _option_i8 _option_i8;
|
||
typedef struct _option_i16 _option_i16;
|
||
typedef struct _option_u16 _option_u16;
|
||
typedef struct _option_v__ast__ComptTimeConstValue _option_v__ast__ComptTimeConstValue;
|
||
typedef struct _option_v__ast__ScopeObject _option_v__ast__ScopeObject;
|
||
typedef struct _option_v__ast__ScopeStructField _option_v__ast__ScopeStructField;
|
||
typedef struct _option_v__ast__Var_ptr _option_v__ast__Var_ptr;
|
||
typedef struct _option_v__ast__GlobalField_ptr _option_v__ast__GlobalField_ptr;
|
||
typedef struct _option_v__ast__ConstField_ptr _option_v__ast__ConstField_ptr;
|
||
typedef struct _option_v__ast__Fn _option_v__ast__Fn;
|
||
typedef struct _option_multi_return_v__ast__Fn_Array_v__ast__Type _option_multi_return_v__ast__Fn_Array_v__ast__Type;
|
||
typedef struct _option_v__ast__StructField _option_v__ast__StructField;
|
||
typedef struct _option_multi_return_v__ast__StructField_Array_v__ast__Type _option_multi_return_v__ast__StructField_Array_v__ast__Type;
|
||
typedef struct _option_v__ast__TypeSymbol_ptr _option_v__ast__TypeSymbol_ptr;
|
||
typedef struct _option_Array_Array_v__ast__Type _option_Array_Array_v__ast__Type;
|
||
typedef struct _option_v__ast__Type _option_v__ast__Type;
|
||
typedef struct _option_v__ast__InterfaceDecl _option_v__ast__InterfaceDecl;
|
||
typedef struct _option_v__ast__EnumDecl _option_v__ast__EnumDecl;
|
||
typedef struct _option_v__ast__Expr _option_v__ast__Expr;
|
||
typedef struct _option_v__ast__Param _option_v__ast__Param;
|
||
typedef struct _option_Array_v__ast__Type _option_Array_v__ast__Type;
|
||
typedef struct _option_v__ast__ConstField _option_v__ast__ConstField;
|
||
typedef struct _option_v__ast__GlobalField _option_v__ast__GlobalField;
|
||
typedef struct _option_v__ast__FnDecl _option_v__ast__FnDecl;
|
||
typedef struct _option_v__gen__c__GlobalConstDef _option_v__gen__c__GlobalConstDef;
|
||
typedef struct _option_v__ast__Stmt_ptr _option_v__ast__Stmt_ptr;
|
||
typedef struct _option_v__scanner__Scanner_ptr _option_v__scanner__Scanner_ptr;
|
||
typedef struct _option_v__builder__MsvcResult _option_v__builder__MsvcResult;
|
||
typedef struct _option_v__builder__WindowsKit _option_v__builder__WindowsKit;
|
||
typedef struct _option_v__builder__VsInstallation _option_v__builder__VsInstallation;
|
||
typedef struct __shared__Array_string __shared__Array_string;
|
||
typedef struct __shared__Map_string_bool __shared__Map_string_bool;
|
||
|
||
// V cheaders:
|
||
// Generated by the V compiler
|
||
|
||
#if defined(__TINYC__) && defined(__has_include)
|
||
// tcc does not support has_include properly yet, turn it off completely
|
||
#undef __has_include
|
||
#endif
|
||
|
||
#if defined(__has_include)
|
||
|
||
#if __has_include(<inttypes.h>)
|
||
#include <inttypes.h>
|
||
#else
|
||
#error VERROR_MESSAGE The C compiler can not find <inttypes.h>. Please install build-essentials
|
||
#endif
|
||
|
||
#else
|
||
#include <inttypes.h>
|
||
#endif
|
||
|
||
|
||
#if defined(__has_include)
|
||
|
||
#if __has_include(<stddef.h>)
|
||
#include <stddef.h>
|
||
#else
|
||
#error VERROR_MESSAGE The C compiler can not find <stddef.h>. Please install build-essentials
|
||
#endif
|
||
|
||
#else
|
||
#include <stddef.h>
|
||
#endif
|
||
|
||
|
||
//================================== builtin types ================================*/
|
||
typedef int64_t i64;
|
||
typedef int16_t i16;
|
||
typedef int8_t i8;
|
||
typedef uint64_t u64;
|
||
typedef uint32_t u32;
|
||
typedef uint8_t u8;
|
||
typedef uint16_t u16;
|
||
//typedef uint8_t byte;
|
||
typedef uint32_t rune;
|
||
typedef size_t usize;
|
||
typedef ptrdiff_t isize;
|
||
#ifndef VNOFLOAT
|
||
typedef float f32;
|
||
typedef double f64;
|
||
#else
|
||
typedef int32_t f32;
|
||
typedef int64_t f64;
|
||
#endif
|
||
typedef int64_t int_literal;
|
||
#ifndef VNOFLOAT
|
||
typedef double float_literal;
|
||
#else
|
||
typedef int64_t float_literal;
|
||
#endif
|
||
typedef unsigned char* byteptr;
|
||
typedef void* voidptr;
|
||
typedef char* charptr;
|
||
typedef u8 array_fixed_byte_300 [300];
|
||
|
||
typedef struct sync__Channel* chan;
|
||
|
||
#ifndef __cplusplus
|
||
#ifndef bool
|
||
#ifdef CUSTOM_DEFINE_4bytebool
|
||
typedef int bool;
|
||
#else
|
||
typedef u8 bool;
|
||
#endif
|
||
#define true 1
|
||
#define false 0
|
||
#endif
|
||
#endif
|
||
|
||
typedef u64 (*MapHashFn)(voidptr);
|
||
typedef bool (*MapEqFn)(voidptr, voidptr);
|
||
typedef void (*MapCloneFn)(voidptr, voidptr);
|
||
typedef void (*MapFreeFn)(voidptr);
|
||
|
||
//============================== HELPER C MACROS =============================*/
|
||
// _SLIT0 is used as NULL string for literal arguments
|
||
// `"" s` is used to enforce a string literal argument
|
||
#define _SLIT0 (string){.str=(byteptr)(""), .len=0, .is_lit=1}
|
||
#define _SLIT(s) ((string){.str=(byteptr)("" s), .len=(sizeof(s)-1), .is_lit=1})
|
||
#define _SLEN(s, n) ((string){.str=(byteptr)("" s), .len=n, .is_lit=1})
|
||
|
||
// take the address of an rvalue
|
||
#define ADDR(type, expr) (&((type[]){expr}[0]))
|
||
|
||
// copy something to the heap
|
||
#define HEAP(type, expr) ((type*)memdup((void*)&((type[]){expr}[0]), sizeof(type)))
|
||
#define HEAP_noscan(type, expr) ((type*)memdup_noscan((void*)&((type[]){expr}[0]), sizeof(type)))
|
||
|
||
#define _PUSH_MANY(arr, val, tmp, tmp_typ) {tmp_typ tmp = (val); array_push_many(arr, tmp.data, tmp.len);}
|
||
#define _PUSH_MANY_noscan(arr, val, tmp, tmp_typ) {tmp_typ tmp = (val); array_push_many_noscan(arr, tmp.data, tmp.len);}
|
||
|
||
// unsigned/signed comparisons
|
||
static inline bool _us32_gt(uint32_t a, int32_t b) { return a > INT32_MAX || (int32_t)a > b; }
|
||
static inline bool _us32_ge(uint32_t a, int32_t b) { return a >= INT32_MAX || (int32_t)a >= b; }
|
||
static inline bool _us32_eq(uint32_t a, int32_t b) { return a <= INT32_MAX && (int32_t)a == b; }
|
||
static inline bool _us32_ne(uint32_t a, int32_t b) { return a > INT32_MAX || (int32_t)a != b; }
|
||
static inline bool _us32_le(uint32_t a, int32_t b) { return a <= INT32_MAX && (int32_t)a <= b; }
|
||
static inline bool _us32_lt(uint32_t a, int32_t b) { return a < INT32_MAX && (int32_t)a < b; }
|
||
static inline bool _us64_gt(uint64_t a, int64_t b) { return a > INT64_MAX || (int64_t)a > b; }
|
||
static inline bool _us64_ge(uint64_t a, int64_t b) { return a >= INT64_MAX || (int64_t)a >= b; }
|
||
static inline bool _us64_eq(uint64_t a, int64_t b) { return a <= INT64_MAX && (int64_t)a == b; }
|
||
static inline bool _us64_ne(uint64_t a, int64_t b) { return a > INT64_MAX || (int64_t)a != b; }
|
||
static inline bool _us64_le(uint64_t a, int64_t b) { return a <= INT64_MAX && (int64_t)a <= b; }
|
||
static inline bool _us64_lt(uint64_t a, int64_t b) { return a < INT64_MAX && (int64_t)a < b; }
|
||
|
||
#define EMPTY_VARG_INITIALIZATION 0
|
||
#define EMPTY_STRUCT_INITIALIZATION 0
|
||
#define EMPTY_STRUCT_DECLARATION voidptr _dummy_pad
|
||
// Due to a tcc bug, the length of an array needs to be specified, but GCC crashes if it is...
|
||
#define EMPTY_ARRAY_OF_ELEMS(x,n) (x[])
|
||
#define TCCSKIP(x) x
|
||
|
||
#define __NOINLINE __attribute__((noinline))
|
||
#define __IRQHANDLER __attribute__((interrupt))
|
||
|
||
#define __V_architecture 0
|
||
#if defined(__x86_64__) || defined(_M_AMD64)
|
||
#define __V_amd64 1
|
||
#undef __V_architecture
|
||
#define __V_architecture 1
|
||
#endif
|
||
|
||
#if defined(__aarch64__) || defined(__arm64__) || defined(_M_ARM64)
|
||
#define __V_arm64 1
|
||
#undef __V_architecture
|
||
#define __V_architecture 2
|
||
#endif
|
||
|
||
#if defined(__arm__) || defined(_M_ARM)
|
||
#define __V_arm32 1
|
||
#undef __V_architecture
|
||
#define __V_architecture 3
|
||
#endif
|
||
|
||
#if defined(__i386__) || defined(_M_IX86)
|
||
#define __V_x86 1
|
||
#undef __V_architecture
|
||
#define __V_architecture 6
|
||
#endif
|
||
|
||
// Using just __GNUC__ for detecting gcc, is not reliable because other compilers define it too:
|
||
#ifdef __GNUC__
|
||
#define __V_GCC__
|
||
#endif
|
||
#ifdef __TINYC__
|
||
#undef __V_GCC__
|
||
#endif
|
||
#ifdef __cplusplus
|
||
#undef __V_GCC__
|
||
#endif
|
||
#ifdef __clang__
|
||
#undef __V_GCC__
|
||
#endif
|
||
#ifdef _MSC_VER
|
||
#undef __V_GCC__
|
||
#undef EMPTY_STRUCT_INITIALIZATION
|
||
#define EMPTY_STRUCT_INITIALIZATION 0
|
||
#endif
|
||
|
||
#ifdef __TINYC__
|
||
#define _Atomic volatile
|
||
#undef EMPTY_STRUCT_DECLARATION
|
||
#define EMPTY_STRUCT_DECLARATION voidptr _dummy_pad
|
||
#undef EMPTY_ARRAY_OF_ELEMS
|
||
#define EMPTY_ARRAY_OF_ELEMS(x,n) (x[n])
|
||
#undef __NOINLINE
|
||
#undef __IRQHANDLER
|
||
// tcc does not support inlining at all
|
||
#define __NOINLINE
|
||
#define __IRQHANDLER
|
||
#undef TCCSKIP
|
||
#define TCCSKIP(x)
|
||
// #include <byteswap.h>
|
||
#ifndef _WIN32
|
||
#include <execinfo.h>
|
||
int tcc_backtrace(const char *fmt, ...);
|
||
#endif
|
||
#endif
|
||
|
||
// Use __offsetof_ptr instead of __offset_of, when you *do* have a valid pointer, to avoid UB:
|
||
#ifndef __offsetof_ptr
|
||
#define __offsetof_ptr(ptr,PTYPE,FIELDNAME) ((size_t)((byte *)&((PTYPE *)ptr)->FIELDNAME - (byte *)ptr))
|
||
#endif
|
||
|
||
// for __offset_of
|
||
#ifndef __offsetof
|
||
#define __offsetof(PTYPE,FIELDNAME) ((size_t)((char *)&((PTYPE *)0)->FIELDNAME - (char *)0))
|
||
#endif
|
||
|
||
#define OPTION_CAST(x) (x)
|
||
|
||
#ifndef V64_PRINTFORMAT
|
||
#ifdef PRIx64
|
||
#define V64_PRINTFORMAT "0x%"PRIx64
|
||
#elif defined(__WIN32__)
|
||
#define V64_PRINTFORMAT "0x%I64x"
|
||
#elif defined(__linux__) && defined(__LP64__)
|
||
#define V64_PRINTFORMAT "0x%lx"
|
||
#else
|
||
#define V64_PRINTFORMAT "0x%llx"
|
||
#endif
|
||
#endif
|
||
|
||
#if defined(_WIN32) || defined(__CYGWIN__)
|
||
#define VV_EXPORTED_SYMBOL extern __declspec(dllexport)
|
||
#define VV_LOCAL_SYMBOL static
|
||
#else
|
||
// 4 < gcc < 5 is used by some older Ubuntu LTS and Centos versions,
|
||
// and does not support __has_attribute(visibility) ...
|
||
#ifndef __has_attribute
|
||
#define __has_attribute(x) 0 // Compatibility with non-clang compilers.
|
||
#endif
|
||
#if (defined(__GNUC__) && (__GNUC__ >= 4)) || (defined(__clang__) && __has_attribute(visibility))
|
||
#ifdef ARM
|
||
#define VV_EXPORTED_SYMBOL extern __attribute__((externally_visible,visibility("default")))
|
||
#else
|
||
#define VV_EXPORTED_SYMBOL extern __attribute__((visibility("default")))
|
||
#endif
|
||
#if defined(__clang__) && (defined(_VUSECACHE) || defined(_VBUILDMODULE))
|
||
#define VV_LOCAL_SYMBOL static
|
||
#else
|
||
#define VV_LOCAL_SYMBOL __attribute__ ((visibility ("hidden")))
|
||
#endif
|
||
#else
|
||
#define VV_EXPORTED_SYMBOL extern
|
||
#define VV_LOCAL_SYMBOL static
|
||
#endif
|
||
#endif
|
||
|
||
#ifdef __cplusplus
|
||
#include <utility>
|
||
#define _MOV std::move
|
||
#else
|
||
#define _MOV
|
||
#endif
|
||
|
||
// tcc does not support has_include properly yet, turn it off completely
|
||
#if defined(__TINYC__) && defined(__has_include)
|
||
#undef __has_include
|
||
#endif
|
||
|
||
|
||
#if !defined(VWEAK)
|
||
#define VWEAK __attribute__((weak))
|
||
#ifdef _MSC_VER
|
||
#undef VWEAK
|
||
#define VWEAK
|
||
#endif
|
||
#if defined(__MINGW32__) || defined(__MINGW64__)
|
||
#undef VWEAK
|
||
#define VWEAK
|
||
#endif
|
||
#endif
|
||
|
||
#if !defined(VNORETURN)
|
||
#if defined(__TINYC__)
|
||
#include <stdnoreturn.h>
|
||
#define VNORETURN noreturn
|
||
#endif
|
||
# if !defined(__TINYC__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
|
||
# define VNORETURN _Noreturn
|
||
# elif defined(__GNUC__) && __GNUC__ >= 2
|
||
# define VNORETURN __attribute__((noreturn))
|
||
# endif
|
||
#ifndef VNORETURN
|
||
#define VNORETURN
|
||
#endif
|
||
#endif
|
||
|
||
#if !defined(VUNREACHABLE)
|
||
#if defined(__GNUC__) && !defined(__clang__)
|
||
#define V_GCC_VERSION (__GNUC__ * 10000L + __GNUC_MINOR__ * 100L + __GNUC_PATCHLEVEL__)
|
||
#if (V_GCC_VERSION >= 40500L)
|
||
#define VUNREACHABLE() do { __builtin_unreachable(); } while (0)
|
||
#endif
|
||
#endif
|
||
#if defined(__clang__) && defined(__has_builtin)
|
||
#if __has_builtin(__builtin_unreachable)
|
||
#define VUNREACHABLE() do { __builtin_unreachable(); } while (0)
|
||
#endif
|
||
#endif
|
||
#ifndef VUNREACHABLE
|
||
#define VUNREACHABLE() do { } while (0)
|
||
#endif
|
||
#if defined(__FreeBSD__) && defined(__TINYC__)
|
||
#define VUNREACHABLE() do { } while (0)
|
||
#endif
|
||
#endif
|
||
|
||
//likely and unlikely macros
|
||
#if defined(__GNUC__) || defined(__INTEL_COMPILER) || defined(__clang__)
|
||
#define _likely_(x) __builtin_expect(x,1)
|
||
#define _unlikely_(x) __builtin_expect(x,0)
|
||
#else
|
||
#define _likely_(x) (x)
|
||
#define _unlikely_(x) (x)
|
||
#endif
|
||
|
||
|
||
// c_headers
|
||
typedef int (*qsort_callback_func)(const void*, const void*);
|
||
#include <stdio.h> // TODO remove all these includes, define all function signatures and types manually
|
||
#include <stdlib.h>
|
||
#include <string.h>
|
||
|
||
#ifndef _WIN32
|
||
#if defined __has_include
|
||
#if __has_include (<execinfo.h>)
|
||
#include <execinfo.h>
|
||
#endif
|
||
#endif
|
||
#endif
|
||
|
||
#include <stdarg.h> // for va_list
|
||
|
||
//================================== GLOBALS =================================*/
|
||
int load_so(byteptr);
|
||
void _vinit(int ___argc, voidptr ___argv);
|
||
void _vcleanup(void);
|
||
#define sigaction_size sizeof(sigaction);
|
||
#define _ARR_LEN(a) ( (sizeof(a)) / (sizeof(a[0])) )
|
||
|
||
void v_free(voidptr ptr);
|
||
voidptr memdup(voidptr src, int sz);
|
||
|
||
#if INTPTR_MAX == INT32_MAX
|
||
#define TARGET_IS_32BIT 1
|
||
#elif INTPTR_MAX == INT64_MAX
|
||
#define TARGET_IS_64BIT 1
|
||
#else
|
||
#error "The environment is not 32 or 64-bit."
|
||
#endif
|
||
|
||
#if defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ || defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN || defined(__BIG_ENDIAN__) || defined(__ARMEB__) || defined(__THUMBEB__) || defined(__AARCH64EB__) || defined(_MIBSEB) || defined(__MIBSEB) || defined(__MIBSEB__)
|
||
#define TARGET_ORDER_IS_BIG 1
|
||
#elif defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ || defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN || defined(__LITTLE_ENDIAN__) || defined(__ARMEL__) || defined(__THUMBEL__) || defined(__AARCH64EL__) || defined(_MIPSEL) || defined(__MIPSEL) || defined(__MIPSEL__) || defined(_M_AMD64) || defined(_M_X64) || defined(_M_IX86)
|
||
#define TARGET_ORDER_IS_LITTLE 1
|
||
#else
|
||
#error "Unknown architecture endianness"
|
||
#endif
|
||
|
||
#ifndef _WIN32
|
||
#include <ctype.h>
|
||
#include <locale.h> // tolower
|
||
#include <sys/time.h>
|
||
#include <unistd.h> // sleep
|
||
extern char **environ;
|
||
#endif
|
||
|
||
#if defined(__CYGWIN__) && !defined(_WIN32)
|
||
#error Cygwin is not supported, please use MinGW or Visual Studio.
|
||
#endif
|
||
|
||
#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__vinix__) || defined(__serenity__) || defined(__sun)
|
||
#include <sys/types.h>
|
||
#include <sys/wait.h> // os__wait uses wait on nix
|
||
#endif
|
||
|
||
#ifdef __OpenBSD__
|
||
#include <sys/types.h>
|
||
#include <sys/resource.h>
|
||
#include <sys/wait.h> // os__wait uses wait on nix
|
||
#endif
|
||
|
||
#ifdef __NetBSD__
|
||
#include <sys/wait.h> // os__wait uses wait on nix
|
||
#endif
|
||
|
||
#ifdef _WIN32
|
||
#define WINVER 0x0600
|
||
#ifdef _WIN32_WINNT
|
||
#undef _WIN32_WINNT
|
||
#endif
|
||
#define _WIN32_WINNT 0x0600
|
||
#ifndef WIN32_FULL
|
||
#define WIN32_LEAN_AND_MEAN
|
||
#endif
|
||
#ifndef _UNICODE
|
||
#define _UNICODE
|
||
#endif
|
||
#ifndef UNICODE
|
||
#define UNICODE
|
||
#endif
|
||
#include <windows.h>
|
||
|
||
#include <io.h> // _waccess
|
||
#include <direct.h> // _wgetcwd
|
||
#ifdef V_USE_SIGNAL_H
|
||
#include <signal.h> // signal and SIGSEGV for segmentation fault handler
|
||
#endif
|
||
|
||
#ifdef _MSC_VER
|
||
// On MSVC these are the same (as long as /volatile:ms is passed)
|
||
#define _Atomic volatile
|
||
|
||
// MSVC cannot parse some things properly
|
||
#undef EMPTY_STRUCT_DECLARATION
|
||
#undef OPTION_CAST
|
||
|
||
#define EMPTY_STRUCT_DECLARATION voidptr _dummy_pad
|
||
#define OPTION_CAST(x)
|
||
#undef __NOINLINE
|
||
#undef __IRQHANDLER
|
||
#define __NOINLINE __declspec(noinline)
|
||
#define __IRQHANDLER __declspec(naked)
|
||
|
||
#include <dbghelp.h>
|
||
#pragma comment(lib, "Dbghelp")
|
||
#endif
|
||
#else
|
||
#include <pthread.h>
|
||
#ifndef PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
|
||
// musl does not have that
|
||
#define pthread_rwlockattr_setkind_np(a, b)
|
||
#endif
|
||
#endif
|
||
|
||
// g_live_info is used by live.info()
|
||
static void* g_live_info = NULL;
|
||
|
||
#if defined(__MINGW32__) || defined(__MINGW64__) || (defined(_WIN32) && defined(__TINYC__))
|
||
#undef PRId64
|
||
#undef PRIi64
|
||
#undef PRIo64
|
||
#undef PRIu64
|
||
#undef PRIx64
|
||
#undef PRIX64
|
||
#define PRId64 "lld"
|
||
#define PRIi64 "lli"
|
||
#define PRIo64 "llo"
|
||
#define PRIu64 "llu"
|
||
#define PRIx64 "llx"
|
||
#define PRIX64 "llX"
|
||
#endif
|
||
|
||
#ifdef _VFREESTANDING
|
||
#undef _VFREESTANDING
|
||
#endif
|
||
|
||
|
||
// ============== wyhash ==============
|
||
#ifndef wyhash_final_version_3
|
||
#define wyhash_final_version_3
|
||
|
||
#ifndef WYHASH_CONDOM
|
||
// protections that produce different results:
|
||
// 1: normal valid behavior
|
||
// 2: extra protection against entropy loss (probability=2^-63), aka. "blind multiplication"
|
||
#define WYHASH_CONDOM 1
|
||
#endif
|
||
|
||
#ifndef WYHASH_32BIT_MUM
|
||
// 0: normal version, slow on 32 bit systems
|
||
// 1: faster on 32 bit systems but produces different results, incompatible with wy2u0k function
|
||
#define WYHASH_32BIT_MUM 0
|
||
#endif
|
||
|
||
// includes
|
||
#include <stdint.h>
|
||
#if defined(_MSC_VER) && defined(_M_X64)
|
||
#include <intrin.h>
|
||
#pragma intrinsic(_umul128)
|
||
#endif
|
||
|
||
// 128bit multiply function
|
||
static inline uint64_t _wyrot(uint64_t x) { return (x>>32)|(x<<32); }
|
||
static inline void _wymum(uint64_t *A, uint64_t *B){
|
||
#if(WYHASH_32BIT_MUM)
|
||
uint64_t hh=(*A>>32)*(*B>>32), hl=(*A>>32)*(uint32_t)*B, lh=(uint32_t)*A*(*B>>32), ll=(uint64_t)(uint32_t)*A*(uint32_t)*B;
|
||
#if(WYHASH_CONDOM>1)
|
||
*A^=_wyrot(hl)^hh; *B^=_wyrot(lh)^ll;
|
||
#else
|
||
*A=_wyrot(hl)^hh; *B=_wyrot(lh)^ll;
|
||
#endif
|
||
#elif defined(__SIZEOF_INT128__) && !defined(VWASM)
|
||
__uint128_t r=*A; r*=*B;
|
||
#if(WYHASH_CONDOM>1)
|
||
*A^=(uint64_t)r; *B^=(uint64_t)(r>>64);
|
||
#else
|
||
*A=(uint64_t)r; *B=(uint64_t)(r>>64);
|
||
#endif
|
||
#elif defined(_MSC_VER) && defined(_M_X64)
|
||
#if(WYHASH_CONDOM>1)
|
||
uint64_t a, b;
|
||
a=_umul128(*A,*B,&b);
|
||
*A^=a; *B^=b;
|
||
#else
|
||
*A=_umul128(*A,*B,B);
|
||
#endif
|
||
#else
|
||
uint64_t ha=*A>>32, hb=*B>>32, la=(uint32_t)*A, lb=(uint32_t)*B, hi, lo;
|
||
uint64_t rh=ha*hb, rm0=ha*lb, rm1=hb*la, rl=la*lb, t=rl+(rm0<<32), c=t<rl;
|
||
lo=t+(rm1<<32); c+=lo<t; hi=rh+(rm0>>32)+(rm1>>32)+c;
|
||
#if(WYHASH_CONDOM>1)
|
||
*A^=lo; *B^=hi;
|
||
#else
|
||
*A=lo; *B=hi;
|
||
#endif
|
||
#endif
|
||
}
|
||
|
||
// multiply and xor mix function, aka MUM
|
||
static inline uint64_t _wymix(uint64_t A, uint64_t B){ _wymum(&A,&B); return A^B; }
|
||
|
||
// endian macros
|
||
#ifndef WYHASH_LITTLE_ENDIAN
|
||
#ifdef TARGET_ORDER_IS_LITTLE
|
||
#define WYHASH_LITTLE_ENDIAN 1
|
||
#else
|
||
#define WYHASH_LITTLE_ENDIAN 0
|
||
#endif
|
||
#endif
|
||
|
||
// read functions
|
||
#if (WYHASH_LITTLE_ENDIAN)
|
||
static inline uint64_t _wyr8(const uint8_t *p) { uint64_t v; memcpy(&v, p, 8); return v;}
|
||
static inline uint64_t _wyr4(const uint8_t *p) { uint32_t v; memcpy(&v, p, 4); return v;}
|
||
#elif defined(__GNUC__) || defined(__INTEL_COMPILER) || defined(__clang__)
|
||
static inline uint64_t _wyr8(const uint8_t *p) { uint64_t v; memcpy(&v, p, 8); return __builtin_bswap64(v);}
|
||
static inline uint64_t _wyr4(const uint8_t *p) { uint32_t v; memcpy(&v, p, 4); return __builtin_bswap32(v);}
|
||
#elif defined(_MSC_VER)
|
||
static inline uint64_t _wyr8(const uint8_t *p) { uint64_t v; memcpy(&v, p, 8); return _byteswap_uint64(v);}
|
||
static inline uint64_t _wyr4(const uint8_t *p) { uint32_t v; memcpy(&v, p, 4); return _byteswap_ulong(v);}
|
||
#else
|
||
static inline uint64_t _wyr8(const uint8_t *p) {
|
||
uint64_t v; memcpy(&v, p, 8);
|
||
return (((v >> 56) & 0xff)| ((v >> 40) & 0xff00)| ((v >> 24) & 0xff0000)| ((v >> 8) & 0xff000000)| ((v << 8) & 0xff00000000)| ((v << 24) & 0xff0000000000)| ((v << 40) & 0xff000000000000)| ((v << 56) & 0xff00000000000000));
|
||
}
|
||
static inline uint64_t _wyr4(const uint8_t *p) {
|
||
uint32_t v; memcpy(&v, p, 4);
|
||
return (((v >> 24) & 0xff)| ((v >> 8) & 0xff00)| ((v << 8) & 0xff0000)| ((v << 24) & 0xff000000));
|
||
}
|
||
#endif
|
||
static inline uint64_t _wyr3(const uint8_t *p, size_t k) { return (((uint64_t)p[0])<<16)|(((uint64_t)p[k>>1])<<8)|p[k-1];}
|
||
// wyhash main function
|
||
static inline uint64_t wyhash(const void *key, size_t len, uint64_t seed, const uint64_t *secret){
|
||
const uint8_t *p=(const uint8_t *)key; seed^=*secret; uint64_t a, b;
|
||
if (_likely_(len<=16)) {
|
||
if (_likely_(len>=4)) { a=(_wyr4(p)<<32)|_wyr4(p+((len>>3)<<2)); b=(_wyr4(p+len-4)<<32)|_wyr4(p+len-4-((len>>3)<<2)); }
|
||
else if (_likely_(len>0)) { a=_wyr3(p,len); b=0; }
|
||
else a=b=0;
|
||
} else {
|
||
size_t i=len;
|
||
if (_unlikely_(i>48)) {
|
||
uint64_t see1=seed, see2=seed;
|
||
do {
|
||
seed=_wymix(_wyr8(p)^secret[1],_wyr8(p+8)^seed);
|
||
see1=_wymix(_wyr8(p+16)^secret[2],_wyr8(p+24)^see1);
|
||
see2=_wymix(_wyr8(p+32)^secret[3],_wyr8(p+40)^see2);
|
||
p+=48; i-=48;
|
||
} while(_likely_(i>48));
|
||
seed^=see1^see2;
|
||
}
|
||
while(_unlikely_(i>16)) { seed=_wymix(_wyr8(p)^secret[1],_wyr8(p+8)^seed); i-=16; p+=16; }
|
||
a=_wyr8(p+i-16); b=_wyr8(p+i-8);
|
||
}
|
||
return _wymix(secret[1]^len,_wymix(a^secret[1],b^seed));
|
||
}
|
||
// the default secret parameters
|
||
static const uint64_t _wyp[4] = {0xa0761d6478bd642full, 0xe7037ed1a0b428dbull, 0x8ebc6af09c88c6e3ull, 0x589965cc75374cc3ull};
|
||
|
||
// a useful 64bit-64bit mix function to produce deterministic pseudo random numbers that can pass BigCrush and PractRand
|
||
static inline uint64_t wyhash64(uint64_t A, uint64_t B){ A^=0xa0761d6478bd642full; B^=0xe7037ed1a0b428dbull; _wymum(&A,&B); return _wymix(A^0xa0761d6478bd642full,B^0xe7037ed1a0b428dbull);}
|
||
|
||
// the wyrand PRNG that pass BigCrush and PractRand
|
||
static inline uint64_t wyrand(uint64_t *seed){ *seed+=0xa0761d6478bd642full; return _wymix(*seed,*seed^0xe7037ed1a0b428dbull);}
|
||
|
||
#ifndef __vinix__
|
||
// convert any 64 bit pseudo random numbers to uniform distribution [0,1). It can be combined with wyrand, wyhash64 or wyhash.
|
||
static inline double wy2u01(uint64_t r){ const double _wynorm=1.0/(1ull<<52); return (r>>12)*_wynorm;}
|
||
|
||
// convert any 64 bit pseudo random numbers to APPROXIMATE Gaussian distribution. It can be combined with wyrand, wyhash64 or wyhash.
|
||
static inline double wy2gau(uint64_t r){ const double _wynorm=1.0/(1ull<<20); return ((r&0x1fffff)+((r>>21)&0x1fffff)+((r>>42)&0x1fffff))*_wynorm-3.0;}
|
||
#endif
|
||
|
||
#if(!WYHASH_32BIT_MUM)
|
||
// fast range integer random number generation on [0,k) credit to Daniel Lemire. May not work when WYHASH_32BIT_MUM=1. It can be combined with wyrand, wyhash64 or wyhash.
|
||
static inline uint64_t wy2u0k(uint64_t r, uint64_t k){ _wymum(&r,&k); return k; }
|
||
#endif
|
||
#endif
|
||
|
||
#define _IN_MAP(val, m) map_exists(m, val)
|
||
|
||
|
||
|
||
// V includes:
|
||
|
||
#if defined(__TINYC__) && defined(__has_include)
|
||
// tcc does not support has_include properly yet, turn it off completely
|
||
#undef __has_include
|
||
#endif
|
||
|
||
|
||
// added by module `builtin`, file: float.c.v:9:
|
||
|
||
#if defined(__has_include)
|
||
|
||
#if __has_include(<float.h>)
|
||
#include <float.h>
|
||
#else
|
||
#error VERROR_MESSAGE Header file <float.h>, needed for module `builtin` was not found. Please install the corresponding development headers.
|
||
#endif
|
||
|
||
#else
|
||
#include <float.h>
|
||
#endif
|
||
|
||
|
||
|
||
|
||
|
||
// added by module `time`, file: time.c.v:6:
|
||
|
||
#if defined(__has_include)
|
||
|
||
#if __has_include(<time.h>)
|
||
#include <time.h>
|
||
#else
|
||
#error VERROR_MESSAGE Header file <time.h>, needed for module `time` was not found. Please install the corresponding development headers.
|
||
#endif
|
||
|
||
#else
|
||
#include <time.h>
|
||
#endif
|
||
|
||
|
||
|
||
|
||
|
||
// added by module `time`, file: time_windows.c.v:6:
|
||
|
||
#if defined(__has_include)
|
||
|
||
#if __has_include(<time.h>)
|
||
#include <time.h>
|
||
#else
|
||
#error VERROR_MESSAGE Header file <time.h>, needed for module `time` was not found. Please install the corresponding development headers.
|
||
#endif
|
||
|
||
#else
|
||
#include <time.h>
|
||
#endif
|
||
|
||
|
||
|
||
// inserted by module `sync.stdatomic`, file: 1.declarations.c.v:8:
|
||
/*
|
||
* This file is part of FFmpeg.
|
||
*
|
||
* FFmpeg is free software; you can redistribute it and/or
|
||
* modify it under the terms of the GNU Lesser General Public
|
||
* License as published by the Free Software Foundation; either
|
||
* version 2.1 of the License, or (at your option) any later version.
|
||
*
|
||
* FFmpeg is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||
* Lesser General Public License for more details.
|
||
*
|
||
* You should have received a copy of the GNU Lesser General Public
|
||
* License along with FFmpeg; if not, write to the Free Software
|
||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||
*/
|
||
|
||
#ifndef COMPAT_ATOMICS_WIN32_STDATOMIC_H
|
||
#define COMPAT_ATOMICS_WIN32_STDATOMIC_H
|
||
|
||
#define WIN32_LEAN_AND_MEAN
|
||
#include <stddef.h>
|
||
#include <stdint.h>
|
||
#include <windows.h>
|
||
|
||
#ifdef __TINYC__
|
||
#endif
|
||
|
||
#define ATOMIC_FLAG_INIT 0
|
||
|
||
#define ATOMIC_VAR_INIT(value) (value)
|
||
|
||
#define atomic_init(obj, value) \
|
||
do \
|
||
{ \
|
||
*(obj) = (value); \
|
||
} while (0)
|
||
|
||
#define kill_dependency(y) ((void)0)
|
||
|
||
#define atomic_thread_fence(order) \
|
||
MemoryBarrier();
|
||
|
||
#define atomic_signal_fence(order) \
|
||
((void)0)
|
||
|
||
#define atomic_is_lock_free(obj) 0
|
||
|
||
typedef intptr_t atomic_flag;
|
||
typedef intptr_t atomic_bool;
|
||
typedef intptr_t atomic_char;
|
||
typedef intptr_t atomic_schar;
|
||
typedef intptr_t atomic_uchar;
|
||
typedef intptr_t atomic_short;
|
||
typedef intptr_t atomic_ushort;
|
||
typedef intptr_t atomic_int;
|
||
typedef intptr_t atomic_uint;
|
||
typedef intptr_t atomic_long;
|
||
typedef intptr_t atomic_ulong;
|
||
typedef intptr_t atomic_llong;
|
||
typedef intptr_t atomic_ullong;
|
||
typedef intptr_t atomic_wchar_t;
|
||
typedef intptr_t atomic_int_least8_t;
|
||
typedef intptr_t atomic_uint_least8_t;
|
||
typedef intptr_t atomic_int_least16_t;
|
||
typedef intptr_t atomic_uint_least16_t;
|
||
typedef intptr_t atomic_int_least32_t;
|
||
typedef intptr_t atomic_uint_least32_t;
|
||
typedef intptr_t atomic_int_least64_t;
|
||
typedef intptr_t atomic_uint_least64_t;
|
||
typedef intptr_t atomic_int_fast8_t;
|
||
typedef intptr_t atomic_uint_fast8_t;
|
||
typedef intptr_t atomic_int_fast16_t;
|
||
typedef intptr_t atomic_uint_fast16_t;
|
||
typedef intptr_t atomic_int_fast32_t;
|
||
typedef intptr_t atomic_uint_fast32_t;
|
||
typedef intptr_t atomic_int_fast64_t;
|
||
typedef intptr_t atomic_uint_fast64_t;
|
||
typedef intptr_t atomic_intptr_t;
|
||
typedef intptr_t atomic_uintptr_t;
|
||
typedef intptr_t atomic_size_t;
|
||
typedef intptr_t atomic_ptrdiff_t;
|
||
typedef intptr_t atomic_intmax_t;
|
||
typedef intptr_t atomic_uintmax_t;
|
||
|
||
#ifdef __TINYC__
|
||
/*
|
||
For TCC it is missing the x64 version of _InterlockedExchangeAdd64 so we
|
||
fake it (works the same) with InterlockedCompareExchange64 until it
|
||
succeeds
|
||
*/
|
||
__CRT_INLINE LONGLONG _InterlockedExchangeAdd64(LONGLONG volatile *Addend, LONGLONG Value)
|
||
{
|
||
LONGLONG Old;
|
||
do
|
||
{
|
||
Old = *Addend;
|
||
} while (InterlockedCompareExchange64(Addend, Old + Value, Old) != Old);
|
||
return Old;
|
||
}
|
||
|
||
__CRT_INLINE LONG _InterlockedExchangeAdd(LONG volatile *Addend, LONG Value)
|
||
{
|
||
LONG Old;
|
||
do
|
||
{
|
||
Old = *Addend;
|
||
} while (InterlockedCompareExchange(Addend, Old + Value, Old) != Old);
|
||
return Old;
|
||
}
|
||
|
||
__CRT_INLINE SHORT _InterlockedExchangeAdd16(SHORT volatile *Addend, SHORT Value)
|
||
{
|
||
SHORT Old;
|
||
do
|
||
{
|
||
Old = *Addend;
|
||
} while (InterlockedCompareExchange16(Addend, Old + Value, Old) != Old);
|
||
return Old;
|
||
}
|
||
|
||
#define InterlockedIncrement64 _InterlockedExchangeAdd64
|
||
|
||
#endif
|
||
|
||
#define atomic_store(object, desired) \
|
||
do \
|
||
{ \
|
||
*(object) = (desired); \
|
||
MemoryBarrier(); \
|
||
} while (0)
|
||
|
||
#define atomic_store_explicit(object, desired, order) \
|
||
atomic_store(object, desired)
|
||
|
||
#define atomic_load(object) \
|
||
(MemoryBarrier(), *(object))
|
||
|
||
#define atomic_load_explicit(object, order) \
|
||
atomic_load(object)
|
||
|
||
#define atomic_exchange(object, desired) \
|
||
InterlockedExchangePointer(object, desired)
|
||
|
||
#define atomic_exchange_explicit(object, desired, order) \
|
||
atomic_exchange(object, desired)
|
||
|
||
static inline int atomic_compare_exchange_strong(intptr_t *object, intptr_t *expected,
|
||
intptr_t desired)
|
||
{
|
||
intptr_t old = *expected;
|
||
*expected = (intptr_t)InterlockedCompareExchangePointer(
|
||
(PVOID *)object, (PVOID)desired, (PVOID)old);
|
||
return *expected == old;
|
||
}
|
||
|
||
#define atomic_compare_exchange_strong_explicit(object, expected, desired, success, failure) \
|
||
atomic_compare_exchange_strong(object, expected, desired)
|
||
|
||
#define atomic_compare_exchange_weak(object, expected, desired) \
|
||
atomic_compare_exchange_strong(object, expected, desired)
|
||
|
||
#define atomic_compare_exchange_weak_explicit(object, expected, desired, success, failure) \
|
||
atomic_compare_exchange_weak(object, expected, desired)
|
||
|
||
#ifdef _WIN64
|
||
|
||
#define atomic_fetch_add(object, operand) \
|
||
InterlockedExchangeAdd64(object, operand)
|
||
|
||
#define atomic_fetch_sub(object, operand) \
|
||
InterlockedExchangeAdd64(object, -(operand))
|
||
|
||
#define atomic_fetch_or(object, operand) \
|
||
InterlockedOr64(object, operand)
|
||
|
||
#define atomic_fetch_xor(object, operand) \
|
||
InterlockedXor64(object, operand)
|
||
|
||
#define atomic_fetch_and(object, operand) \
|
||
InterlockedAnd64(object, operand)
|
||
#else
|
||
#define atomic_fetch_add(object, operand) \
|
||
InterlockedExchangeAdd(object, operand)
|
||
|
||
#define atomic_fetch_sub(object, operand) \
|
||
InterlockedExchangeAdd(object, -(operand))
|
||
|
||
#define atomic_fetch_or(object, operand) \
|
||
InterlockedOr(object, operand)
|
||
|
||
#define atomic_fetch_xor(object, operand) \
|
||
InterlockedXor(object, operand)
|
||
|
||
#define atomic_fetch_and(object, operand) \
|
||
InterlockedAnd(object, operand)
|
||
#endif /* _WIN64 */
|
||
|
||
/* specialized versions with explicit object size */
|
||
|
||
#define atomic_load_ptr atomic_load
|
||
#define atomic_store_ptr atomic_store
|
||
#define atomic_compare_exchange_weak_ptr atomic_compare_exchange_weak
|
||
#define atomic_compare_exchange_strong_ptr atomic_compare_exchange_strong
|
||
#define atomic_exchange_ptr atomic_exchange
|
||
#define atomic_fetch_add_ptr atomic_fetch_add
|
||
#define atomic_fetch_sub_ptr atomic_fetch_sub
|
||
#define atomic_fetch_and_ptr atomic_fetch_and
|
||
#define atomic_fetch_or_ptr atomic_fetch_or
|
||
#define atomic_fetch_xor_ptr atomic_fetch_xor
|
||
|
||
static inline void atomic_store_u64(unsigned long long* object, unsigned long long desired) {
|
||
do {
|
||
*(object) = (desired);
|
||
MemoryBarrier();
|
||
} while (0);
|
||
}
|
||
|
||
static inline unsigned long long atomic_load_u64(unsigned long long* object) {
|
||
return (MemoryBarrier(), *(object));
|
||
}
|
||
|
||
#define atomic_exchange_u64(object, desired) \
|
||
InterlockedExchange64(object, desired)
|
||
|
||
static inline int atomic_compare_exchange_strong_u64(unsigned long long* object, unsigned long long* expected,
|
||
unsigned long long desired)
|
||
{
|
||
unsigned long long old = *expected;
|
||
*expected = InterlockedCompareExchange64(object, desired, old);
|
||
return *expected == old;
|
||
}
|
||
|
||
#define atomic_compare_exchange_weak_u64(object, expected, desired) \
|
||
atomic_compare_exchange_strong_u64(object, expected, desired)
|
||
|
||
#define atomic_fetch_add_u64(object, operand) \
|
||
InterlockedExchangeAdd64(object, operand)
|
||
|
||
#define atomic_fetch_sub_u64(object, operand) \
|
||
InterlockedExchangeAdd64(object, -(operand))
|
||
|
||
#define atomic_fetch_or_u64(object, operand) \
|
||
InterlockedOr64(object, operand)
|
||
|
||
#define atomic_fetch_xor_u64(object, operand) \
|
||
InterlockedXor64(object, operand)
|
||
|
||
#define atomic_fetch_and_u64(object, operand) \
|
||
InterlockedAnd64(object, operand)
|
||
|
||
|
||
|
||
static inline void atomic_store_u32(unsigned* object, unsigned desired) {
|
||
do {
|
||
*(object) = (desired);
|
||
MemoryBarrier();
|
||
} while (0);
|
||
}
|
||
|
||
static inline unsigned atomic_load_u32(unsigned* object) {
|
||
return (MemoryBarrier(), *(object));
|
||
}
|
||
|
||
#define atomic_exchange_u32(object, desired) \
|
||
InterlockedExchange(object, desired)
|
||
|
||
static inline int atomic_compare_exchange_strong_u32(unsigned* object, unsigned* expected,
|
||
unsigned desired)
|
||
{
|
||
unsigned old = *expected;
|
||
*expected = InterlockedCompareExchange(object, desired, old);
|
||
return *expected == old;
|
||
}
|
||
|
||
#define atomic_compare_exchange_weak_u32(object, expected, desired) \
|
||
atomic_compare_exchange_strong_u32(object, expected, desired)
|
||
|
||
#define atomic_fetch_add_u32(object, operand) \
|
||
InterlockedExchangeAdd(object, operand)
|
||
|
||
#define atomic_fetch_sub_u32(object, operand) \
|
||
InterlockedExchangeAdd(object, -(operand))
|
||
|
||
#define atomic_fetch_or_u32(object, operand) \
|
||
InterlockedOr(object, operand)
|
||
|
||
#define atomic_fetch_xor_u32(object, operand) \
|
||
InterlockedXor(object, operand)
|
||
|
||
#define atomic_fetch_and_u32(object, operand) \
|
||
InterlockedAnd(object, operand)
|
||
|
||
|
||
|
||
static inline void atomic_store_u16(unsigned short* object, unsigned short desired) {
|
||
do {
|
||
*(object) = (desired);
|
||
MemoryBarrier();
|
||
} while (0);
|
||
}
|
||
|
||
static inline unsigned short atomic_load_u16(unsigned short* object) {
|
||
return (MemoryBarrier(), *(object));
|
||
}
|
||
|
||
#define atomic_exchange_u16(object, desired) \
|
||
InterlockedExchange16(object, desired)
|
||
|
||
static inline int atomic_compare_exchange_strong_u16(unsigned short* object, unsigned short* expected,
|
||
unsigned short desired)
|
||
{
|
||
unsigned short old = *expected;
|
||
*expected = InterlockedCompareExchange16(object, desired, old);
|
||
return *expected == old;
|
||
}
|
||
|
||
#define atomic_compare_exchange_weak_u16(object, expected, desired) \
|
||
atomic_compare_exchange_strong_u16(object, expected, desired)
|
||
|
||
#define atomic_fetch_add_u16(object, operand) \
|
||
InterlockedExchangeAdd16(object, operand)
|
||
|
||
#define atomic_fetch_sub_u16(object, operand) \
|
||
InterlockedExchangeAdd16(object, -(operand))
|
||
|
||
#define atomic_fetch_or_u16(object, operand) \
|
||
InterlockedOr16(object, operand)
|
||
|
||
#define atomic_fetch_xor_u16(object, operand) \
|
||
InterlockedXor16(object, operand)
|
||
|
||
#define atomic_fetch_and_u16(object, operand) \
|
||
InterlockedAnd16(object, operand)
|
||
|
||
|
||
|
||
#define atomic_fetch_add_explicit(object, operand, order) \
|
||
atomic_fetch_add(object, operand)
|
||
|
||
#define atomic_fetch_sub_explicit(object, operand, order) \
|
||
atomic_fetch_sub(object, operand)
|
||
|
||
#define atomic_fetch_or_explicit(object, operand, order) \
|
||
atomic_fetch_or(object, operand)
|
||
|
||
#define atomic_fetch_xor_explicit(object, operand, order) \
|
||
atomic_fetch_xor(object, operand)
|
||
|
||
#define atomic_fetch_and_explicit(object, operand, order) \
|
||
atomic_fetch_and(object, operand)
|
||
|
||
#define atomic_flag_test_and_set(object) \
|
||
atomic_exchange(object, 1)
|
||
|
||
#define atomic_flag_test_and_set_explicit(object, order) \
|
||
atomic_flag_test_and_set(object)
|
||
|
||
#define atomic_flag_clear(object) \
|
||
atomic_store(object, 0)
|
||
|
||
#define atomic_flag_clear_explicit(object, order) \
|
||
atomic_flag_clear(object)
|
||
|
||
#endif /* COMPAT_ATOMICS_WIN32_STDATOMIC_H */
|
||
|
||
|
||
|
||
// added by module `os`, file: os.c.v:3:
|
||
|
||
#if defined(__has_include)
|
||
|
||
#if __has_include(<sys/stat.h>)
|
||
#include <sys/stat.h>
|
||
#else
|
||
#error VERROR_MESSAGE Header file <sys/stat.h>, needed for module `os` was not found. Please install the corresponding development headers.
|
||
#endif
|
||
|
||
#else
|
||
#include <sys/stat.h>
|
||
#endif
|
||
|
||
|
||
|
||
|
||
|
||
// added by module `os`, file: os.c.v:4:
|
||
#include <errno.h>
|
||
|
||
|
||
|
||
|
||
// added by module `os`, file: os_windows.c.v:6:
|
||
|
||
#if defined(__has_include)
|
||
|
||
#if __has_include(<process.h>)
|
||
#include <process.h>
|
||
#else
|
||
#error VERROR_MESSAGE Header file <process.h>, needed for module `os` was not found. Please install the corresponding development headers.
|
||
#endif
|
||
|
||
#else
|
||
#include <process.h>
|
||
#endif
|
||
|
||
|
||
|
||
|
||
|
||
// added by module `os`, file: os_windows.c.v:7:
|
||
|
||
#if defined(__has_include)
|
||
|
||
#if __has_include(<sys/utime.h>)
|
||
#include <sys/utime.h>
|
||
#else
|
||
#error VERROR_MESSAGE Header file <sys/utime.h>, needed for module `os` was not found. Please install the corresponding development headers.
|
||
#endif
|
||
|
||
#else
|
||
#include <sys/utime.h>
|
||
#endif
|
||
|
||
|
||
|
||
|
||
|
||
// added by module `os`, file: signal.c.v:3:
|
||
|
||
#if defined(__has_include)
|
||
|
||
#if __has_include(<signal.h>)
|
||
#include <signal.h>
|
||
#else
|
||
#error VERROR_MESSAGE Header file <signal.h>, needed for module `os` was not found. Please install the corresponding development headers.
|
||
#endif
|
||
|
||
#else
|
||
#include <signal.h>
|
||
#endif
|
||
|
||
|
||
|
||
|
||
|
||
// added by module `sync`, file: sync_windows.c.v:8:
|
||
|
||
#if defined(__has_include)
|
||
|
||
#if __has_include(<synchapi.h>)
|
||
#include <synchapi.h>
|
||
#else
|
||
#error VERROR_MESSAGE Header file <synchapi.h>, needed for module `sync` was not found. Please install the corresponding development headers.
|
||
#endif
|
||
|
||
#else
|
||
#include <synchapi.h>
|
||
#endif
|
||
|
||
|
||
|
||
|
||
|
||
// added by module `sync`, file: sync_windows.c.v:9:
|
||
|
||
#if defined(__has_include)
|
||
|
||
#if __has_include(<time.h>)
|
||
#include <time.h>
|
||
#else
|
||
#error VERROR_MESSAGE Header file <time.h>, needed for module `sync` was not found. Please install the corresponding development headers.
|
||
#endif
|
||
|
||
#else
|
||
#include <time.h>
|
||
#endif
|
||
|
||
|
||
|
||
|
||
// Enum definitions:
|
||
typedef enum {
|
||
strconv__ParserState__ok, //
|
||
strconv__ParserState__pzero, // +1
|
||
strconv__ParserState__mzero, // +2
|
||
strconv__ParserState__pinf, // +3
|
||
strconv__ParserState__minf, // +4
|
||
strconv__ParserState__invalid_number, // +5
|
||
} strconv__ParserState;
|
||
|
||
typedef enum {
|
||
strconv__Align_text__right = 0, // 0
|
||
strconv__Align_text__left, // 0+1
|
||
strconv__Align_text__center, // 0+2
|
||
} strconv__Align_text;
|
||
|
||
typedef enum {
|
||
strconv__Char_parse_state__start, //
|
||
strconv__Char_parse_state__norm_char, // +1
|
||
strconv__Char_parse_state__field_char, // +2
|
||
strconv__Char_parse_state__pad_ch, // +3
|
||
strconv__Char_parse_state__len_set_start, // +4
|
||
strconv__Char_parse_state__len_set_in, // +5
|
||
strconv__Char_parse_state__check_type, // +6
|
||
strconv__Char_parse_state__check_float, // +7
|
||
strconv__Char_parse_state__check_float_in, // +8
|
||
strconv__Char_parse_state__reset_params, // +9
|
||
} strconv__Char_parse_state;
|
||
|
||
typedef enum {
|
||
ArrayFlags__noslices = 1, // 1 << 0
|
||
ArrayFlags__noshrink = 2, // 1 << 1
|
||
} ArrayFlags;
|
||
|
||
typedef enum {
|
||
AttributeKind__plain, //
|
||
AttributeKind__string, // +1
|
||
AttributeKind__number, // +2
|
||
AttributeKind__comptime_define, // +3
|
||
} AttributeKind;
|
||
|
||
typedef enum {
|
||
ChanState__success, //
|
||
ChanState__not_ready, // +1
|
||
ChanState__closed, // +2
|
||
} ChanState;
|
||
|
||
typedef enum {
|
||
StrIntpType__si_no_str = 0, // 0
|
||
StrIntpType__si_c, // 0+1
|
||
StrIntpType__si_u8, // 0+2
|
||
StrIntpType__si_i8, // 0+3
|
||
StrIntpType__si_u16, // 0+4
|
||
StrIntpType__si_i16, // 0+5
|
||
StrIntpType__si_u32, // 0+6
|
||
StrIntpType__si_i32, // 0+7
|
||
StrIntpType__si_u64, // 0+8
|
||
StrIntpType__si_i64, // 0+9
|
||
StrIntpType__si_e32, // 0+10
|
||
StrIntpType__si_e64, // 0+11
|
||
StrIntpType__si_f32, // 0+12
|
||
StrIntpType__si_f64, // 0+13
|
||
StrIntpType__si_g32, // 0+14
|
||
StrIntpType__si_g64, // 0+15
|
||
StrIntpType__si_s, // 0+16
|
||
StrIntpType__si_p, // 0+17
|
||
StrIntpType__si_vp, // 0+18
|
||
} StrIntpType;
|
||
|
||
typedef enum {
|
||
v__token__Kind__unknown, //
|
||
v__token__Kind__eof, // +1
|
||
v__token__Kind__name, // +2
|
||
v__token__Kind__number, // +3
|
||
v__token__Kind__string, // +4
|
||
v__token__Kind__str_inter, // +5
|
||
v__token__Kind__chartoken, // +6
|
||
v__token__Kind__plus, // +7
|
||
v__token__Kind__minus, // +8
|
||
v__token__Kind__mul, // +9
|
||
v__token__Kind__div, // +10
|
||
v__token__Kind__mod, // +11
|
||
v__token__Kind__xor, // +12
|
||
v__token__Kind__pipe, // +13
|
||
v__token__Kind__inc, // +14
|
||
v__token__Kind__dec, // +15
|
||
v__token__Kind__and, // +16
|
||
v__token__Kind__logical_or, // +17
|
||
v__token__Kind__not, // +18
|
||
v__token__Kind__bit_not, // +19
|
||
v__token__Kind__question, // +20
|
||
v__token__Kind__comma, // +21
|
||
v__token__Kind__semicolon, // +22
|
||
v__token__Kind__colon, // +23
|
||
v__token__Kind__arrow, // +24
|
||
v__token__Kind__amp, // +25
|
||
v__token__Kind__hash, // +26
|
||
v__token__Kind__dollar, // +27
|
||
v__token__Kind__at, // +28
|
||
v__token__Kind__str_dollar, // +29
|
||
v__token__Kind__left_shift, // +30
|
||
v__token__Kind__right_shift, // +31
|
||
v__token__Kind__unsigned_right_shift, // +32
|
||
v__token__Kind__not_in, // +33
|
||
v__token__Kind__not_is, // +34
|
||
v__token__Kind__assign, // +35
|
||
v__token__Kind__decl_assign, // +36
|
||
v__token__Kind__plus_assign, // +37
|
||
v__token__Kind__minus_assign, // +38
|
||
v__token__Kind__div_assign, // +39
|
||
v__token__Kind__mult_assign, // +40
|
||
v__token__Kind__xor_assign, // +41
|
||
v__token__Kind__mod_assign, // +42
|
||
v__token__Kind__or_assign, // +43
|
||
v__token__Kind__and_assign, // +44
|
||
v__token__Kind__right_shift_assign, // +45
|
||
v__token__Kind__left_shift_assign, // +46
|
||
v__token__Kind__unsigned_right_shift_assign, // +47
|
||
v__token__Kind__lcbr, // +48
|
||
v__token__Kind__rcbr, // +49
|
||
v__token__Kind__lpar, // +50
|
||
v__token__Kind__rpar, // +51
|
||
v__token__Kind__lsbr, // +52
|
||
v__token__Kind__nilsbr, // +53
|
||
v__token__Kind__rsbr, // +54
|
||
v__token__Kind__eq, // +55
|
||
v__token__Kind__ne, // +56
|
||
v__token__Kind__gt, // +57
|
||
v__token__Kind__lt, // +58
|
||
v__token__Kind__ge, // +59
|
||
v__token__Kind__le, // +60
|
||
v__token__Kind__comment, // +61
|
||
v__token__Kind__nl, // +62
|
||
v__token__Kind__dot, // +63
|
||
v__token__Kind__dotdot, // +64
|
||
v__token__Kind__ellipsis, // +65
|
||
v__token__Kind__keyword_beg, // +66
|
||
v__token__Kind__key_as, // +67
|
||
v__token__Kind__key_asm, // +68
|
||
v__token__Kind__key_assert, // +69
|
||
v__token__Kind__key_atomic, // +70
|
||
v__token__Kind__key_break, // +71
|
||
v__token__Kind__key_const, // +72
|
||
v__token__Kind__key_continue, // +73
|
||
v__token__Kind__key_defer, // +74
|
||
v__token__Kind__key_else, // +75
|
||
v__token__Kind__key_enum, // +76
|
||
v__token__Kind__key_false, // +77
|
||
v__token__Kind__key_for, // +78
|
||
v__token__Kind__key_fn, // +79
|
||
v__token__Kind__key_global, // +80
|
||
v__token__Kind__key_go, // +81
|
||
v__token__Kind__key_goto, // +82
|
||
v__token__Kind__key_if, // +83
|
||
v__token__Kind__key_import, // +84
|
||
v__token__Kind__key_in, // +85
|
||
v__token__Kind__key_interface, // +86
|
||
v__token__Kind__key_is, // +87
|
||
v__token__Kind__key_match, // +88
|
||
v__token__Kind__key_module, // +89
|
||
v__token__Kind__key_mut, // +90
|
||
v__token__Kind__key_shared, // +91
|
||
v__token__Kind__key_lock, // +92
|
||
v__token__Kind__key_rlock, // +93
|
||
v__token__Kind__key_none, // +94
|
||
v__token__Kind__key_return, // +95
|
||
v__token__Kind__key_select, // +96
|
||
v__token__Kind__key_sizeof, // +97
|
||
v__token__Kind__key_isreftype, // +98
|
||
v__token__Kind__key_likely, // +99
|
||
v__token__Kind__key_unlikely, // +100
|
||
v__token__Kind__key_offsetof, // +101
|
||
v__token__Kind__key_struct, // +102
|
||
v__token__Kind__key_true, // +103
|
||
v__token__Kind__key_type, // +104
|
||
v__token__Kind__key_typeof, // +105
|
||
v__token__Kind__key_dump, // +106
|
||
v__token__Kind__key_orelse, // +107
|
||
v__token__Kind__key_union, // +108
|
||
v__token__Kind__key_pub, // +109
|
||
v__token__Kind__key_static, // +110
|
||
v__token__Kind__key_volatile, // +111
|
||
v__token__Kind__key_unsafe, // +112
|
||
v__token__Kind__keyword_end, // +113
|
||
v__token__Kind___end_, // +114
|
||
} v__token__Kind;
|
||
|
||
typedef enum {
|
||
v__token__AtKind__unknown, //
|
||
v__token__AtKind__fn_name, // +1
|
||
v__token__AtKind__method_name, // +2
|
||
v__token__AtKind__mod_name, // +3
|
||
v__token__AtKind__struct_name, // +4
|
||
v__token__AtKind__vexe_path, // +5
|
||
v__token__AtKind__file_path, // +6
|
||
v__token__AtKind__line_nr, // +7
|
||
v__token__AtKind__column_nr, // +8
|
||
v__token__AtKind__vhash, // +9
|
||
v__token__AtKind__vmod_file, // +10
|
||
v__token__AtKind__vmodroot_path, // +11
|
||
v__token__AtKind__vroot_path, // +12
|
||
v__token__AtKind__vexeroot_path, // +13
|
||
} v__token__AtKind;
|
||
|
||
typedef enum {
|
||
v__token__Precedence__lowest, //
|
||
v__token__Precedence__cond, // +1
|
||
v__token__Precedence__in_as, // +2
|
||
v__token__Precedence__assign, // +3
|
||
v__token__Precedence__eq, // +4
|
||
v__token__Precedence__sum, // +5
|
||
v__token__Precedence__product, // +6
|
||
v__token__Precedence__prefix, // +7
|
||
v__token__Precedence__postfix, // +8
|
||
v__token__Precedence__call, // +9
|
||
v__token__Precedence__index, // +10
|
||
} v__token__Precedence;
|
||
|
||
typedef enum {
|
||
time__FormatTime__hhmm12, //
|
||
time__FormatTime__hhmm24, // +1
|
||
time__FormatTime__hhmmss12, // +2
|
||
time__FormatTime__hhmmss24, // +3
|
||
time__FormatTime__hhmmss24_milli, // +4
|
||
time__FormatTime__hhmmss24_micro, // +5
|
||
time__FormatTime__no_time, // +6
|
||
} time__FormatTime;
|
||
|
||
typedef enum {
|
||
time__FormatDate__ddmmyy, //
|
||
time__FormatDate__ddmmyyyy, // +1
|
||
time__FormatDate__mmddyy, // +2
|
||
time__FormatDate__mmddyyyy, // +3
|
||
time__FormatDate__mmmd, // +4
|
||
time__FormatDate__mmmdd, // +5
|
||
time__FormatDate__mmmddyy, // +6
|
||
time__FormatDate__mmmddyyyy, // +7
|
||
time__FormatDate__no_date, // +8
|
||
time__FormatDate__yyyymmdd, // +9
|
||
time__FormatDate__yymmdd, // +10
|
||
} time__FormatDate;
|
||
|
||
typedef enum {
|
||
time__FormatDelimiter__dot, //
|
||
time__FormatDelimiter__hyphen, // +1
|
||
time__FormatDelimiter__slash, // +2
|
||
time__FormatDelimiter__space, // +3
|
||
time__FormatDelimiter__no_delimiter, // +4
|
||
} time__FormatDelimiter;
|
||
|
||
typedef enum {
|
||
semver__Operator__gt, //
|
||
semver__Operator__lt, // +1
|
||
semver__Operator__ge, // +2
|
||
semver__Operator__le, // +3
|
||
semver__Operator__eq, // +4
|
||
} semver__Operator;
|
||
|
||
typedef enum {
|
||
semver__Increment__major, //
|
||
semver__Increment__minor, // +1
|
||
semver__Increment__patch, // +2
|
||
} semver__Increment;
|
||
|
||
typedef enum {
|
||
os__SeekMode__start, //
|
||
os__SeekMode__current, // +1
|
||
os__SeekMode__end, // +2
|
||
} os__SeekMode;
|
||
|
||
typedef enum {
|
||
os__FileType__regular, //
|
||
os__FileType__directory, // +1
|
||
os__FileType__character_device, // +2
|
||
os__FileType__block_device, // +3
|
||
os__FileType__fifo, // +4
|
||
os__FileType__symbolic_link, // +5
|
||
os__FileType__socket, // +6
|
||
} os__FileType;
|
||
|
||
typedef enum {
|
||
os__ProcessState__not_started, //
|
||
os__ProcessState__running, // +1
|
||
os__ProcessState__stopped, // +2
|
||
os__ProcessState__exited, // +3
|
||
os__ProcessState__aborted, // +4
|
||
os__ProcessState__closed, // +5
|
||
} os__ProcessState;
|
||
|
||
typedef enum {
|
||
os__Signal__hup = 1, // 1
|
||
os__Signal__int = 2, // 2
|
||
os__Signal__quit = 3, // 3
|
||
os__Signal__ill = 4, // 4
|
||
os__Signal__trap = 5, // 5
|
||
os__Signal__abrt = 6, // 6
|
||
os__Signal__bus = 7, // 7
|
||
os__Signal__fpe = 8, // 8
|
||
os__Signal__kill = 9, // 9
|
||
os__Signal__usr1 = 10, // 10
|
||
os__Signal__segv = 11, // 11
|
||
os__Signal__usr2 = 12, // 12
|
||
os__Signal__pipe = 13, // 13
|
||
os__Signal__alrm = 14, // 14
|
||
os__Signal__term = 15, // 15
|
||
os__Signal__stkflt = 16, // 16
|
||
os__Signal__chld = 17, // 17
|
||
os__Signal__cont = 18, // 18
|
||
os__Signal__stop = 19, // 19
|
||
os__Signal__tstp = 20, // 20
|
||
os__Signal__ttin = 21, // 21
|
||
os__Signal__ttou = 22, // 22
|
||
os__Signal__urg = 23, // 23
|
||
os__Signal__xcpu = 24, // 24
|
||
os__Signal__xfsz = 25, // 25
|
||
os__Signal__vtalrm = 26, // 26
|
||
os__Signal__prof = 27, // 27
|
||
os__Signal__winch = 28, // 28
|
||
os__Signal__poll = 29, // 29
|
||
os__Signal__pwr = 30, // 30
|
||
os__Signal__sys = 31, // 31
|
||
} os__Signal;
|
||
|
||
typedef enum {
|
||
v__errors__Reporter__scanner, //
|
||
v__errors__Reporter__parser, // +1
|
||
v__errors__Reporter__checker, // +2
|
||
v__errors__Reporter__builder, // +3
|
||
v__errors__Reporter__gen, // +4
|
||
} v__errors__Reporter;
|
||
|
||
typedef enum {
|
||
v__vet__ErrorKind__error, //
|
||
v__vet__ErrorKind__warning, // +1
|
||
} v__vet__ErrorKind;
|
||
|
||
typedef enum {
|
||
v__vet__FixKind__unknown, //
|
||
v__vet__FixKind__doc, // +1
|
||
v__vet__FixKind__vfmt, // +2
|
||
} v__vet__FixKind;
|
||
|
||
typedef enum {
|
||
v__vet__ErrorType__default, //
|
||
v__vet__ErrorType__space_indent, // +1
|
||
v__vet__ErrorType__trailing_space, // +2
|
||
} v__vet__ErrorType;
|
||
|
||
typedef enum {
|
||
v__vmod__TokenKind__module_keyword, //
|
||
v__vmod__TokenKind__field_key, // +1
|
||
v__vmod__TokenKind__lcbr, // +2
|
||
v__vmod__TokenKind__rcbr, // +3
|
||
v__vmod__TokenKind__labr, // +4
|
||
v__vmod__TokenKind__rabr, // +5
|
||
v__vmod__TokenKind__comma, // +6
|
||
v__vmod__TokenKind__colon, // +7
|
||
v__vmod__TokenKind__eof, // +8
|
||
v__vmod__TokenKind__str, // +9
|
||
v__vmod__TokenKind__ident, // +10
|
||
v__vmod__TokenKind__unknown, // +11
|
||
} v__vmod__TokenKind;
|
||
|
||
typedef enum {
|
||
v__pref__OS___auto, //
|
||
v__pref__OS__ios, // +1
|
||
v__pref__OS__macos, // +2
|
||
v__pref__OS__linux, // +3
|
||
v__pref__OS__windows, // +4
|
||
v__pref__OS__freebsd, // +5
|
||
v__pref__OS__openbsd, // +6
|
||
v__pref__OS__netbsd, // +7
|
||
v__pref__OS__dragonfly, // +8
|
||
v__pref__OS__js_node, // +9
|
||
v__pref__OS__js_browser, // +10
|
||
v__pref__OS__js_freestanding, // +11
|
||
v__pref__OS__android, // +12
|
||
v__pref__OS__solaris, // +13
|
||
v__pref__OS__serenity, // +14
|
||
v__pref__OS__vinix, // +15
|
||
v__pref__OS__haiku, // +16
|
||
v__pref__OS__wasm32, // +17
|
||
v__pref__OS__wasm32_emscripten, // +18
|
||
v__pref__OS__wasm32_wasi, // +19
|
||
v__pref__OS__raw, // +20
|
||
v__pref__OS__all, // +21
|
||
} v__pref__OS;
|
||
|
||
typedef enum {
|
||
v__pref__BuildMode__default_mode, //
|
||
v__pref__BuildMode__build_module, // +1
|
||
} v__pref__BuildMode;
|
||
|
||
typedef enum {
|
||
v__pref__AssertFailureMode__default, //
|
||
v__pref__AssertFailureMode__aborts, // +1
|
||
v__pref__AssertFailureMode__backtraces, // +2
|
||
} v__pref__AssertFailureMode;
|
||
|
||
typedef enum {
|
||
v__pref__GarbageCollectionMode__unknown, //
|
||
v__pref__GarbageCollectionMode__no_gc, // +1
|
||
v__pref__GarbageCollectionMode__boehm_full, // +2
|
||
v__pref__GarbageCollectionMode__boehm_incr, // +3
|
||
v__pref__GarbageCollectionMode__boehm_full_opt, // +4
|
||
v__pref__GarbageCollectionMode__boehm_incr_opt, // +5
|
||
v__pref__GarbageCollectionMode__boehm_leak, // +6
|
||
} v__pref__GarbageCollectionMode;
|
||
|
||
typedef enum {
|
||
v__pref__OutputMode__stdout, //
|
||
v__pref__OutputMode__silent, // +1
|
||
} v__pref__OutputMode;
|
||
|
||
typedef enum {
|
||
v__pref__ColorOutput__auto, //
|
||
v__pref__ColorOutput__always, // +1
|
||
v__pref__ColorOutput__never, // +2
|
||
} v__pref__ColorOutput;
|
||
|
||
typedef enum {
|
||
v__pref__Backend__c, //
|
||
v__pref__Backend__js_node, // +1
|
||
v__pref__Backend__js_browser, // +2
|
||
v__pref__Backend__js_freestanding, // +3
|
||
v__pref__Backend__native, // +4
|
||
v__pref__Backend__interpret, // +5
|
||
} v__pref__Backend;
|
||
|
||
typedef enum {
|
||
v__pref__CompilerType__gcc, //
|
||
v__pref__CompilerType__tinyc, // +1
|
||
v__pref__CompilerType__clang, // +2
|
||
v__pref__CompilerType__mingw, // +3
|
||
v__pref__CompilerType__msvc, // +4
|
||
v__pref__CompilerType__cplusplus, // +5
|
||
} v__pref__CompilerType;
|
||
|
||
typedef enum {
|
||
v__pref__Arch___auto, //
|
||
v__pref__Arch__amd64, // +1
|
||
v__pref__Arch__arm64, // +2
|
||
v__pref__Arch__arm32, // +3
|
||
v__pref__Arch__rv64, // +4
|
||
v__pref__Arch__rv32, // +5
|
||
v__pref__Arch__i386, // +6
|
||
v__pref__Arch__js_node, // +7
|
||
v__pref__Arch__js_browser, // +8
|
||
v__pref__Arch__js_freestanding, // +9
|
||
v__pref__Arch___max, // +10
|
||
} v__pref__Arch;
|
||
|
||
typedef enum {
|
||
sync__BufferElemStat__unused = 0, // 0
|
||
sync__BufferElemStat__writing, // 0+1
|
||
sync__BufferElemStat__written, // 0+2
|
||
sync__BufferElemStat__reading, // 0+3
|
||
} sync__BufferElemStat;
|
||
|
||
typedef enum {
|
||
sync__Direction__pop, //
|
||
sync__Direction__push, // +1
|
||
} sync__Direction;
|
||
|
||
typedef enum {
|
||
v__ast__ComptimeTypeKind__map_, //
|
||
v__ast__ComptimeTypeKind__int, // +1
|
||
v__ast__ComptimeTypeKind__float, // +2
|
||
v__ast__ComptimeTypeKind__struct_, // +3
|
||
v__ast__ComptimeTypeKind__iface, // +4
|
||
v__ast__ComptimeTypeKind__array, // +5
|
||
v__ast__ComptimeTypeKind__sum_type, // +6
|
||
v__ast__ComptimeTypeKind__enum_, // +7
|
||
} v__ast__ComptimeTypeKind;
|
||
|
||
typedef enum {
|
||
v__ast__GenericKindField__unknown, //
|
||
v__ast__GenericKindField__name, // +1
|
||
v__ast__GenericKindField__typ, // +2
|
||
} v__ast__GenericKindField;
|
||
|
||
typedef enum {
|
||
v__ast__IdentKind__unresolved, //
|
||
v__ast__IdentKind__blank_ident, // +1
|
||
v__ast__IdentKind__variable, // +2
|
||
v__ast__IdentKind__constant, // +3
|
||
v__ast__IdentKind__global, // +4
|
||
v__ast__IdentKind__function, // +5
|
||
} v__ast__IdentKind;
|
||
|
||
typedef enum {
|
||
v__ast__ComptimeForKind__methods, //
|
||
v__ast__ComptimeForKind__fields, // +1
|
||
v__ast__ComptimeForKind__attributes, // +2
|
||
} v__ast__ComptimeForKind;
|
||
|
||
typedef enum {
|
||
v__ast__AddressingMode__invalid, //
|
||
v__ast__AddressingMode__displacement, // +1
|
||
v__ast__AddressingMode__base, // +2
|
||
v__ast__AddressingMode__base_plus_displacement, // +3
|
||
v__ast__AddressingMode__index_times_scale_plus_displacement, // +4
|
||
v__ast__AddressingMode__base_plus_index_plus_displacement, // +5
|
||
v__ast__AddressingMode__base_plus_index_times_scale_plus_displacement, // +6
|
||
v__ast__AddressingMode__rip_plus_displacement, // +7
|
||
} v__ast__AddressingMode;
|
||
|
||
typedef enum {
|
||
v__ast__OrKind__absent, //
|
||
v__ast__OrKind__block, // +1
|
||
v__ast__OrKind__propagate_option, // +2
|
||
v__ast__OrKind__propagate_result, // +3
|
||
} v__ast__OrKind;
|
||
|
||
typedef enum {
|
||
v__ast__SqlStmtKind__insert, //
|
||
v__ast__SqlStmtKind__update, // +1
|
||
v__ast__SqlStmtKind__delete, // +2
|
||
v__ast__SqlStmtKind__create, // +3
|
||
v__ast__SqlStmtKind__drop, // +4
|
||
} v__ast__SqlStmtKind;
|
||
|
||
typedef enum {
|
||
v__ast__AttrKind__plain, //
|
||
v__ast__AttrKind__string, // +1
|
||
v__ast__AttrKind__number, // +2
|
||
v__ast__AttrKind__bool, // +3
|
||
v__ast__AttrKind__comptime_define, // +4
|
||
} v__ast__AttrKind;
|
||
|
||
typedef enum {
|
||
v__ast__Language__v, //
|
||
v__ast__Language__c, // +1
|
||
v__ast__Language__js, // +2
|
||
v__ast__Language__amd64, // +3
|
||
v__ast__Language__i386, // +4
|
||
v__ast__Language__arm64, // +5
|
||
v__ast__Language__arm32, // +6
|
||
v__ast__Language__rv64, // +7
|
||
v__ast__Language__rv32, // +8
|
||
} v__ast__Language;
|
||
|
||
typedef enum {
|
||
v__ast__TypeFlag__optional, //
|
||
v__ast__TypeFlag__result, // +1
|
||
v__ast__TypeFlag__variadic, // +2
|
||
v__ast__TypeFlag__generic, // +3
|
||
v__ast__TypeFlag__shared_f, // +4
|
||
v__ast__TypeFlag__atomic_f, // +5
|
||
} v__ast__TypeFlag;
|
||
|
||
typedef enum {
|
||
v__ast__ShareType__mut_t, //
|
||
v__ast__ShareType__shared_t, // +1
|
||
v__ast__ShareType__atomic_t, // +2
|
||
} v__ast__ShareType;
|
||
|
||
typedef enum {
|
||
v__ast__Kind__placeholder, //
|
||
v__ast__Kind__void, // +1
|
||
v__ast__Kind__voidptr, // +2
|
||
v__ast__Kind__byteptr, // +3
|
||
v__ast__Kind__charptr, // +4
|
||
v__ast__Kind__i8, // +5
|
||
v__ast__Kind__i16, // +6
|
||
v__ast__Kind__int, // +7
|
||
v__ast__Kind__i64, // +8
|
||
v__ast__Kind__isize, // +9
|
||
v__ast__Kind__u8, // +10
|
||
v__ast__Kind__u16, // +11
|
||
v__ast__Kind__u32, // +12
|
||
v__ast__Kind__u64, // +13
|
||
v__ast__Kind__usize, // +14
|
||
v__ast__Kind__f32, // +15
|
||
v__ast__Kind__f64, // +16
|
||
v__ast__Kind__char, // +17
|
||
v__ast__Kind__rune, // +18
|
||
v__ast__Kind__bool, // +19
|
||
v__ast__Kind__none_, // +20
|
||
v__ast__Kind__string, // +21
|
||
v__ast__Kind__array, // +22
|
||
v__ast__Kind__array_fixed, // +23
|
||
v__ast__Kind__map, // +24
|
||
v__ast__Kind__chan, // +25
|
||
v__ast__Kind__any, // +26
|
||
v__ast__Kind__struct_, // +27
|
||
v__ast__Kind__generic_inst, // +28
|
||
v__ast__Kind__multi_return, // +29
|
||
v__ast__Kind__sum_type, // +30
|
||
v__ast__Kind__alias, // +31
|
||
v__ast__Kind__enum_, // +32
|
||
v__ast__Kind__function, // +33
|
||
v__ast__Kind__interface_, // +34
|
||
v__ast__Kind__float_literal, // +35
|
||
v__ast__Kind__int_literal, // +36
|
||
v__ast__Kind__aggregate, // +37
|
||
v__ast__Kind__thread, // +38
|
||
} v__ast__Kind;
|
||
|
||
typedef enum {
|
||
v__checker__ComptimeBranchSkipState__eval, //
|
||
v__checker__ComptimeBranchSkipState__skip, // +1
|
||
v__checker__ComptimeBranchSkipState__unknown, // +2
|
||
} v__checker__ComptimeBranchSkipState;
|
||
|
||
typedef enum {
|
||
v__gen__c__SqlExprSide__left, //
|
||
v__gen__c__SqlExprSide__right, // +1
|
||
} v__gen__c__SqlExprSide;
|
||
|
||
typedef enum {
|
||
v__gen__c__SqlType__sqlite3, //
|
||
v__gen__c__SqlType__mysql, // +1
|
||
v__gen__c__SqlType__psql, // +2
|
||
v__gen__c__SqlType__mssql, // +3
|
||
v__gen__c__SqlType__unknown, // +4
|
||
} v__gen__c__SqlType;
|
||
|
||
typedef enum {
|
||
v__scanner__CommentsMode__skip_comments, //
|
||
v__scanner__CommentsMode__parse_comments, // +1
|
||
v__scanner__CommentsMode__toplevel_comments, // +2
|
||
} v__scanner__CommentsMode;
|
||
|
||
typedef enum {
|
||
v__parser__State__simple, //
|
||
v__parser__State__html, // +1
|
||
v__parser__State__css, // +2
|
||
v__parser__State__js, // +3
|
||
} v__parser__State;
|
||
|
||
|
||
// V type definitions:
|
||
struct IError {
|
||
union {
|
||
void* _object;
|
||
None__* _None__;
|
||
Error* _Error;
|
||
MessageError* _MessageError;
|
||
time__TimeParseError* _time__TimeParseError;
|
||
flag__UnkownFlagError* _flag__UnkownFlagError;
|
||
flag__ArgsCountError* _flag__ArgsCountError;
|
||
semver__InvalidComparatorFormatError* _semver__InvalidComparatorFormatError;
|
||
semver__EmptyInputError* _semver__EmptyInputError;
|
||
semver__InvalidVersionFormatError* _semver__InvalidVersionFormatError;
|
||
os__FileNotOpenedError* _os__FileNotOpenedError;
|
||
os__SizeOfTypeIs0Error* _os__SizeOfTypeIs0Error;
|
||
os__ExecutableNotFoundError* _os__ExecutableNotFoundError;
|
||
v__gen__c__UnsupportedAssertCtempTransform* _v__gen__c__UnsupportedAssertCtempTransform;
|
||
};
|
||
int _typ;
|
||
string* msg;
|
||
int* code;
|
||
};
|
||
|
||
struct string {
|
||
u8* str;
|
||
int len;
|
||
int is_lit;
|
||
};
|
||
|
||
|
||
|
||
struct array {
|
||
int element_size;
|
||
voidptr data;
|
||
int offset;
|
||
int len;
|
||
int cap;
|
||
ArrayFlags flags;
|
||
};
|
||
|
||
|
||
|
||
struct DenseArray {
|
||
int key_bytes;
|
||
int value_bytes;
|
||
int cap;
|
||
int len;
|
||
u32 deletes;
|
||
u8* all_deleted;
|
||
u8* keys;
|
||
u8* values;
|
||
};
|
||
|
||
|
||
|
||
struct map {
|
||
int key_bytes;
|
||
int value_bytes;
|
||
u32 even_index;
|
||
u8 cached_hashbits;
|
||
u8 shift;
|
||
DenseArray key_values;
|
||
u32* metas;
|
||
u32 extra_metas;
|
||
bool has_string_keys;
|
||
MapHashFn hash_fn;
|
||
MapEqFn key_eq_fn;
|
||
MapCloneFn clone_fn;
|
||
MapFreeFn free_fn;
|
||
int len;
|
||
};
|
||
|
||
|
||
|
||
struct Error {
|
||
EMPTY_STRUCT_DECLARATION;
|
||
};
|
||
|
||
|
||
|
||
struct _option {
|
||
u8 state;
|
||
IError err;
|
||
};
|
||
|
||
|
||
|
||
struct _result {
|
||
bool is_error;
|
||
IError err;
|
||
};
|
||
|
||
|
||
typedef array Array_string;
|
||
typedef array Array_u8;
|
||
typedef array Array_int;
|
||
typedef array Array_voidptr;
|
||
typedef array Array_VCastTypeIndexName;
|
||
typedef array Array_MethodArgs;
|
||
typedef u64 Array_fixed_u64_2 [2];
|
||
typedef char Array_fixed_char_254 [254];
|
||
typedef array Array_u8_ptr;
|
||
typedef array Array_rune;
|
||
typedef string Array_fixed_string_11 [11];
|
||
typedef voidptr Array_fixed_voidptr_11 [11];
|
||
typedef array Array_RepIndex;
|
||
typedef map Map_string_int;
|
||
typedef map Map_string_string;
|
||
typedef array Array_char_ptr;
|
||
typedef u16 Array_fixed_u16_260 [260];
|
||
typedef u16 Array_fixed_u16_14 [14];
|
||
typedef int Array_fixed_int_3 [3];
|
||
typedef u8 Array_fixed_u8_65536 [65536];
|
||
typedef char Array_fixed_char_256 [256];
|
||
typedef u8 Array_fixed_u8_20 [20];
|
||
typedef map Map_string_Array_string;
|
||
typedef array Array_v__util__Possibility;
|
||
typedef map Map_string_time__StopWatch;
|
||
typedef array Array_v__ast__File_ptr;
|
||
typedef array Array_v__builder__FunctionRedefinition;
|
||
typedef array Array_v__cflag__CFlag;
|
||
typedef map Map_string_bool;
|
||
typedef array Array_u32;
|
||
typedef array Array_v__token__WIndex;
|
||
typedef map Map_string_T;
|
||
typedef map Map_string_v__token__Kind;
|
||
typedef array Array_v__token__Precedence;
|
||
typedef array Array_v__vmod__Token;
|
||
typedef map Map_string_v__vmod__ModFileAndFolder;
|
||
typedef array Array_v__ast__Stmt;
|
||
typedef array Array_v__ast__Comment;
|
||
typedef array Array_bool;
|
||
typedef array Array_v__token__Pos;
|
||
typedef array Array_v__ast__Expr;
|
||
typedef array Array_v__ast__Type;
|
||
typedef array Array_v__ast__Attr;
|
||
typedef array Array_v__ast__ConstField;
|
||
typedef array Array_v__ast__Embed;
|
||
typedef array Array_v__ast__StructField;
|
||
typedef array Array_v__ast__FnDecl;
|
||
typedef array Array_v__ast__InterfaceEmbedding;
|
||
typedef array Array_v__ast__StructInitField;
|
||
typedef array Array_v__ast__StructInitEmbed;
|
||
typedef array Array_v__ast__ImportSymbol;
|
||
typedef array Array_v__ast__Param;
|
||
typedef array Array_v__ast__DeferStmt;
|
||
typedef array Array_v__ast__CallArg;
|
||
typedef array Array_v__ast__GlobalField;
|
||
typedef array Array_v__ast__Import;
|
||
typedef array Array_v__ast__EmbeddedFile;
|
||
typedef array Array_v__errors__Error;
|
||
typedef array Array_v__errors__Warning;
|
||
typedef array Array_v__errors__Notice;
|
||
typedef array Array_v__ast__FnDecl_ptr;
|
||
typedef array Array_v__ast__IfBranch;
|
||
typedef array Array_v__ast__MatchBranch;
|
||
typedef array Array_Array_v__ast__Comment;
|
||
typedef array Array_v__ast__SelectBranch;
|
||
typedef array Array_v__ast__EnumField;
|
||
typedef array Array_v__ast__TypeNode;
|
||
typedef array Array_v__ast__Ident;
|
||
typedef array Array_v__ast__AsmClobbered;
|
||
typedef array Array_v__ast__AsmTemplate;
|
||
typedef array Array_v__ast__AsmIO;
|
||
typedef array Array_v__ast__AsmArg;
|
||
typedef array Array_v__ast__IfGuardVar;
|
||
typedef array Array_v__ast__SqlStmtLine;
|
||
typedef map Map_int_v__ast__SqlStmtLine;
|
||
typedef map Map_int_v__ast__SqlExpr;
|
||
typedef array Array_v__ast__Node;
|
||
typedef map Map_string_v__ast__ScopeObject;
|
||
typedef map Map_string_v__ast__ScopeStructField;
|
||
typedef array Array_v__ast__Scope_ptr;
|
||
typedef array Array_v__ast__TypeSymbol_ptr;
|
||
typedef map Map_string_v__ast__Fn;
|
||
typedef map Map_string_Array_v__ast__Type;
|
||
typedef map Map_int_string;
|
||
typedef array Array_Array_v__ast__Type;
|
||
typedef map Map_string_Array_Array_v__ast__Type;
|
||
typedef map Map_int_v__ast__InterfaceDecl;
|
||
typedef map Map_string_v__ast__EnumDecl;
|
||
typedef map Map_string_time__Time;
|
||
typedef map Map_u64_string;
|
||
typedef array Array_v__ast__Fn;
|
||
typedef map Map_string_v__ast__StructField;
|
||
typedef array Array_v__ast__Kind;
|
||
typedef map Map_int_Array_v__ast__Type;
|
||
typedef array Array_v__ast__File;
|
||
typedef map Map_string_v__ast__Type;
|
||
typedef map Map_int_v__ast__InterfaceEmbedding;
|
||
typedef array Array_i64;
|
||
typedef array Array_v__transformer__KeyVal;
|
||
typedef array Array_Array_v__transformer__KeyVal;
|
||
typedef array Array_v__vet__Error;
|
||
typedef map Map_string_v__ast__FnDecl;
|
||
typedef map Map_string_v__ast__ConstField;
|
||
typedef map Map_string_v__ast__GlobalField;
|
||
typedef array Array_v__depgraph__DepGraphNode;
|
||
typedef map Map_string_i64;
|
||
typedef map Map_string_strings__Builder;
|
||
typedef map Map_string_v__gen__c__GlobalConstDef;
|
||
typedef map Map_string_v__ast__Stmt_ptr;
|
||
typedef array Array_v__gen__c__StrType;
|
||
typedef array Array_v__gen__c__SumtypeCastingFn;
|
||
typedef map Map_int_bool;
|
||
typedef array Array_v__gen__c__ProfileCounterMeta;
|
||
typedef array Array_v__ast__InfixExpr;
|
||
typedef array Array_v__ast__TypeSymbol;
|
||
typedef array Array_v__token__Token;
|
||
typedef array Array_sync__Channel_ptr;
|
||
typedef array Array_sync__Direction;
|
||
typedef array Array_sync__Subscription;
|
||
typedef array Array_flag__Flag;
|
||
typedef array Array_f64;
|
||
typedef array Array_semver__Comparator;
|
||
typedef array Array_semver__ComparatorSet;
|
||
typedef u8 Array_fixed_u8_5 [5];
|
||
typedef array Array_u64;
|
||
typedef array Array_strconv__Uint128;
|
||
typedef u8 Array_fixed_u8_32 [32];
|
||
typedef u8 Array_fixed_u8_26 [26];
|
||
typedef voidptr Array_fixed_voidptr_100 [100];
|
||
typedef u8 Array_fixed_u8_17 [17];
|
||
typedef array Array_StrIntpType;
|
||
typedef array Array_v__token__Kind;
|
||
typedef u16 Array_fixed_u16_32768 [32768];
|
||
typedef u8 Array_fixed_u8_4096 [4096];
|
||
typedef u16 Array_fixed_u16_255 [255];
|
||
typedef array Array_os__ProcessState;
|
||
typedef u8 Array_fixed_u8_50 [50];
|
||
typedef array Array_v__vmod__TokenKind;
|
||
typedef array Array_v__pref__Backend;
|
||
typedef map Map_int_Array_string;
|
||
typedef map Map_int_Map_string_int;
|
||
typedef array Array_v__ast__IdentKind;
|
||
typedef array Array_v__ast__IfExpr;
|
||
typedef array Array_v__ast__BoolLiteral;
|
||
typedef array Array_v__ast__SelectorExpr;
|
||
typedef array Array_v__pref__GarbageCollectionMode;
|
||
typedef array Array_v__gen__c__Gen_ptr;
|
||
typedef array Array_v__ast__Struct;
|
||
typedef array Array_v__ast__CallExpr;
|
||
typedef array Array_v__pref__Arch;
|
||
typedef array Array_v__pref__OS;
|
||
typedef u8 byte;
|
||
typedef int i32;
|
||
typedef Array_u8 strings__Builder;
|
||
typedef voidptr os__HANDLE;
|
||
typedef voidptr os__HMODULE;
|
||
typedef u32* os__PU32;
|
||
typedef voidptr v__builder__RegKey;
|
||
typedef i64 time__Duration;
|
||
typedef int v__ast__Type;
|
||
typedef voidptr sync__MHANDLE;
|
||
typedef voidptr sync__SHANDLE;
|
||
typedef bool (*anon_fn_voidptr__bool)(voidptr);
|
||
typedef voidptr (*anon_fn_voidptr__voidptr)(voidptr);
|
||
typedef int (*anon_fn_voidptr_voidptr__int)(voidptr,voidptr);
|
||
typedef int (*anon_fn_int_int__int)(int,int);
|
||
typedef void (*FnExitCb)();
|
||
typedef int (*VectoredExceptionHandler)(ExceptionPointers*);
|
||
typedef int (*FnSortCB)(voidptr,voidptr);
|
||
typedef void (*os__ShellExecuteWin)(voidptr,u16*,u16*,u16*,u16*,int);
|
||
typedef void (*anon_fn_string)(string);
|
||
typedef void (*os__FnWalkContextCB)(voidptr,string);
|
||
typedef u32 (*os__VectoredExceptionHandler)(ExceptionPointers*);
|
||
typedef void (*os__FN_NTSuspendResume)(voidptr);
|
||
typedef void (*os__SignalHandler)(os__Signal);
|
||
typedef void (*os__FN_SA_Handler)(int);
|
||
typedef string (*anon_fn_string__string)(string);
|
||
typedef void (*v__builder__FnBackend)(v__builder__Builder*);
|
||
typedef void (*v__ast__FnPanicHandler)(v__ast__Table*,string);
|
||
typedef string (*v__dotgraph__FnLabel2NodeName)(string,voidptr);
|
||
typedef bool (*v__ast__walker__InspectorFn)(v__ast__Node*,voidptr);
|
||
typedef void (*anon_fn_)();
|
||
typedef void (*anon_fn_voidptr)(voidptr);
|
||
typedef voidptr (*sync__pool__ThreadCB)(sync__pool__PoolProcessor*,int,int);
|
||
struct rand__PRNG {
|
||
union {
|
||
void* _object;
|
||
rand__wyrand__WyRandRNG* _rand__wyrand__WyRandRNG;
|
||
};
|
||
int _typ;
|
||
};
|
||
struct hash__Hasher {
|
||
union {
|
||
void* _object;
|
||
};
|
||
int _typ;
|
||
};
|
||
struct hash__Hash32er {
|
||
union {
|
||
void* _object;
|
||
};
|
||
int _typ;
|
||
};
|
||
struct hash__Hash64er {
|
||
union {
|
||
void* _object;
|
||
};
|
||
int _typ;
|
||
};
|
||
struct v__ast__walker__Visitor {
|
||
union {
|
||
void* _object;
|
||
v__ast__walker__Inspector* _v__ast__walker__Inspector;
|
||
v__callgraph__Mapper* _v__callgraph__Mapper;
|
||
};
|
||
int _typ;
|
||
};
|
||
// #start sorted_symbols
|
||
struct none {
|
||
EMPTY_STRUCT_DECLARATION;
|
||
};
|
||
typedef HANDLE __v_thread;
|
||
|
||
struct ContextRecord {
|
||
EMPTY_STRUCT_DECLARATION;
|
||
};
|
||
|
||
|
||
|
||
struct ExceptionPointers {
|
||
ExceptionRecord* exception_record;
|
||
ContextRecord* context_record;
|
||
};
|
||
|
||
|
||
|
||
struct None__ {
|
||
Error Error;
|
||
};
|
||
|
||
|
||
|
||
struct StrIntpCgenData {
|
||
string str;
|
||
string fmt;
|
||
string d;
|
||
};
|
||
|
||
|
||
|
||
struct os__FileNotOpenedError {
|
||
Error Error;
|
||
};
|
||
|
||
|
||
|
||
struct os__SizeOfTypeIs0Error {
|
||
Error Error;
|
||
};
|
||
|
||
|
||
|
||
struct os__ExecutableNotFoundError {
|
||
Error Error;
|
||
};
|
||
|
||
|
||
|
||
struct os__Uname {
|
||
string sysname;
|
||
string nodename;
|
||
string release;
|
||
string version;
|
||
string machine;
|
||
};
|
||
|
||
|
||
|
||
struct os__ContextRecord {
|
||
EMPTY_STRUCT_DECLARATION;
|
||
};
|
||
|
||
|
||
|
||
struct os__ExceptionPointers {
|
||
ExceptionRecord* exception_record;
|
||
ContextRecord* context_record;
|
||
};
|
||
|
||
|
||
|
||
struct v__cflag__CFlag {
|
||
string mod;
|
||
string os;
|
||
string name;
|
||
string value;
|
||
string cached;
|
||
};
|
||
|
||
|
||
|
||
struct v__builder__WindowsKit {
|
||
string um_lib_path;
|
||
string ucrt_lib_path;
|
||
string um_include_path;
|
||
string ucrt_include_path;
|
||
string shared_include_path;
|
||
};
|
||
|
||
|
||
|
||
struct v__builder__VsInstallation {
|
||
string include_path;
|
||
string lib_path;
|
||
string exe_path;
|
||
};
|
||
|
||
|
||
|
||
struct v__vmod__ModFileAndFolder {
|
||
string vmod_file;
|
||
string vmod_folder;
|
||
};
|
||
|
||
|
||
|
||
// Union sum type v__ast__TypeDecl =
|
||
// | 283 = v__ast__AliasTypeDecl
|
||
// | 284 = v__ast__FnTypeDecl
|
||
// | 285 = v__ast__SumTypeDecl
|
||
struct v__ast__TypeDecl {
|
||
union {
|
||
v__ast__AliasTypeDecl* _v__ast__AliasTypeDecl;
|
||
v__ast__FnTypeDecl* _v__ast__FnTypeDecl;
|
||
v__ast__SumTypeDecl* _v__ast__SumTypeDecl;
|
||
};
|
||
int _typ;
|
||
string* name;
|
||
bool* is_pub;
|
||
v__token__Pos* pos;
|
||
Array_v__ast__Comment* comments;
|
||
};
|
||
|
||
|
||
// Union sum type v__ast__Expr =
|
||
// | 287 = v__ast__AnonFn
|
||
// | 288 = v__ast__ArrayDecompose
|
||
// | 289 = v__ast__ArrayInit
|
||
// | 290 = v__ast__AsCast
|
||
// | 291 = v__ast__Assoc
|
||
// | 292 = v__ast__AtExpr
|
||
// | 293 = v__ast__BoolLiteral
|
||
// | 294 = v__ast__CTempVar
|
||
// | 295 = v__ast__CallExpr
|
||
// | 296 = v__ast__CastExpr
|
||
// | 297 = v__ast__ChanInit
|
||
// | 298 = v__ast__CharLiteral
|
||
// | 299 = v__ast__Comment
|
||
// | 300 = v__ast__ComptimeCall
|
||
// | 301 = v__ast__ComptimeSelector
|
||
// | 302 = v__ast__ComptimeType
|
||
// | 303 = v__ast__ConcatExpr
|
||
// | 304 = v__ast__DumpExpr
|
||
// | 305 = v__ast__EmptyExpr
|
||
// | 306 = v__ast__EnumVal
|
||
// | 307 = v__ast__FloatLiteral
|
||
// | 308 = v__ast__GoExpr
|
||
// | 309 = v__ast__Ident
|
||
// | 310 = v__ast__IfExpr
|
||
// | 311 = v__ast__IfGuardExpr
|
||
// | 312 = v__ast__IndexExpr
|
||
// | 313 = v__ast__InfixExpr
|
||
// | 314 = v__ast__IntegerLiteral
|
||
// | 315 = v__ast__IsRefType
|
||
// | 316 = v__ast__Likely
|
||
// | 317 = v__ast__LockExpr
|
||
// | 318 = v__ast__MapInit
|
||
// | 319 = v__ast__MatchExpr
|
||
// | 320 = v__ast__NodeError
|
||
// | 321 = v__ast__None
|
||
// | 322 = v__ast__OffsetOf
|
||
// | 323 = v__ast__OrExpr
|
||
// | 324 = v__ast__ParExpr
|
||
// | 325 = v__ast__PostfixExpr
|
||
// | 326 = v__ast__PrefixExpr
|
||
// | 327 = v__ast__RangeExpr
|
||
// | 328 = v__ast__SelectExpr
|
||
// | 329 = v__ast__SelectorExpr
|
||
// | 330 = v__ast__SizeOf
|
||
// | 331 = v__ast__SqlExpr
|
||
// | 332 = v__ast__StringInterLiteral
|
||
// | 333 = v__ast__StringLiteral
|
||
// | 334 = v__ast__StructInit
|
||
// | 335 = v__ast__TypeNode
|
||
// | 336 = v__ast__TypeOf
|
||
// | 337 = v__ast__UnsafeExpr
|
||
struct v__ast__Expr {
|
||
union {
|
||
v__ast__AnonFn* _v__ast__AnonFn;
|
||
v__ast__ArrayDecompose* _v__ast__ArrayDecompose;
|
||
v__ast__ArrayInit* _v__ast__ArrayInit;
|
||
v__ast__AsCast* _v__ast__AsCast;
|
||
v__ast__Assoc* _v__ast__Assoc;
|
||
v__ast__AtExpr* _v__ast__AtExpr;
|
||
v__ast__BoolLiteral* _v__ast__BoolLiteral;
|
||
v__ast__CTempVar* _v__ast__CTempVar;
|
||
v__ast__CallExpr* _v__ast__CallExpr;
|
||
v__ast__CastExpr* _v__ast__CastExpr;
|
||
v__ast__ChanInit* _v__ast__ChanInit;
|
||
v__ast__CharLiteral* _v__ast__CharLiteral;
|
||
v__ast__Comment* _v__ast__Comment;
|
||
v__ast__ComptimeCall* _v__ast__ComptimeCall;
|
||
v__ast__ComptimeSelector* _v__ast__ComptimeSelector;
|
||
v__ast__ComptimeType* _v__ast__ComptimeType;
|
||
v__ast__ConcatExpr* _v__ast__ConcatExpr;
|
||
v__ast__DumpExpr* _v__ast__DumpExpr;
|
||
v__ast__EmptyExpr* _v__ast__EmptyExpr;
|
||
v__ast__EnumVal* _v__ast__EnumVal;
|
||
v__ast__FloatLiteral* _v__ast__FloatLiteral;
|
||
v__ast__GoExpr* _v__ast__GoExpr;
|
||
v__ast__Ident* _v__ast__Ident;
|
||
v__ast__IfExpr* _v__ast__IfExpr;
|
||
v__ast__IfGuardExpr* _v__ast__IfGuardExpr;
|
||
v__ast__IndexExpr* _v__ast__IndexExpr;
|
||
v__ast__InfixExpr* _v__ast__InfixExpr;
|
||
v__ast__IntegerLiteral* _v__ast__IntegerLiteral;
|
||
v__ast__IsRefType* _v__ast__IsRefType;
|
||
v__ast__Likely* _v__ast__Likely;
|
||
v__ast__LockExpr* _v__ast__LockExpr;
|
||
v__ast__MapInit* _v__ast__MapInit;
|
||
v__ast__MatchExpr* _v__ast__MatchExpr;
|
||
v__ast__NodeError* _v__ast__NodeError;
|
||
v__ast__None* _v__ast__None;
|
||
v__ast__OffsetOf* _v__ast__OffsetOf;
|
||
v__ast__OrExpr* _v__ast__OrExpr;
|
||
v__ast__ParExpr* _v__ast__ParExpr;
|
||
v__ast__PostfixExpr* _v__ast__PostfixExpr;
|
||
v__ast__PrefixExpr* _v__ast__PrefixExpr;
|
||
v__ast__RangeExpr* _v__ast__RangeExpr;
|
||
v__ast__SelectExpr* _v__ast__SelectExpr;
|
||
v__ast__SelectorExpr* _v__ast__SelectorExpr;
|
||
v__ast__SizeOf* _v__ast__SizeOf;
|
||
v__ast__SqlExpr* _v__ast__SqlExpr;
|
||
v__ast__StringInterLiteral* _v__ast__StringInterLiteral;
|
||
v__ast__StringLiteral* _v__ast__StringLiteral;
|
||
v__ast__StructInit* _v__ast__StructInit;
|
||
v__ast__TypeNode* _v__ast__TypeNode;
|
||
v__ast__TypeOf* _v__ast__TypeOf;
|
||
v__ast__UnsafeExpr* _v__ast__UnsafeExpr;
|
||
};
|
||
int _typ;
|
||
};
|
||
|
||
|
||
// Union sum type v__ast__Stmt =
|
||
// | 339 = v__ast__AsmStmt
|
||
// | 340 = v__ast__AssertStmt
|
||
// | 341 = v__ast__AssignStmt
|
||
// | 342 = v__ast__Block
|
||
// | 343 = v__ast__BranchStmt
|
||
// | 344 = v__ast__ComptimeFor
|
||
// | 345 = v__ast__ConstDecl
|
||
// | 346 = v__ast__DeferStmt
|
||
// | 347 = v__ast__EmptyStmt
|
||
// | 348 = v__ast__EnumDecl
|
||
// | 349 = v__ast__ExprStmt
|
||
// | 220 = v__ast__FnDecl
|
||
// | 350 = v__ast__ForCStmt
|
||
// | 351 = v__ast__ForInStmt
|
||
// | 352 = v__ast__ForStmt
|
||
// | 353 = v__ast__GlobalDecl
|
||
// | 354 = v__ast__GotoLabel
|
||
// | 355 = v__ast__GotoStmt
|
||
// | 356 = v__ast__HashStmt
|
||
// | 357 = v__ast__Import
|
||
// | 358 = v__ast__InterfaceDecl
|
||
// | 359 = v__ast__Module
|
||
// | 320 = v__ast__NodeError
|
||
// | 360 = v__ast__Return
|
||
// | 361 = v__ast__SqlStmt
|
||
// | 362 = v__ast__StructDecl
|
||
// | 286 = v__ast__TypeDecl
|
||
struct v__ast__Stmt {
|
||
union {
|
||
v__ast__AsmStmt* _v__ast__AsmStmt;
|
||
v__ast__AssertStmt* _v__ast__AssertStmt;
|
||
v__ast__AssignStmt* _v__ast__AssignStmt;
|
||
v__ast__Block* _v__ast__Block;
|
||
v__ast__BranchStmt* _v__ast__BranchStmt;
|
||
v__ast__ComptimeFor* _v__ast__ComptimeFor;
|
||
v__ast__ConstDecl* _v__ast__ConstDecl;
|
||
v__ast__DeferStmt* _v__ast__DeferStmt;
|
||
v__ast__EmptyStmt* _v__ast__EmptyStmt;
|
||
v__ast__EnumDecl* _v__ast__EnumDecl;
|
||
v__ast__ExprStmt* _v__ast__ExprStmt;
|
||
v__ast__FnDecl* _v__ast__FnDecl;
|
||
v__ast__ForCStmt* _v__ast__ForCStmt;
|
||
v__ast__ForInStmt* _v__ast__ForInStmt;
|
||
v__ast__ForStmt* _v__ast__ForStmt;
|
||
v__ast__GlobalDecl* _v__ast__GlobalDecl;
|
||
v__ast__GotoLabel* _v__ast__GotoLabel;
|
||
v__ast__GotoStmt* _v__ast__GotoStmt;
|
||
v__ast__HashStmt* _v__ast__HashStmt;
|
||
v__ast__Import* _v__ast__Import;
|
||
v__ast__InterfaceDecl* _v__ast__InterfaceDecl;
|
||
v__ast__Module* _v__ast__Module;
|
||
v__ast__NodeError* _v__ast__NodeError;
|
||
v__ast__Return* _v__ast__Return;
|
||
v__ast__SqlStmt* _v__ast__SqlStmt;
|
||
v__ast__StructDecl* _v__ast__StructDecl;
|
||
v__ast__TypeDecl* _v__ast__TypeDecl;
|
||
};
|
||
int _typ;
|
||
v__token__Pos* pos;
|
||
};
|
||
|
||
|
||
// Union sum type v__ast__ScopeObject =
|
||
// | 364 = v__ast__AsmRegister
|
||
// | 365 = v__ast__ConstField
|
||
// | 366 = v__ast__GlobalField
|
||
// | 367 = v__ast__Var
|
||
struct v__ast__ScopeObject {
|
||
union {
|
||
v__ast__AsmRegister* _v__ast__AsmRegister;
|
||
v__ast__ConstField* _v__ast__ConstField;
|
||
v__ast__GlobalField* _v__ast__GlobalField;
|
||
v__ast__Var* _v__ast__Var;
|
||
};
|
||
int _typ;
|
||
string* name;
|
||
v__ast__Type* typ;
|
||
};
|
||
|
||
|
||
// Union sum type v__ast__Node =
|
||
// | 369 = v__ast__CallArg
|
||
// | 365 = v__ast__ConstField
|
||
// | 370 = v__ast__EmptyNode
|
||
// | 371 = v__ast__EnumField
|
||
// | 338 = v__ast__Expr
|
||
// | 211 = v__ast__File
|
||
// | 366 = v__ast__GlobalField
|
||
// | 372 = v__ast__IfBranch
|
||
// | 373 = v__ast__MatchBranch
|
||
// | 320 = v__ast__NodeError
|
||
// | 374 = v__ast__Param
|
||
// | 368 = v__ast__ScopeObject
|
||
// | 375 = v__ast__SelectBranch
|
||
// | 363 = v__ast__Stmt
|
||
// | 376 = v__ast__StructField
|
||
// | 377 = v__ast__StructInitField
|
||
struct v__ast__Node {
|
||
union {
|
||
v__ast__CallArg* _v__ast__CallArg;
|
||
v__ast__ConstField* _v__ast__ConstField;
|
||
v__ast__EmptyNode* _v__ast__EmptyNode;
|
||
v__ast__EnumField* _v__ast__EnumField;
|
||
v__ast__Expr* _v__ast__Expr;
|
||
v__ast__File* _v__ast__File;
|
||
v__ast__GlobalField* _v__ast__GlobalField;
|
||
v__ast__IfBranch* _v__ast__IfBranch;
|
||
v__ast__MatchBranch* _v__ast__MatchBranch;
|
||
v__ast__NodeError* _v__ast__NodeError;
|
||
v__ast__Param* _v__ast__Param;
|
||
v__ast__ScopeObject* _v__ast__ScopeObject;
|
||
v__ast__SelectBranch* _v__ast__SelectBranch;
|
||
v__ast__Stmt* _v__ast__Stmt;
|
||
v__ast__StructField* _v__ast__StructField;
|
||
v__ast__StructInitField* _v__ast__StructInitField;
|
||
};
|
||
int _typ;
|
||
};
|
||
|
||
|
||
// Union sum type v__ast__ComptTimeConstValue =
|
||
// | 305 = v__ast__EmptyExpr
|
||
// | 15 = f32
|
||
// | 16 = f64
|
||
// | 6 = i16
|
||
// | 8 = i64
|
||
// | 5 = i8
|
||
// | 7 = int
|
||
// | 21 = rune
|
||
// | 20 = string
|
||
// | 11 = u16
|
||
// | 12 = u32
|
||
// | 13 = u64
|
||
// | 10 = u8
|
||
struct v__ast__ComptTimeConstValue {
|
||
union {
|
||
v__ast__EmptyExpr* _v__ast__EmptyExpr;
|
||
f32* _f32;
|
||
f64* _f64;
|
||
i16* _i16;
|
||
i64* _i64;
|
||
i8* _i8;
|
||
int* _int;
|
||
rune* _rune;
|
||
string* _string;
|
||
u16* _u16;
|
||
u32* _u32;
|
||
u64* _u64;
|
||
u8* _u8;
|
||
};
|
||
int _typ;
|
||
};
|
||
|
||
|
||
// Union sum type v__ast__IdentInfo =
|
||
// | 418 = v__ast__IdentFn
|
||
// | 419 = v__ast__IdentVar
|
||
struct v__ast__IdentInfo {
|
||
union {
|
||
v__ast__IdentFn* _v__ast__IdentFn;
|
||
v__ast__IdentVar* _v__ast__IdentVar;
|
||
};
|
||
int _typ;
|
||
};
|
||
|
||
|
||
// Union sum type v__ast__AsmArg =
|
||
// | 439 = v__ast__AsmAddressing
|
||
// | 440 = v__ast__AsmAlias
|
||
// | 441 = v__ast__AsmDisp
|
||
// | 364 = v__ast__AsmRegister
|
||
// | 293 = v__ast__BoolLiteral
|
||
// | 298 = v__ast__CharLiteral
|
||
// | 307 = v__ast__FloatLiteral
|
||
// | 314 = v__ast__IntegerLiteral
|
||
// | 20 = string
|
||
struct v__ast__AsmArg {
|
||
union {
|
||
v__ast__AsmAddressing* _v__ast__AsmAddressing;
|
||
v__ast__AsmAlias* _v__ast__AsmAlias;
|
||
v__ast__AsmDisp* _v__ast__AsmDisp;
|
||
v__ast__AsmRegister* _v__ast__AsmRegister;
|
||
v__ast__BoolLiteral* _v__ast__BoolLiteral;
|
||
v__ast__CharLiteral* _v__ast__CharLiteral;
|
||
v__ast__FloatLiteral* _v__ast__FloatLiteral;
|
||
v__ast__IntegerLiteral* _v__ast__IntegerLiteral;
|
||
string* _string;
|
||
};
|
||
int _typ;
|
||
};
|
||
|
||
|
||
// Union sum type v__ast__TypeInfo =
|
||
// | 473 = v__ast__Aggregate
|
||
// | 475 = v__ast__Alias
|
||
// | 454 = v__ast__Array
|
||
// | 483 = v__ast__ArrayFixed
|
||
// | 484 = v__ast__Chan
|
||
// | 489 = v__ast__Enum
|
||
// | 487 = v__ast__FnType
|
||
// | 488 = v__ast__GenericInst
|
||
// | 478 = v__ast__Interface
|
||
// | 455 = v__ast__Map
|
||
// | 486 = v__ast__MultiReturn
|
||
// | 459 = v__ast__Struct
|
||
// | 479 = v__ast__SumType
|
||
// | 485 = v__ast__Thread
|
||
struct v__ast__TypeInfo {
|
||
union {
|
||
v__ast__Aggregate* _v__ast__Aggregate;
|
||
v__ast__Alias* _v__ast__Alias;
|
||
v__ast__Array* _v__ast__Array;
|
||
v__ast__ArrayFixed* _v__ast__ArrayFixed;
|
||
v__ast__Chan* _v__ast__Chan;
|
||
v__ast__Enum* _v__ast__Enum;
|
||
v__ast__FnType* _v__ast__FnType;
|
||
v__ast__GenericInst* _v__ast__GenericInst;
|
||
v__ast__Interface* _v__ast__Interface;
|
||
v__ast__Map* _v__ast__Map;
|
||
v__ast__MultiReturn* _v__ast__MultiReturn;
|
||
v__ast__Struct* _v__ast__Struct;
|
||
v__ast__SumType* _v__ast__SumType;
|
||
v__ast__Thread* _v__ast__Thread;
|
||
};
|
||
int _typ;
|
||
};
|
||
|
||
|
||
struct v__gen__c__UnsupportedAssertCtempTransform {
|
||
Error Error;
|
||
};
|
||
|
||
|
||
|
||
struct v__gen__c__ProfileCounterMeta {
|
||
string fn_name;
|
||
string vpc_name;
|
||
string vpc_calls;
|
||
};
|
||
|
||
|
||
|
||
struct sync__Subscription {
|
||
sync__Semaphore* sem;
|
||
sync__Subscription** prev;
|
||
sync__Subscription* nxt;
|
||
};
|
||
|
||
|
||
|
||
struct flag__UnkownFlagError {
|
||
Error Error;
|
||
string flag;
|
||
};
|
||
|
||
|
||
|
||
struct semver__EmptyInputError {
|
||
Error Error;
|
||
};
|
||
|
||
|
||
|
||
struct semver__InvalidVersionFormatError {
|
||
Error Error;
|
||
string input;
|
||
};
|
||
|
||
|
||
|
||
struct VCastTypeIndexName {
|
||
int tindex;
|
||
string tname;
|
||
};
|
||
|
||
|
||
|
||
struct VAssertMetaInfo {
|
||
string fpath;
|
||
int line_nr;
|
||
string fn_name;
|
||
string src;
|
||
string op;
|
||
string llabel;
|
||
string rlabel;
|
||
string lvalue;
|
||
string rvalue;
|
||
};
|
||
|
||
|
||
|
||
struct MethodArgs {
|
||
int typ;
|
||
string name;
|
||
};
|
||
|
||
|
||
|
||
struct FunctionData {
|
||
string name;
|
||
Array_string attrs;
|
||
Array_MethodArgs args;
|
||
int return_type;
|
||
int typ;
|
||
};
|
||
|
||
|
||
|
||
struct FieldData {
|
||
string name;
|
||
Array_string attrs;
|
||
bool is_pub;
|
||
bool is_mut;
|
||
bool is_shared;
|
||
int typ;
|
||
};
|
||
|
||
|
||
|
||
struct StructAttribute {
|
||
string name;
|
||
bool has_arg;
|
||
string arg;
|
||
AttributeKind kind;
|
||
};
|
||
|
||
|
||
|
||
struct Line64 {
|
||
u32 f_size_of_struct;
|
||
voidptr f_key;
|
||
u32 f_line_number;
|
||
u8* f_file_name;
|
||
u64 f_address;
|
||
};
|
||
|
||
|
||
|
||
struct ExceptionRecord {
|
||
u32 code;
|
||
u32 flags;
|
||
ExceptionRecord* record;
|
||
voidptr address;
|
||
u32 param_count;
|
||
};
|
||
|
||
|
||
|
||
union strconv__Float64u {
|
||
f64 f;
|
||
u64 u;
|
||
};
|
||
|
||
|
||
|
||
union strconv__Float32u {
|
||
f32 f;
|
||
u32 u;
|
||
};
|
||
|
||
|
||
|
||
struct MessageError {
|
||
string msg;
|
||
int code;
|
||
};
|
||
|
||
|
||
|
||
struct Option {
|
||
u8 state;
|
||
IError err;
|
||
};
|
||
|
||
|
||
|
||
struct VMemoryBlock {
|
||
int id;
|
||
isize cap;
|
||
byte* start;
|
||
VMemoryBlock* previous;
|
||
isize remaining;
|
||
u8* current;
|
||
int mallocs;
|
||
};
|
||
|
||
|
||
|
||
struct SortedMap {
|
||
int value_bytes;
|
||
mapnode* root;
|
||
int len;
|
||
};
|
||
|
||
|
||
|
||
struct RepIndex {
|
||
int idx;
|
||
int val_idx;
|
||
};
|
||
|
||
|
||
|
||
union StrIntpMem {
|
||
u32 d_c;
|
||
byte d_u8;
|
||
i8 d_i8;
|
||
u16 d_u16;
|
||
i16 d_i16;
|
||
u32 d_u32;
|
||
int d_i32;
|
||
u64 d_u64;
|
||
i64 d_i64;
|
||
f32 d_f32;
|
||
f64 d_f64;
|
||
string d_s;
|
||
voidptr d_p;
|
||
voidptr d_vp;
|
||
};
|
||
|
||
|
||
|
||
struct strconv__BF_param {
|
||
u8 pad_ch;
|
||
int len0;
|
||
int len1;
|
||
bool positive;
|
||
bool sign_flag;
|
||
strconv__Align_text allign;
|
||
bool rm_tail_zero;
|
||
};
|
||
|
||
|
||
|
||
struct strconv__PrepNumber {
|
||
bool negative;
|
||
int exponent;
|
||
u64 mantissa;
|
||
};
|
||
|
||
|
||
|
||
struct strconv__Dec32 {
|
||
u32 m;
|
||
int e;
|
||
};
|
||
|
||
|
||
|
||
union strconv__Uf32 {
|
||
f32 f;
|
||
u32 u;
|
||
};
|
||
|
||
|
||
|
||
struct strconv__Dec64 {
|
||
u64 m;
|
||
int e;
|
||
};
|
||
|
||
|
||
|
||
union strconv__Uf64 {
|
||
f64 f;
|
||
u64 u;
|
||
};
|
||
|
||
|
||
|
||
struct strconv__Uint128 {
|
||
u64 lo;
|
||
u64 hi;
|
||
};
|
||
|
||
|
||
|
||
struct os__File {
|
||
voidptr cfile;
|
||
int fd;
|
||
bool is_opened;
|
||
};
|
||
|
||
|
||
|
||
struct os__FileInfo {
|
||
string name;
|
||
int size;
|
||
};
|
||
|
||
|
||
|
||
struct os__FilePermission {
|
||
bool read;
|
||
bool write;
|
||
bool execute;
|
||
};
|
||
|
||
|
||
|
||
struct os__Result {
|
||
int exit_code;
|
||
string output;
|
||
};
|
||
|
||
|
||
|
||
struct os__Command {
|
||
voidptr f;
|
||
bool eof;
|
||
int exit_code;
|
||
string path;
|
||
bool redirect_stdout;
|
||
};
|
||
|
||
|
||
|
||
struct os__Filetime {
|
||
u32 dw_low_date_time;
|
||
u32 dw_high_date_time;
|
||
};
|
||
|
||
|
||
|
||
struct os__ProcessInformation {
|
||
voidptr h_process;
|
||
voidptr h_thread;
|
||
u32 dw_process_id;
|
||
u32 dw_thread_id;
|
||
};
|
||
|
||
|
||
|
||
struct os__StartupInfo {
|
||
u32 cb;
|
||
u16* lp_reserved;
|
||
u16* lp_desktop;
|
||
u16* lp_title;
|
||
u32 dw_x;
|
||
u32 dw_y;
|
||
u32 dw_x_size;
|
||
u32 dw_y_size;
|
||
u32 dw_x_count_chars;
|
||
u32 dw_y_count_chars;
|
||
u32 dw_fill_attributes;
|
||
u32 dw_flags;
|
||
u16 w_show_window;
|
||
u16 cb_reserved2;
|
||
u8* lp_reserved2;
|
||
voidptr h_std_input;
|
||
voidptr h_std_output;
|
||
voidptr h_std_error;
|
||
};
|
||
|
||
|
||
|
||
struct os__SecurityAttributes {
|
||
u32 n_length;
|
||
voidptr lp_security_descriptor;
|
||
bool b_inherit_handle;
|
||
};
|
||
|
||
|
||
|
||
struct os__ExceptionRecord {
|
||
u32 code;
|
||
u32 flags;
|
||
ExceptionRecord* record;
|
||
voidptr address;
|
||
u32 param_count;
|
||
};
|
||
|
||
|
||
|
||
struct term__Coord {
|
||
int x;
|
||
int y;
|
||
};
|
||
|
||
|
||
|
||
struct v__vcache__CacheManager {
|
||
string basepath;
|
||
string original_vopts;
|
||
string vopts;
|
||
Map_string_string k2cpath;
|
||
};
|
||
|
||
|
||
|
||
struct v__util__EManager {
|
||
bool support_color;
|
||
};
|
||
|
||
|
||
|
||
struct v__token__Pos {
|
||
int len;
|
||
int line_nr;
|
||
int pos;
|
||
int col;
|
||
int last_line;
|
||
};
|
||
|
||
|
||
|
||
struct v__util__LinesCache {
|
||
Map_string_Array_string lines;
|
||
};
|
||
|
||
|
||
|
||
struct v__util__Possibility {
|
||
string value;
|
||
string svalue;
|
||
f32 similarity;
|
||
};
|
||
|
||
|
||
|
||
struct v__util__Suggestion {
|
||
Array_v__util__Possibility known;
|
||
string wanted;
|
||
string swanted;
|
||
};
|
||
|
||
|
||
|
||
struct v__util__Surrounder {
|
||
Array_string befores;
|
||
Array_string afters;
|
||
};
|
||
|
||
|
||
|
||
struct time__StopWatch {
|
||
u64 elapsed;
|
||
u64 start;
|
||
u64 end;
|
||
};
|
||
|
||
|
||
|
||
struct v__util__Timers {
|
||
string label;
|
||
Map_string_time__StopWatch swatches;
|
||
bool should_print;
|
||
Array_string already_shown;
|
||
};
|
||
|
||
|
||
|
||
struct v__util__TimerParams {
|
||
bool should_print;
|
||