Commit Graph

29 Commits

Author SHA1 Message Date
Matt Godbolt
f2c1e0bd31 The Grand Reformat (#3643)
* The Grand Reformat

- everything made prettier...literally
- some tweaks to include a few more files, including documentation
- minor changes to format style
- some tiny `// prettier-ignore` changes to keep a few things the way we like them
- a couple of super minor tweaks to embedded document types to ensure they format correctly
2022-05-09 23:13:50 -05:00
Alexey Shekhirin
2001d1b65e Add support for Solidity (#3507)
* 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>
2022-04-14 02:33:13 +02:00
ODuzhar
df3042f29b Added TypeScript Native compiler (#3448)
* progress

* added some config

Co-authored-by: Alex D <duzhar@gmail.com>
2022-03-21 22:14:03 -05:00
Michael Debertol
3f695c9cc1 Add Dart support (#3352) 2022-02-11 16:19:16 +01:00
Steve
0a3aadbe80 Add support for C#, F# and Visual Basic (#3168) 2022-01-29 16:16:27 +01:00
Timothy Moores
82772f4bbb add support for erlang to beam bytecode (#3094)
* 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>
2021-11-21 14:22:04 +01:00
Jason Zheng
d103b7f362 Add support for generating SPIR-V assembly from OpenCL C and C++ for OpenCL (#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>
2021-10-04 21:43:07 -05:00
Kevin Adler
44c5162add Add support for Microsoft Visual C++ 6 (#2907)
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.
2021-09-01 07:50:26 -05:00
Quinton Miller
7e1835fa0f Add support for Ruby (#2816) 2021-07-30 16:29:37 -04:00
Michał Cichoń
3bce751739 Add support for Circle (https://www.circle-lang.org/) (#2808)
* Add support for circle-lang (closes #1845)
* Add circle-128 version.
* Support keywords starting with @ (thanks Matt!)
2021-07-25 21:26:00 -05:00
Marc Poulhiès
040115eaf5 Support cproc C11 compiler (#2787)
Add support for cproc C11 compiler.
cproc is a lightweight compiler using the QBE backend.

Fixes #2755
2021-07-19 22:24:46 -05:00
Artem Belevich
115cbf3817 Add support for HIP compilation for AMD GPUs. (#2759)
* 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
2021-07-19 21:55:23 -05:00
Marc Poulhiès
f000d51ad0 Adding rustc-cg-gcc (#2746)
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
2021-07-12 15:35:01 -05:00
Quinton Miller
94ecb093a0 Add Crystal support (#2732)
* 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>
2021-07-08 00:23:48 +02:00
Oleksandr
d1da148563 Add initial scala support (#2737)
* Add initial scala support

* Fix scala 3 compiler flags

* Use semver instead
2021-06-29 09:39:06 +02:00
Artem Belevich
b939d1fe5b Added support for SASS disassembly for clang as a CUDA compiler. (#2728)
* 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.
2021-06-21 20:47:46 -05:00
Rubén Rincón Blanco
9e2b24ea40 Add Zig c++ (#2716)
As requested by #2707

It still has the same problems found in #2434,
 which that will get fixed in Zig 0.8.1
2021-06-16 13:00:00 +02:00
Daniel Below
b4ebb47ac2 Add Kotlin/JVM support (#2637)
* 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>
2021-06-02 22:58:41 +02:00
Marc Poulhiès
b283b7eef3 Initial support for mrustc (#2681)
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
2021-05-27 21:51:33 +02:00
Patrick Quist
b2ac544920 somewhat working delphi support (#2672) 2021-05-21 20:54:01 +02:00
Marc Poulhiès
92fb7ee4df Create GCCRSCompiler class from GCCCompiler (#2632)
Use default GCCCompiler values for GCCRS.
2021-04-30 20:16:04 +02:00
Rubén Rincón Blanco
a330cd97f9 Add Zig cc as a C compiler (#2434)
* Add Zig cc as a C compiler

This commit is currently untested - I have no way to do it locally
 (Even though installing Zig is awesomely simple!), so it might be
 pretty broken

Releated issue: #2427

* Move cc to options field

This way fstat works

* attempt at fixing zigcc

* force zig > 0.6 to compile to binary as workaround

Co-authored-by: partouf <partouf@gmail.com>
2021-04-30 16:36:54 +02:00
Patrick Quist
a0f70d4b0b allow other nasm inputformat, add readelf to assembly (#2481) 2021-03-11 20:35:30 +01:00
Patrick Quist
50f6859730 TinyC support (#2365)
* minimal tinycc support

* dont pass -g by default + don't use binary mode on -E

* work around for trunk

* add tinycc trunk
2021-01-02 16:10:05 +01:00
Julian
63971bffc6 OSACA tool & analysis support (#2280)
* added rudimentary OSACA tool & analysis support
* added osaca to tools. using -trunk
* fixed copyright string and added myself to CONTRIBUTORS.md
* use OSACA v0.3.10
2020-11-03 08:01:23 -06:00
JesusKrists
a561a0c412 Add EWARM compiler type and documentation (#2267)
Co-authored-by: Krists Niedritis <kristsn@na.lv>
2020-10-09 07:00:33 -04:00
Austin Morton
de85aecc7d Normalize and enforce license disclaimer headers (#2234) 2020-09-27 00:20:19 -04:00
Austin Morton
044dcfbf88 Use ES6 Modules (#2132) 2020-09-26 16:59:26 -04:00
Austin Morton
bac07fea6d Eliminate all dynamic require statements (#2230) 2020-09-25 11:21:30 -04:00