aboutsummaryrefslogtreecommitdiff
path: root/lib/external-parsers
Commit message (Collapse)AuthorAge
* Add new "Debug intrinsics" filter. (#5045)gh-7478fodinabor2023-05-22
| | | | | | | | | | | | | | | | | | | | For now, this removes all `llvm.dbg.*` calls from LLVM IR. This is useful to keep coloring the line correspondence between source and IR, while not polluting the IR with the debug intrinsics. Admittedly, I don't have much of a clue of what's going on here, so I might be missing obvious adaptions (e.g. can we disable this for all non-LLVM compilers for now somehow?). Also, not really a Node.JS testing wizard either... 🤷🏼 Just wanted this really bad for a workshop that's coming up soon ^^ Only tested with my system's default `clang` for now. Fixes #5044 --------- Co-authored-by: Matt Godbolt <matt@godbolt.org>
* Transition to ECMAScript Modules (#4780)gh-6536Mats Jun Larsen2023-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makes the Compiler Explorer app, and all the tooling ESM compatible. Things that have been done: 1. The package.json has `type: module` now 2. All relative imports have a .js ending 3. All directory imports are now directory/index.js to comply with ESM standards 4. Dependency node-graceful is now imported into tree, because the package is broken under esm 5. Dependency p-queue has been bumped to 7.x with ESM support 6. Dependency profanities has been bumped to 3.x with ESM support 7. Webpack config is now both ESM and CommonJS compatible 8. Non-ESM compatible imports have been rewritten 9. ESLint configuration has been tweaked to not fail on .js imports 10. Mocha is now hacked together and ran with ts-node-esm 11. Webpack is now hacked together and ran with ts-node-esm 12. Webpack config is now ESM compatible, so that it can be used in the dev server 13. Cypress code still runs commonjs, and has been excluded from the tsconfig 14. All sinon mock tests have been commented out, because sinon module mocks do not work with ESModules (because ESModules are immutable) A lot of tests are now giving warnings/errors to stdout, yet still pass. Docenizer codegenerator scripts have been updated, but I did not re-run them, and instead just changed their code. --------- Co-authored-by: Matt Godbolt <matt@godbolt.org>
* Fix trailing comma issue (#4775)gh-6504Jeremy Rifkin2023-02-26
| | | | | Make trailing commas more consistent throughout the project, fixes config conflict between eslint and prettier. Resolves an oversight in #4766.
* Turn some auto-fixable eslint rules back on (#4766)gh-6434Jeremy Rifkin2023-02-23
| | | | | | This PR turns comma-dangle and indent eslint rules on for lib/. These are rules inherited from the eslint config for static/, this PR just makes things more consistent. Also turned @typescript-eslint/no-var-requires back on while I was here.
* Support for compiling to binary object (#3232)gh-5742Marc Poulhiès2023-01-11
|
* Fix #4469 (#4473)gh-5440Matt Godbolt2022-12-19
| | | | | | | | | | | | | | | | | | | | | | * Fix #4469 Errors now look like: ``` Internal Compiler Explorer error: Error: Internal error running asm parser: ./dump-and-parse.sh: line 4: /usr/local/bin/asm-parser: No such file or directory at CEAsmParser.parseAsmExecResult (/home/matthew/dev/ce/compiler-explorer/lib/external-parsers/base.ts:77:19) at CEAsmParser.objdumpAndParseAssembly (/home/matthew/dev/ce/compiler-explorer/lib/external-parsers/base.ts:101:21) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async DefaultCompiler.objdump (/home/matthew/dev/ce/compiler-explorer/lib/base-compiler.ts:414:31) at async Promise.all (index 0) at async DefaultCompiler.checkOutputFileAndDoPostProcess (/home/matthew/dev/ce/compiler-explorer/lib/base-compiler.ts:1356:16) at async /home/matthew/dev/ce/compiler-explorer/lib/base-compiler.ts:2236:41 at async run (/home/matthew/dev/ce/compiler-explorer/node_modules/p-queue/dist/index.js:163:29) Compiler returned: -1 ``` which at least gives context on why the parsing failed. And per discussion with @partouf we'll blow up at construction time if the file isn't there, which means the above is more to cover "what if the tool dies".
* refactor: renames the CompilerFilters type (#4346)gh-5117Marc Poulhiès2022-11-28
| | | | | | | | | | | | | | | The type which probably started as a real enum of possible post filtering options now also includes options used for compilers' invocations. The type was already split, but the naming was not reflecting this in the other part of the code. This changes tries to apply a simple renaming to the type only (corresponding variables are left as 'filters'). While doing so, some typing error were discovered around the GccDump feature. A fix for this will follow in a different PR. Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Minimal version of externalparser asm-parser (#3278)gh-2903Patrick Quist2022-05-14