aboutsummaryrefslogtreecommitdiff
path: root/lib/compilers
Commit message (Collapse)AuthorAge
...
| * Lint fixesgh-2559Matt Godbolt2022-04-26
| |
| * All semver comparisons now ensure it's safe to do so (#3562)Rubén Rincón Blanco2022-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * All semver comparisons now ensure it's safe to do so * Oops, use correct class * Remove leftover import * Leave the Zig fixes for another PR * Fix linter * Fix test issues * Make linter happy, yet again * What? * Address PR review
| * Set comma-dangle to always in server code and es5 in client codegh-2532RabsRincon2022-04-26
| |
| * Fix Solidity compilers and line numbers in versions 0.4.x - 0.8.x (#3561)gh-2523Anders-T | 0x80.eth2022-04-26
| | | | | | | | | | * fixing compilers 0.4.x - 0.8.x * update contributors file
| * Unify comma configuration; and apply format to some files. (#3559)gh-2517Matt Godbolt2022-04-25
| |
| * Map solidity EVM assembly to lines of code (#3545)gh-2448Anders-T | 0x80.eth2022-04-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * taking a snapshot of progress so far - generated sources are getting processed, and some fairly basic asm line assigning, but needs a second pass to rectify the issue of an asm instruction being attributed to multiple lines of code * fixed silly bug in instruction line thing * giving tags in generated sources human readable names * generate human friendly tag names for tags in non-generated code, using AST to figure out which function we're in * restoring most of the original formatting, and got constructor etc working too * fixing linting errors * add some comments
| * Add support for Solidity (#3507)gh-2350Alexey Shekhirin2022-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | * feat(compilers): Solidity support MVP * don't concat userOptions in optionsForFilter * fixes after review * Update etc/config/solidity.defaults.properties Co-authored-by: Rubén Rincón Blanco <ruben@rinconblanco.es> Co-authored-by: Rubén Rincón Blanco <ruben@rinconblanco.es>
| * Adds overridable orderArguments function (#3489)gh-2259Rubén Rincón Blanco2022-04-02
| | | | | | Closes #3488
| * Some fixups for typescript (#3452)gh-2196Matt Godbolt2022-03-21
| |
| * Added TypeScript Native compiler (#3448)gh-2193ODuzhar2022-03-21
| | | | | | | | | | | | | | * progress * added some config Co-authored-by: Alex D <duzhar@gmail.com>
| * Added keyword-spacing eslint rule and fixed instances of inconsistent ↵gh-2166Jeremy Rifkin2022-03-07
| | | | | | | | spacing (#3428)
| * Add llvm-symbolizer to ASAN_SYMBOLIZER_PATH (#3425)gh-2162Jeremy Rifkin2022-03-07
| |
| * Group some files to their own folders (#3384)gh-2075Rubén Rincón Blanco2022-02-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Group some files to their own folders In etc/scripts/, added disasms/, docenizers/, and util/ folders In lib/, added mapfiles/, and parsers/ folders (+moved google.js to shortener) In static/, added widgets/ folder Added cypress folder to .gitignore * Address Matt's PR reviews * Move new Pane renaming to folder
| * when no files are supplied, no need to do anything special for them either ↵gh-2017Patrick Quist2022-02-17
| | | | | | | | (#3371)
| * Please the linergh-1974RabsRincon2022-02-13
| |
| * Add more dart versions (#3361)gh-1960Michael Debertol2022-02-13
| |
| * Add strict tsc flag for the backend ts code (#3355)gh-1950Rubén Rincón Blanco2022-02-12
| |
| * Add Dart support (#3352)gh-1937Michael Debertol2022-02-11
| |
| * Implement asm-parser for dotnet (#3334)gh-1926Steve2022-02-11
| |
| * in case of win32 binary mode, use the binary parser and associate obj ↵gh-1882Patrick Quist2022-02-07
| | | | | | | | filenames even if theres no lineno info (#3341)
| * Ada: Fix intel filter active even for cross compilers (#3318)gh-1826Marc Poulhiès2022-02-03
| | | | | | | | | | | | | | | | | | | | The property was incorrectly hardcoded in the AdaCompiler class. As GNAT does not have an argument-parser, we can't rely on autodetecting the -masm support. The easiest way is to simply define the intelAsm property for GNAT compilers known to support it. Fixes #3310 Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
| * Changes needed to make dotnet work with nsjail (#3307)gh-1805Patrick Quist2022-02-01
| |
| * Add GNAT cross compiler from Alire project (#3294)gh-1774Marc Poulhiès2022-01-30
| | | | | | | | | | | | | | | | | | Add new adarts compiler properties used to set the RTS (if needed) to be used by GNAT. This is needed as the cross compilers come with several RTS and you must provide one. Use Alire (https://alire.ada.dev/) cross compilers for ARM32 and RISC-V 64. Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
| * Fix lib/compilers/dotnet lint errorgh-1771Mats Larsen2022-01-30
| |
| * Add support for C#, F# and Visual Basic (#3168)gh-1763Steve2022-01-29
| |
| * Add comment for GNAT handling of command line options and enable strings (#3252)gh-1702Marc Poulhiès2022-01-25
| | | | | | | | | | | | | | | | | | Add some comments around the command line options handling of GNAT. Add strings tool for Ada. Also enable binary and execution in the default config. Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
| * Make sure asm-raw behaves on compilation errorsgh-1487RabsRincon2021-12-31
| | | | | | | | Closes #3198
| * API: Change 'filters' option to be additive (#3206)Gregory Anders2021-12-28
| |
| * Ada: new pane for GNAT Debug Tree (#3190)gh-1473Marc Poulhiès2021-12-28
| | | | | | | | | | | | Support for the GNAT Tree emitted by `-gnatdt` on stdout. The pane is also available in the diff tool. Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
| * Fix source/assembly mapping when GNAT expanded code pane opened (#3177)gh-1386Marc Poulhiès2021-12-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix source/assembly mapping when GNAT expanded code pane opened Using -gnatDGL to get the expanded code also asks GNAT to emit debug informations pointing to the .dg file containing the expanded code, breaking CE that is using these info to map assembly and source lines. Using -gnatGL instead avoids the breaking of asm/source mapping but emits the expanded code in stdout instead of a plain file. This change replaces -gnatDGL by -gnatGL and extracts the expanded code from stdout. fixes #3171 Signed-off-by: Marc Poulhiès <dkm@kataplop.net> * fixup! Fix source/assembly mapping when GNAT expanded code pane opened
* | add basic beebasm supportgh-5466gh-1408partouf2021-12-19
|/
* rust: HIR dump and small refactor with macro expansion (#3147)gh-1338Marc Poulhiès2021-12-05
| | | | | | | | | | | | | Small refactoring for handling -Zunpretty calls: - reuse options from main compiler invocation instead of crafting new ones. - factor out common part. Now also handles HIR output in a dedicated pane. Still a lot of copy/pasting from the macro expansion. fixes #2567 Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Temporarily patch Kotlin runtime execution (#3151)gh-1325Mats Larsen2021-12-03
| | | | | Fixes the problem where any (reasonable) Kotlin JVM execution would fail with a NoClassDefFound error with kotlin.jvm.internal.Intrinsics. The Kotlin execution is now packed into a jar with the Kotlin Standard Library and executed with java -jar.
* Format the output file for Erlang in a nicer way (#3135)gh-1306Björn Gustavsson2021-11-24
| | | | | For Erlang, format the output in the same way as the 'S' option does. To achieve this, we use the `beam_listing` module, which is undocumented but has been stable for many many years.
* Fix and refactor rustc-cg-gcc GCC dump (#3128)gh-1302Marc Poulhiès2021-11-22
| | | | | | | | | | | | | Conflicting changes in #3109 and #3064 left the GCC dump of rustc broken. Reapplied the changes and refactored how the -fdump-foo-pass= option is crafted. Instead of using stdout, use an explicit file. Beware that this won't work with older GCC version. Regular GCC is still using the 'dump all files' instead of the targeted option, so it's not impacted by this limitation. Only rustc-cg-gcc is currently using this mecanism and it's using a recent libgccjit. Really fixes #2868 Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Erlang highlight and add to amazon (#3129)gh-1298Patrick Quist2021-11-21
|
* Fix linter error in erlang.jsgh-1292Marc Poulhiès2021-11-21
| | | | | | | | | | Trivial linter error: ``` compiler-explorer/lib/compilers/erlang.js 65:1 warning More than 1 blank line not allowed no-multiple-empty-lines ✖ 1 problem (0 errors, 1 warning) 0 errors and 1 warning potentially fixable with the `--fix` option. ```
* add support for erlang to beam bytecode (#3094)gh-1286Timothy Moores2021-11-21
| | | | | | | | | * add support for erlang to beam bytecode * changed call by 'this' to overridden functions * Update base-compiler.js Co-authored-by: Patrick Quist <partouf@gmail.com>
* Enable the GCC dump for the rustc using GCC backend (#3109)gh-1285Marc Poulhiès2021-11-21
| | | | | | | | | | | | | | | | | Beware that the way it is working causes several dump files to be empty. The list of potential files is based on `-fdump-passes` output, but during the actual compilation, some passes may or may not emit something (eg. a passe may not be executed at all because it's not applicable). The drop down list will contain some dump names that will simply display message like: Pass 'cselim (tree)' was requested but nothing was dumped. Possible causes are: - pass is not valid in this (maybe you changed the compiler options); - pass is valid but did not emit anything (eg. it was not executed). This is expected and until someone has a better idea, this will be the case :) fixes: #2868 Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Honour rustc flags when emitting MIR and emit both assembly and MIR in the ↵gh-1284Marc Poulhiès2021-11-21
| | | | | | | | | | | | | | | | | | | | same execution (#3116) * Honor compiler flags in rustc MIR output view * Refactor rustc/MIR execution handling Apply the same receipe as for GNAT and GCC for minimizing the number of executions for getting extra outputs (here MIR). After discussions in #3107, the way the output files are created is also changed to use the syntax `--emit KIND=PATH` (see https://doc.bccnsoft.com/docs/rust-1.36.0-docs-html/rustc/command-line-arguments.html) Signed-off-by: Marc Poulhiès <dkm@kataplop.net> * fixup! Refactor rustc/MIR execution handling Co-authored-by: Nico Lehmann <nico.lehmannm@gmail.com>
* Refactor GCC dump and GNAT expanded code creation (#3064)gh-1262Marc Poulhiès2021-11-16
| | | | | | | | | | | | | | | | Instead of having a dedicated invocation of the compilers, inject needed options in the main compilation command and do everything in one run. This should fix GNAT race condition on ALI file, save some CPU time and make the latency a bit better. This can work as long as everything can really be done in one run (eg. no incompatible options, no clash on stdout/stderr). Add optionsForBackend in base compiler class that is meant to be overloaded by compilers for injecting options based on current backend options. Use it for GCC dumps (BaseCompiler) and GNAT expanded code. Fixes #3041 References #3029 Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Refactor GCC dump handling (#3024)gh-1250Marc Poulhiès2021-11-08
| | | | | | | | | | | | | | | | | | | | | | | This change allows for only dumping a single pass (the one selected). In order to populate the list of available dumps, it now queries GCC for the enabled passes. It can still be misleading to users as a pass can be enabled but for some reason does not dump anything. In order to avoid this, the only solution seems to be to still dump all files and filter the list... This defeats the initial goal and only adds complexity for the current compilers. But this makes #2868 easier to implement (see #2985 that was a aborted first attempt) and if someday another libgccjit-based compiler is added, it could be easily hooked to this. It also changes the naming in the drop down menu. For example, instead of : '009t.omplower' it now uses 'omplower (tree)' (ie. '<pass-name> (tree|ipa|rtl)'). Fixes #3014 Signed-off-by: Marc Poulhiès <dkm@kataplop.net> Co-authored-by: Rubén Rincón Blanco <ruben@rinconblanco.es>
* Set Java default encoding to UTF-8 (#3096)gh-1238Mats Larsen2021-11-04
| | | The default encoding used for Java is now UTF-8. This did not have to be changed for the Scala or Kotlin compilers as those already default to UTF-8
* Await for things (#3086)gh-1229Matt Godbolt2021-10-31
| | | | | | | | | | | | | | * Await for things We had a number of things that aren't await()ing their promises. That led to non-deterministic compiler settings like Intel support. I used the IDE to find them all and fix the ones that I thought looked important. More generally we should use tslint (once we're all typescript) to ensure this more generally. I tried the eslint equivalent but it either overreacted or didn't catch anything. Closes #3085
* Seperate compiler finding process (#3022)gh-1168Patrick Quist2021-10-15
|
* Initial support for GNAT specific debug output (#3000)Marc Poulhiès2021-10-13
| | | | | | This change only gets the GNAT Debug expanded generated code (-gnatD). Signed-off-by: Marc Poulhiès <dkm@kataplop.net> Co-authored-by: Mats Larsen <me@supergrecko.com>
* Avoid calling compilerProps after compiler object construction (#3005)gh-1092Austin Morton2021-10-04
|
* Enable GCC dump for the GNAT Ada compiler (#2989)gh-1084Marc Poulhiès2021-10-04
| | | | | | | | * Enable GCC dump for the GNAT Ada compiler GNAT is part of GCC and can handle the regular GCC options for dump files. Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Implement LLVM IR output for ispc (#2972)gh-1080Mats Larsen2021-10-04
|
* Add support for generating SPIR-V assembly from OpenCL C and C++ for OpenCL ↵gh-1078Jason Zheng2021-10-04
| | | | | | | | | (#2940) * Add support for generating SPIR-V assembly from OpenCL C and C++ for OpenCL * Update cpp_for_opencl.amazon.properties * Update openclc.amazon.properties Co-authored-by: Patrick Quist <partouf@gmail.com>