| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
Convert the ada compiler code to typescript.
Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
Co-authored-by: Matt Godbolt <matt@godbolt.org>
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Need to jump in the dedicated directory, but then GNAT may write some files that
may conflict with ours: create a dedicated temp subdir to run GNAT.
Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When compiling to binary or running the executable, extra options are inserted,
breaking some weak asumption in Ada/GNAT on where in the list is the
inputFilename.
Override prepareArguments() for GNAT and (more) cleanly handle the
options (split between gnatmake, compiler, binder and linker).
Also use 'gnatmake' as main compiler executable instead of 'gnat'.
Refresh Copyright.
Fixes #3709
Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
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>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The largest changes here are:
- enforcing single quotes for strings
- enforcing trailing commas where possible
In addition to those we have enabled several eslint plugins:
- plugin:requirejs/recommended, to enforce some conventions in require statements
- plugin:node/recommended, to enforce correct usage of various node.js APIs
- plugin:unicorn/recommended, which contains a pretty mixed bag of useful rules
This PR attempts to not change code behavior when possible. In cases where fixing
existing code would change semantics, a linting exclusion has been placed in the
code base to silence the error. You can find these by searching for `eslint-disable-next-line`.
Co-authored-by: Austin Morton <austinpmorton@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* enables binary+execution for ADA
* generic bandaid for missing executables
* -eS commands are not errors
* support error annotations
* restore original default but add exec example
* re-enable rpath
* add tools
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|