Eli Schwartz
9daaece785
flake8: fix various whitespace errors with badly aligned code
3 years ago
Eli Schwartz
60c893f1c2
flake8: remove some redundant separators
3 years ago
Eli Schwartz
07d9c72e17
flake8: fix wrong numbers of blank line separators
3 years ago
Eli Schwartz
baecebda0e
flake8: fix typoed whitespace surrounding tokens
3 years ago
Tobias Pankrath
91ca3e2d58
dlang: fix #9250 invalid include flag for root directory
3 years ago
William Toohey
b4d9b2551c
Genericise TI compiler and add MSP430 support
3 years ago
Eli Schwartz
ff7a30c0ea
mark regex string as raw string to fix invalid escapes
3 years ago
Eli Schwartz
3990dc6d64
flake8: fix indentation style
3 years ago
Arsen Arsenović
57ce83b396
compilers/c_function_attributes: add retain
...
retain is a relatively young attribute which has proven itself useful
for working with --gc-sections -z start-stop-gc.
3 years ago
Gatgat
f3a8e5d3b2
Fix system include arguments for clang-cl
3 years ago
Dylan Baker
1209b8820b
compilers: push the compiler id to a class variable
...
It really is a per class value, and shouldn't be set per instance. It
also allows us to get rid of useless constructors, including those
breaking mypy
3 years ago
Ben Boeckel
f30e83efd6
armltdclang: add support for ARM Ltd.'s `armclang` toolchain
...
This is another toolchain also called `armclang`, but it is not a cross
compiler like Keil's `armclang`. It is essentially the same as `clang`
based on its interface and CMake's support of the toolchain.
Use an `armltd` prefix for the compiler ID.
Fixes : #7255
3 years ago
Eli Schwartz
9f384e9207
fix type annotations for compiler toolchain rpaths
...
We pass around a tuple of rpaths, because rpaths *can* be more than one.
But all the annotations said it would be a str instead.
3 years ago
Tristan Partin
269337ceb2
Fix mypy 0.930 issues
...
Removed errant "type: ignore".
Fixed issue with "fetch" call. This issue was the following:
Dict::get() and Dict::pop() have the following signature:
T.Callable[[_T, _U], _U | None] OR T.Callable[[_T], _U | None]
Note how the return type is _U here. When the fetch() function was
actually being called, it had the following signature:
T.Callable[[_T, T.List[_U]], T.Union[T.List[_U], _U]]
This is incompatible with the previous definitions. The solution is
simply to move where the default value is introduced if fetch() produces
None.
3 years ago
Ben Boeckel
28de74c994
armclang: clarify that this is support for the Keil cross-compiler
3 years ago
Sahnvour
d9c73a6a7b
clang-cl: add a translation pass for `-isystem` args to work
3 years ago
Luke Elliott
d014ccf8d7
Fix _calculate_toolset_version for VS2022.
3 years ago
Nathanael Gray
c2956269f5
Add -g for debug builds.
3 years ago
Nathanael Gray
2bc3117408
Fix more code which appears copied from CcrxCompiler.
3 years ago
Denis Feklushkin
1b1ecec920
ldc2: invoke -Oz instead of -Os
3 years ago
William Toohey
679adc7bf5
Support ancient (<3.4.0) gcc versions
3 years ago
Eli Schwartz
ee5428d64f
only pass clang LTO arguments when they are needed
...
If the LTO threads == 0 clang will default to the same argument we
manually pass, which meant we dropped support for admittedly ancient
versions of clang that didn't yet add that option.
Drop the extraneous argument, and add a specific error condition when
too old versions of clang are detected.
Fixes #9569
3 years ago
Nathanael Gray
ae3d495c37
Remove incorrect arguments for C2000 C++ compiler. Add correct form for output and include args.
3 years ago
Dylan Baker
f48d75dcae
compilers/java: Add no_warn_args and debug_args methods
3 years ago
Eli Schwartz
038b31e72b
various manual conversion of percent-formatted strings to f-strings
3 years ago
William D. Jones
94a5ffabf3
Add 64-bit paths to check for unsupported Watcom cl.exe clones.
3 years ago
Eli Schwartz
384151c541
migrate python 3.5 compatible superclass variable annotations to 3.6
...
As we now require python 3.6, we can declare their types without
initializing them.
3 years ago
Eli Schwartz
f36c01ede9
Revert "known Python 3.5 on windows workaround for subprocess(cwd=str(Path))"
...
This reverts commit c89aa20941
.
We no longer support 3.5 so this can go.
3 years ago
Xavier Claessens
7a12c911bf
Remove duplicated CEXE_MAPPING table
3 years ago
Eli Schwartz
8947352889
fix various flake8 whitespace errors
3 years ago
Jussi Pakkanen
4840c86ec9
Add sccache support.
3 years ago
Moroz Oleg
012ec7d5b3
Add stdc++20 support for Visual Studio 2019 v16.11
...
fix #9242
3 years ago
Dylan Baker
034b3a92d9
compilers/rust: fix typo in standard description
3 years ago
Dylan Baker
841dc2a4e7
compilers/rust: add support for the 2021 edition
3 years ago
Xavier Claessens
a3f3ddf581
cuda: Override std=none to avoid host_compiler to emit -std argument
3 years ago
Christian Clauss
a5020857f3
Fix typos discovered by codespell
3 years ago
Vladimír Čunát
98d1ec7a32
clike compilers: drop semicolon at function end
...
warning: ISO C does not allow extra ';' outside of a function [-Wpedantic]
3 years ago
Jesse Natalie
b19530bd7d
Fix compiler detection for cl/clang-cl
...
If the compiler specified is a path to a compiler, the current detection is broken. It needs to use just the compiler name instead.
3 years ago
Eli Schwartz
4ab70c5512
fix extra whitespace
...
discovered via flake8 --select E303
3 years ago
Eli Schwartz
52c4df1ba7
use idiomatic python for membership tests
...
"X not in Y" is preferred over "not X in Y", as the former is more
readable.
3 years ago
makise-homura
e58b3adc70
Fix mypy errors
3 years ago
makise-homura
0021a21930
compilers/elbrus: Deal with C/C++/Fortran stds more correctly
3 years ago
makise-homura
0ed2d2719b
compilers: Select correct clang on e2k for C++ and ObjC++
3 years ago
makise-homura
fe0809360d
compilers: There is clang for e2k (elbrus) platform finally
3 years ago
makise-homura
79f9a2076a
compilers/elbrus: Support prelinking with lcc correctly
3 years ago
makise-homura
d9b379df87
compilers/elbrus: Fix incorrect inheritance model of Elbrus*Compiler
3 years ago
Dylan Baker
30202a2402
compilers/rust: Add support for clippy
...
Clippy is a compiler wrapper for rust that provides an extra layer of
linting. It's quite popular, but unfortunately doesn't provide the
output of the compiler that it's wrapping in it's output, so we don't
detect that clippy is rustc. This small patch adds a new compiler class
(that is the Rustc class with a different id) and the necessary logic to
detect that clippy is in fact rustc)
Fixes : #8767
3 years ago
Dylan Baker
6ca732991d
compilers/detect: use linker_always_args as well as linker exe_list
...
Otherwise we don't get critical arguments like -fuse=lld.
3 years ago
Dylan Baker
6514abf681
rustc: implement pic args
3 years ago
Dylan Baker
d32fc0563d
compilers/rust: Implement warning levels
...
Currently this implements 3 warning levels, 1 and 2 are just the
"default" set by rustc, 3, is "everything is a warning", and 0 is
"nothign is a warning".
3 years ago