| Commit message (Collapse) | Author | Age |
... | |
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
| | |
|
| |
| |
| |
| |
| | |
* fixing compilers 0.4.x - 0.8.x
* update contributors file
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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>
|
| |
| |
| | |
Closes #3488
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* progress
* added some config
Co-authored-by: Alex D <duzhar@gmail.com>
|
| |
| |
| |
| | |
spacing (#3428)
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
| |
| |
| |
| | |
(#3371)
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
filenames even if theres no lineno info (#3341)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| | |
Closes #3198
|
| | |
|
| |
| |
| |
| |
| |
| | |
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
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
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
* changed call by 'this' to overridden functions
* Update base-compiler.js
Co-authored-by: Patrick Quist <partouf@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
| |
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
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
|
| |
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
| |
* 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>
|
| |
|
|
|
|
|
|
|
|
|
| |
(#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>
|