| 50 | |
| 51 | |
| 52 | void fxCheckMod(txLinker* linker) |
| 53 | { |
| 54 | #define mxGlobalKeys 35 |
| 55 | static char* gxGlobalKeys[mxGlobalKeys] = { |
| 56 | "AsyncDisposableStack", |
| 57 | "Atomics", |
| 58 | "BigInt", |
| 59 | "BigInt64Array", |
| 60 | "BigUint64Array", |
| 61 | "Compartment", |
| 62 | "DataView", |
| 63 | "Date", |
| 64 | "DisposableStack", |
| 65 | "FinalizationRegistry", |
| 66 | "Float16Array", |
| 67 | "Float32Array", |
| 68 | "Float64Array", |
| 69 | "Generator", |
| 70 | "Int8Array", |
| 71 | "Int16Array", |
| 72 | "Int32Array", |
| 73 | "JSON", |
| 74 | "Map", |
| 75 | "Math", |
| 76 | "ModuleSource", |
| 77 | "Promise", |
| 78 | "Proxy", |
| 79 | "Reflect", |
| 80 | "RegExp", |
| 81 | "Set", |
| 82 | "SharedArrayBuffer", |
| 83 | "Uint8Array", |
| 84 | "Uint8ClampedArray", |
| 85 | "Uint16Array", |
| 86 | "Uint32Array", |
| 87 | "WeakMap", |
| 88 | "WeakRef", |
| 89 | "WeakSet", |
| 90 | "eval", |
| 91 | }; |
| 92 | txLinkerStrip* linkerStrip = linker->firstStrip; |
| 93 | txString name; |
| 94 | int major = linker->version.major; |
| 95 | int minor = linker->version.minor; |
| 96 | int patch = linker->version.patch; |
| 97 | linker->errorCount = 0; |
| 98 | linker->warningCount = 0; |
| 99 | while (linkerStrip) { |
| 100 | name = linkerStrip->name; |
| 101 | if (name[0] == '>') { |
| 102 | if (sscanf(name, ">%d.%d.%d", &major, &minor, &patch) < 3) |
| 103 | fxReportLinkerError(linker, "invalid strip: %s", name); |
| 104 | break; |
| 105 | } |
| 106 | linkerStrip = linkerStrip->nextStrip; |
| 107 | } |
| 108 | if ((major == 17) && (minor == 7) && (patch == 0)) { |
| 109 | fxCheckModCode(linker, name, XS_CODE_USING, "using"); |
no test coverage detected