aboutsummaryrefslogtreecommitdiff
path: root/lib/compilers
Commit message (Collapse)AuthorAge
...
* | Merge main, resolve conflicts with valanickpdemarco2023-10-11
|\|
| * GnuCOBOL: always pass -g to the C compiler (#5504)gh-8822Simon Sobisch2023-09-23
| | | | | | | | | | | | As this is done with other compilers like C/C++ and doesn't add extra code (like plain `-g` would). (this supersedes the broken #5503)
| * Add mode with no syntax highlighting to monaco editor. (#5490)gh-8821Prabhat Sachdeva2023-09-22
| | | | | | | | | | | | | | | | | | | | | | If `languageId` is not defined, the syntax highlighting in the Monaco editor panel defaults to **ASM**. This pull request creates a `no-highlight-mode` with **no syntax highlighting**. This mode can be used when the syntax highlighting is not required. In this PR I've also updated the result of Carbon Language to use this `no-highlight-mode` as the **ASM** syntax highlighting wasn't matching the execution trace of Carbon Explorer.
| * Fix WSL for systems that don't have windows paths (#5480)gh-8765Jeremy Rifkin2023-09-16
| | | | | | | | | | | | | | Attempt to fix #5476. As far as I can tell `process.env.winTmp` is needed just for windows executables and WslVcCompiler. It should be possible to just ignore the exec error and continue. If for some reason the user doesn't have windows paths in their WSL but does want to run windows executables they can pass `-tmpDir`.
| * Introduce ClangDxcCompiler for HLSL (#5388)gh-8684Justin Bogner2023-09-04
| |
| * Use the SPIR-V parser for DXC SPIR-V output (#5418)gh-8674Cassandra Beckley2023-09-04
| |
| * Merge branch 'main' into edg-supportMatt Godbolt2023-09-03
| |\
| | * Also specify MSAN_SYMBOLIZER_PATH for clang (#5424)gh-8607Jeremy Rifkin2023-08-27
| | |
| * | Merge branch 'main' into edg-supportMatt Godbolt2023-08-25
| |\|
| | * Improve the disassembly format for dotnet (#5419)gh-8595Steve2023-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an improvement that can improve the disassembly format to make it more friendly to a diff checker. All versions tested: net6.0: ![image](https://github.com/compiler-explorer/compiler-explorer/assets/14960345/1ae4fda5-db73-4703-88f9-abd640b4e5e1) net7.0: ![image](https://github.com/compiler-explorer/compiler-explorer/assets/14960345/6dfe1a74-a09a-40c4-b586-425b8ee84b12) trunk: ![image](https://github.com/compiler-explorer/compiler-explorer/assets/14960345/36247f19-1e26-4bb8-ab1d-040d7145854f)
| | * Bring back crossgen2 (#5415)gh-8591Steve2023-08-24
| | | | | | | | | | | | | | | | | | | | | | | | It turns out we still need crossgen2 for net6.0. So bring crossgen2 back for net6.0 only. Also fix some bugs around `indexOf`. No image rebuilding is required.
| | * Use corerun and DisassemblyLoader for dotnet (#5391)gh-8577Steve2023-08-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Depends on https://github.com/compiler-explorer/dotnet-builder/pull/4 - Use corerun instead of crossgen2 to do disassemble - This can skip emitting actual executable by crossgen2 and speed up the compilation - Filter disasm to only show disasm for user code We need to rebuild images for old compilers.
| | * dotnet: show the actual error when compilation fails (#5410)gh-8575kasperk812023-08-22
| | | | | | | | | | | | instead of ENOENT from the next line (fs.readFile), return the failed compilation result.
| | * add dotnet aot support for linux-x64 (#5345)gh-8551kasperk812023-08-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | limitations: * linux-x64 only * no execution support all of which can be added later after this initial support --------- Co-authored-by: kasperk81 k <3082615+kasperk81@users.noreply.github.com>
| | * Fix V `.vmodules` path (#5385)gh-8515Spydr2023-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the `.vmodules` path is not writable. This PR changes the path to a writable (temporary) directory. Putting `.vmodules` into the compilation folder seems to be not that simple since the env vars are created before a compilation folder is assigned.
| | * Update remaining packages and pre-emptively bump the .vXX hack; reformatgh-8506Matt Godbolt2023-08-15
| | |
| | * New Language: V (#5297)gh-8493Spydr2023-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | V (`vlang`) is a simple, fast and safe general purpose programming language compiling to human-readable C. #### Key features of V: - simplicity, "only one way to do things" - performance as fast as C - safety: no null, no globals, no undefined behavior, immutability - automatic C to V translation, good C interoperability - hot code reloading - flexible memory management (GC by default, manual, arena allocation, autofree) - other compilation backends like JavaScript, `native` (wip), `wasm` (wip) or interpreted #### Links: Source code: https://github.com/vlang/v Official website: https://vlang.io Web playground: https://play.vlang.io/ infra PR: https://github.com/compiler-explorer/infra/pull/1058 #### Things this PR adds: - General support for V - Code inspection for the C, Go and JavaScript backends - Support for the v formatter `v fmt` - Some V example code #### Things not implemented: - Support for binary-output backends like `native` and `wasm` - Support for running programs <!-- THIS COMMENT IS INVISIBLE IN THE FINAL PR, BUT FEEL FREE TO REMOVE IT Thanks for taking the time to improve CE. We really appreciate it. Before opening the PR, please make sure that the tests & linter pass their checks, by running `make check`. In the best case scenario, you are also adding tests to back up your changes, but don't sweat it if you don't. We can discuss them at a later date. Feel free to append your name to the CONTRIBUTORS.md file Thanks again, we really appreciate this! --> --------- Co-authored-by: Matt Godbolt <matt@godbolt.org>
| | * Nvc++ deviceview support (#5324)gh-8445Patrick Quist2023-08-09
| | |
| | * New Compiler: Hexagon-clang (#5330)gh-8367quic-rvarghes2023-08-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | **Related to:** compiler-explorer/infra#1061 **Goal:-** To enable back-end support for hexagon clang compiler so that it can be used on the Compiler Explorer's website ([https://godbolt.org/.](https://godbolt.org/)) This will be particularly useful to people working on Hexagon Digital Signal Processor (DSP) developed by Qualcomm Technologies. **Information about Hexagon DSP:-** [https://developer.qualcomm.com/software/hexagon-dsp-sdk/dsp-processor](https://developer.qualcomm.com/software/hexagon-dsp-sdk/dsp-processor) Co-authored-by: Ryan Sam Varghese <rvarghes@qti.qualcomm.com>
| | * Return null instead of undefined on failure to parseMatt Godbolt2023-07-22
| | |
| | * Added snowball lang (#5245)gh-8125Mauro Baladés2023-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Language name Snowball 🐱 Language version Snowball v0.0.7-beta ## Language homepage Soon™️ Not the websites but some (WIP) documentation: https://snowball-lang.gitbook.io/docs/ Compiler homepage https://github.com/snowball-lang/snowball Compiler version v0.0.7-beta Motivation With a myriad of features to offer, Snowball boasts object-oriented programming, memory safety, built-in functions for enhanced productivity, and faster execution than other languages. Plus, its garbage collector and unit testing make it a comprehensive tool for developers. > It's still in development but it's development is fast
| | * Add LLVMOptPipelineView support for Swift compilers (#5241)gh-8087Antonio Malara2023-07-09
| | | | | | | | | | | | This PR adds support for the LLVM optimisation pipeline view pane for the Swift family of compilers.
| | * Fix #1830 (#5201)gh-8080Guo Ci2023-07-07
| | |
| * | Initial EDG supportWyatt Childers2023-07-19
| |/
| * ada: add stack-usage support for GNAT (#5218)gh-8031Marc Poulhiès2023-06-30
| | | | | | | | | | | | | | | | GNAT is gcc based, but its --help doesn't show all of gcc's option and the base compiler doesn't detect its support for -fstack-usage. Force the support (currently we only have GNAT as an Ada compiler). Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
| * Common utilities and type work (#5200)gh-8021Jeremy Rifkin2023-06-28
| | | | | | | | | | This PR refactors some common utilities out of lib/ and into shared/ and eliminates some use of underscore.js, as well as general type improvements done along the way.
| * Improve the type of ExecutionOptions.env (#5206)gh-8009Jeremy Rifkin2023-06-28
| |
| * Support control flow graphs for more compilers (#5209)gh-8008Jeremy Rifkin2023-06-28
| | | | | | | | | | This PR should make cfg generation available for all clang compilers, icc, and any compiler whose instructionSet property is x86, arm, or llvm.
| * Add the movfuscator (#5193)gh-7994Jeremy Rifkin2023-06-26
| | | | | | | | | | | | Resolves #985 Builder: https://github.com/compiler-explorer/misc-builder/pull/65 Infra: https://github.com/compiler-explorer/infra/pull/1041
| * resolve #5014 (#5197)gh-7964Guo Ci2023-06-25
| |
| * C64 emulation (#5198)gh-7958Patrick Quist2023-06-23
| |
| * Add temporary triage for #2986gh-7919Jeremy2023-06-21
| |
| * Fix #5183gh-7914Matt Godbolt2023-06-19
| |
| * Add instruction set info for generating arm control flow graphs (#5158)gh-7898Jeremy Rifkin2023-06-19
| | | | | | | | | | Fixes #4410 On top of #5156
| * New C3 compiler options (#5122)gh-7890aliaegik2023-06-19
| | | | | | | | | | | | | | | | Regarding the issue discussed in https://github.com/compiler-explorer/compiler-explorer/pull/5086#issuecomment-1578715708 --------- Co-authored-by: Rubén Rincón Blanco <git@rinconblanco.es>
| * Support control flow graphs from the IR pane (#5155)gh-7888Jeremy Rifkin2023-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | On top of #5154 ![image](https://github.com/compiler-explorer/compiler-explorer/assets/51220084/7bf25b5b-8988-42ff-9d8c-233e6d817997) Additionally, while I was here, added support for multiple control flow graphs to be opened from one compiler instead of disabling the button once one is opened. And improved the implementation for how this was done for the llvm opt pipeline. And did some type work along the way.
| * Added TypeScript Native ver 0.0.35-alpha (#5136)gh-7882Alex D2023-06-19
| | | | | | Added TypeScript Native ver 0.0.35-alpha
| * add Stack Usage Viewer (#5160)gh-7881Guo Ci2023-06-19
| | | | | | | | For #4834
| * War on @ts-expect-error (#5171)gh-7856Jeremy Rifkin2023-06-18
| | | | | | | | | | Following up on #5170, let's just get rid of @ts-expect-error and @ts-ignore completely in the codebase. (Well almost) On top of #5170
| * Quickfix for #5111gh-7697Jeremy2023-06-11
| |
| * Improve cache handling on the frontend, cache executions on the backend, and ↵gh-7689Jeremy Rifkin2023-06-11
| | | | | | | | improve controls on the exec pane (#5111)
| * Turn on @typescript-eslint/await-thenable (#5131)gh-7683Jeremy Rifkin2023-06-11
| |
| * Identify unused imports during lint (#5130)Jeremy Rifkin2023-06-11
| |
| * LLVM IR pane improvements (#5078)gh-7669Jeremy Rifkin2023-06-11
| | | | | | | | | | | | | | | | | | | | | | | | This PR will add filtering and other output options to the LLVM IR pane ![image](https://github.com/compiler-explorer/compiler-explorer/assets/51220084/ffc865ea-b3fa-441f-b501-4ec4b68e261f) ![image](https://github.com/compiler-explorer/compiler-explorer/assets/51220084/936be326-b55e-40cd-ba47-22b121c1acfb) Closes #5062 Related to #5045
| * Fix formattingMatt Godbolt2023-06-06
| |
| * Update mlir.ts for issue #5902 (#5102)sameeranjoshi2023-06-06
| | | | | | | | | | | | | | | | Fix for https://github.com/compiler-explorer/compiler-explorer/issues/5092 --------- Co-authored-by: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com>
| * bugfix asm arg overrides can be undefined (#5107)Patrick Quist2023-06-06
| | | | | | Fixes #5093
| * Fix cobol binary modes and objdump (#5110)Patrick Quist2023-06-06
| | | | | | Fixes #4857
| * fix intel notation for cobol (#5109)Patrick Quist2023-06-06
| |
| * New Language: C3 (#5086)aliaegik2023-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Related to: https://github.com/compiler-explorer/infra/pull/1017 C3 is a system programming language based on C. It is an evolution of C enabling the same paradigms and retaining the same syntax as far as possible. Design Principles: Procedural "get things done"-type of language. Try to stay close to C - only change what's really necessary. C ABI compatibility and excellent C integration. Learning C3 should be easy for a C programmer. Data is inert. Avoid "big ideas" & the "more is better" fallacy. Introduce some higher level conveniences where the value is great. You can try it out live on its tutorial website: https://www.learn-c3.org Source code: https://github.com/c3lang/c3c --------- Co-authored-by: Rubén Rincón Blanco <git@rinconblanco.es>