aboutsummaryrefslogtreecommitdiff
path: root/lib/compilers
Commit message (Collapse)AuthorAge
...
* Show full java asm output when using switch expression (#2996)gh-1074Maurice Mohlek2021-10-05
| | | | | | Fixes #2995 Co-authored-by: Maurice Mohlek <maurice.mohlek@valtech.de> Co-authored-by: Mats Larsen <me@supergrecko.com>
* Add rustc Macro Expansion view (#2932)Mats Larsen2021-09-27
| | | Adds a new pane for producing the macro expansion of Rust code compiled with rustc.
* oopspartouf2021-09-13
|
* bugfixes pascal objdumppartouf2021-09-13
|
* Pascalchanges (#2881)Patrick Quist2021-09-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Changes to allow Program (vs Unit) in Object Pascal * add possibility of dpr * more flexibility with pascal filenames * lintfixes * i have no idea what im doing * apply changes to pascal-win * pascal fixes * pascal projectfile changes * work in progress * bugfixes * bla * bugfixes * mostly working Co-authored-by: paul mcgee <paul.mcgee.8@bigpond.com> Co-authored-by: Paul McGee <paulmcgee1969@gmail.com>
* Clean trunk and execution (#2916)Patrick Quist2021-09-04
|
* OCaml Improvements: objdump and a few refactorings (#2913)Haz2021-09-03
| | | | | | | | | | | | | | | | | | | | | * OCaml properties fixes - Improve defaults by adding local and system versions - Make no assumptions about whether local and system are the same - Enable OPAM workflows which rely on updating PATH - Fix version flag - Fix objdumper * OCaml output refactoring * Add an arg parser for OCaml Derived from Pascal (for now) * Rename default OCaml compiler ids * Add alias of old OCaml default compiler id Co-authored-by: Rubén Rincón Blanco <ruben@rinconblanco.es>
* Add support for Microsoft Visual C++ 6 (#2907)Kevin Adler2021-09-01
| | | | | | | | | | | | | | | | | | | | | A new compiler type 'win32-vc6' has been added, which uses a slightly modified version of asm-parser-vc to handle assembly output differences from current Visual Studio output. In particular, MSVC6 does not output a comment line containing the function's compile flags prior to the function body. The win32-vc parser uses this to identify the start of a function and initialize currentFunction. Instead, we use the regex that identifies a function name to do this. Otherwise, a TypeError occurs trying to set currentFunction.name when currentFunction is null. In addition, MSVC6 only outputs a file comment once (presumably, until a function from a different file is output). So instead of initializing currentFunction.file to undefined, it is set to currentFile instead. This should get set on the first function found in the file, but if not it is initialized to undefined, so the behavior there would be the same. Finally, the _DATA and _TLS segments are handled as well as some additional miscellaneous directives.
* Fix execution for Java with multifile ui (#2882)Mats Larsen2021-08-28
| | | | | * Fix execution for Java with multifile ui * Remove dev comment
* Multifile/IDE mode (#2725)Patrick Quist2021-08-26
|
* Support execution and binary mode in haskell. Closes #2854Matt Godbolt2021-08-14
|
* Make OCaml examples executable and objdumpable (#2853)Haz2021-08-14
| | | | | | | | | | | | Changes: - ocaml.default.properties: - add the relevant flags for execution and emitting binaries - add nicer version number reporting - let CE know `objdump` can be used on ocaml objects - ocaml.js: - update optionsForFilter for both executable and object handling - override the getter for executable to work within ocamlopt context
* Add support for heterogeneous compute (#2836)Matt Godbolt2021-08-14
| | | | | | | | | | | | | | | | | | | | | | | | * Extract device code from assembly files. This commit by itself does not actually add any viewing panes for the extracted device code, nor does it provide any means to provide device-specific postprocessing steps. * Add a rudimentary device view. This doesn't handle multiple device outputs correctly at the moment, and it provides no opportunity to view device code differently from non-device code for now. * Lint issues * Some more WIP getting it working. * Add device extraction code * More fixes, and keep state Co-authored-by: Joshua Cranmer <joshua.cranmer@intel.com> Co-authored-by: Patrick Quist <partouf@gmail.com>
* Override default compiler flags for OCaml (#2849)Haz2021-08-11
| | | Fixes github issue #2848
* lintfixesPatrick Quist2021-07-31
|
* Update to latest zig trunk (#2832)Joachim Schmidt2021-07-31
| | | | Unused function parameters (used in the custom panic handler) are now compile errors.
* Add support for Ruby (#2816)Quinton Miller2021-07-30
|
* Add support for Intel asm syntax (#2824)Michał Cichoń2021-07-28
|
* Reassign my copyright to Compiler Explorer AuthorsRabsRincon2021-07-27
|
* Add support for Circle (https://www.circle-lang.org/) (#2808)Michał Cichoń2021-07-25
| | | | | * Add support for circle-lang (closes #1845) * Add circle-128 version. * Support keywords starting with @ (thanks Matt!)
* Add rustc MIR output view (#2795)Mats Larsen2021-07-24
| | | | * Add Rustc MIR representation view * Enable MIR view for rust-cg-gcc
* Reassign my copyright to Compiler Explorer AuthorsMatt Godbolt2021-07-24
|
* Reassign my copyright to Compiler Explorer AuthorsRabsRincon2021-07-24
|
* cproc tweaksMatt Godbolt2021-07-19
|
* Support cproc C11 compiler (#2787)Marc Poulhiès2021-07-19
| | | | | | Add support for cproc C11 compiler. cproc is a lightweight compiler using the QBE backend. Fixes #2755
* Add support for HIP compilation for AMD GPUs. (#2759)Artem Belevich2021-07-19
| | | | | | | | | | | | * Added support for HIP compilation for AMD GPUs. At the moment it only supports stand-alone compilation w/o ROCm SDK. * Enable barebones HIP compilation. Clang by itself is good enough to compile simple kernels that do not need ROCm SDK headers and bitcode libraries. Closes #2760
* Adding rustc-cg-gcc (#2746)Marc Poulhiès2021-07-12
| | | | | | | | | | | | | GCC backend for rustc is still in a very early state. It is in the process of being merged in main rustc source: https://github.com/rust-lang/compiler-team/issues/442 Currently reusing main rust compiler class and simply remove -Cllvm= argument if any (only for intel asm syntax). Disabling binary until the result is more friendly (currently binary are too big). refs #2683
* Override CC env variable in Crystal propeties (#2776)Quinton Miller2021-07-12
|
* lint fixespartouf2021-07-08
|
* Add Crystal support (#2732)Quinton Miller2021-07-08
| | | | | | | | | | | | | | | | | | | * Add Crystal support * Fix copyright * Add ASM parser for Crystal * Add supportsLibraryCodeFilter * Update crystal-mode.js * use baseName * Force `square` call * Update default snippet Co-authored-by: Patrick Quist <partouf@gmail.com>
* Fix execution for JVM compilers (#2767)Mats Larsen2021-07-06
|
* Support execution of programs for JVM compilers (#2745)Mats Larsen2021-07-06
| | | | * Bare execution for Java programs * Support execution for Kotlin
* Config changes (#2764)Rubén Rincón Blanco2021-07-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Pass -g to TinyC by default Closes #2748 * Sort C++ libs and tools alphabetically * Sort C libs and tools alphabetically * Add missing Zig C & C++ versions * Enable semver for RISC-V Clang Issue #2739 * Add missing RISC-V Clang 12.0 Issue #2739 * Improve RISC-V Clang config * Improve C++ props file to make it more mantainable * Add missing Zig C compiler id in compiler list * Update etc/config/c++.amazon.properties * Show different group name for each RISCV version
* Initial sketch for how we could parse Rust output (#2761)Rubén Rincón Blanco2021-07-06
| | | | | | | | | * Initial sketch for how we could parse Rust output It has many issues, which I need to ask about, but ey, it works! * Fix spacing * Add tests for the new Rust output parsing
* Add initial scala support (#2737)Oleksandr2021-06-29
| | | | | | | * Add initial scala support * Fix scala 3 compiler flags * Use semver instead
* Fix up sandbox directory for interpretersMatt Godbolt2021-06-26
|
* Adds Zig-args (#2735)Rubén Rincón Blanco2021-06-25
| | | | | | | | | | | | | | * Adds Zig-args This is the first Zig library added to the site, so this implementation might be broken in unexpected ways See issue #2525 * Update lib/base-compiler.js Co-authored-by: Rubén Rincón Blanco <ruben@rinconblanco.es> Co-authored-by: Matt Godbolt <matt@godbolt.org>
* Added support for SASS disassembly for clang as a CUDA compiler. (#2728)Artem Belevich2021-06-21
| | | | | | | | * Added support for SASS disassembly for clang as a CUDA compiler. Clang `--cuda-device-only -c` produces the same kind of CUBIN output as `nvcc -cubin` and can use nvdisasm to disassemble it. * Enable SASS disassembly for clang as a CUDA compiler.
* Add Zig c++ (#2716)Rubén Rincón Blanco2021-06-16
| | | | | | As requested by #2707 It still has the same problems found in #2434, which that will get fixed in Zig 0.8.1
* exceptions for zig versions < 0.8.0Patrick Quist2021-06-09
|
* Add Kotlin/JVM support (#2637)Daniel Below2021-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add Kotlin/JVM support * Update CONTRIBUTORS.md * Use kotlinc-jvm instead of kotlinc * Fix alphabetical ordering * Filter kotlin compiler arguments Extract user options filtering for java into a separate function to handle filtering options with extra arguments. Filter kotlin compiler options: -d, -jdk-home, -kotlin-home, -script, -progressive * Filter -Xjavac user options Filter any option that starts with '-Xjavac', as it could be used to pass unwanted options through kotlinc to javac. * Fix year in copyright Co-authored-by: Rubén Rincón Blanco <ruben@rinconblanco.es> * Add kotlin.amazon.properties * Add JAVA_HOME to kotlin default exec options Query per-compiler property 'java_home' and set environment * Add java_home to kotlin properties Co-authored-by: Daniel Below <daniel.below@jetbrains.com> Co-authored-by: Rubén Rincón Blanco <ruben@rinconblanco.es>
* No array for eachMatt Godbolt2021-05-28
|
* Dont array push multiple timesMatt Godbolt2021-05-27
|
* Prefer regex.test()Matt Godbolt2021-05-27
|
* explicit length checkMatt Godbolt2021-05-27
|
* mrustc: force crate_type to rlib (#2691)Marc Poulhiès2021-05-27
| | | | Defaults to bin, which will complain when there is no main(). But at the moment compiler explorer has no way to compile the resulting C and get an executable.
* Initial support for mrustc (#2681)Marc Poulhiès2021-05-27
| | | | | | | | | | | | Add the needed base for new mrustc compiler. https://github.com/thepowersgang/mrustc mrustc is transpiling Rust to C and is mainly used for bootstraping rustc. This change treats the C output as the final product (as is assembly for GCC/clang). It is not easily possible to automatically plug this C to other C compilers to get assembly or executable. fixes #2643
* LDC: use -gline-tables-only instead of -g by default (#2687)Johan Engelen2021-05-27
| | | This changes the default LDC compile flag from `-g` to `-gline-tables-only`, such that the LLVM IR output does not contain `call void @llvm.dbg.declare` calls that (I think) most users are not interested in. The old behavior can be restored by the user by passing `-g` (I think users are much more familiar with the `-g` option than the `-gline-tables-only` option). Line information is preserved so users can still see what IR lines correspond to user code lines.
* somewhat working delphi support (#2672)Patrick Quist2021-05-21
|
* Update gccrs.jsPatrick Quist2021-04-30
|