aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-09-27typing: fully annotate cmake.commonDaniel Mensinger2-42/+50
2020-09-27typing: fully annotate cmake.clientDaniel Mensinger1-35/+43
2020-09-27typing: add convinient option to clear the terminal to run_mypy.pyDaniel Mensinger1-0/+5
2020-09-27typing: fix indentation in run_mypy.pyDaniel Mensinger1-48/+48
2020-09-25tests/hdf5: work around some problemsDylan Baker1-5/+20
There are two cases that won't work (these are taken from fortran/9 cpp), using gfortran with a non-gcc compiler on windows, or using gfortran with apple clang. The latter is due to default search paths, which we can fix, but is out of scope for this MR.
2020-09-25dependencies/hdf5: Use the correct compilers for the machineDylan Baker3-6/+23
Instead of the default ones, this is especially important when cross compiling or when using compilers that aren't compatible with the default ones. squash! dependencies/hdf5: Use the actual system compilers
2020-09-25dependencies/hdf5: Convert to a dependency_factoryDylan Baker9-113/+168
Instead of a mega dependency that does everything, use a dependency factory for config-tool and pkg-config
2020-09-24environment: Pass defines to clang based ObjC[++] compilersDylan Baker1-1/+5
mypy noticed that we were passing [] (instead of a dict or None) to the ClangCompiler class in objc, which made me noticed that for C and C++ we set the defines, but not for ObjC and ObjC++
2020-09-24compilers/objcpp: add type annotationsDylan Baker2-14/+31
2020-09-24compilers/objc: Add type annotationsDylan Baker2-14/+28
2020-09-24compilers: Tell mypy that the compiler mixins are just thatDylan Baker16-178/+122
We do this by making the mixins inherit the Compiler class only when mypy is examining the code (using some clever inheritance shenanigans). This caught a bunch of issues, and also lets us delete a ton of code.
2020-09-24compilers: make is_cross part of the base Compiler classDylan Baker14-38/+36
Every class needs to set this, so it should be part of the base. For classes that require is_cross, the positional argument remains in their signature. For those that don't, they just allow the base class to set their value to it's default of False.
2020-09-24compilers: make sanity_check_impl a protected methodDylan Baker3-4/+4
It's an implementation detail after all
2020-09-24compilers: put name_string method in base compilerDylan Baker9-24/+4
Every language had the exact same implementation
2020-09-24run_mypy: compilers/c_function_attributes is already type safeDylan Baker1-0/+1
2020-09-24run_mypy: all of compilers/mixins is now type safeDylan Baker1-14/+1
2020-09-24compilers/mixins: make xc16 type safeDylan Baker2-2/+8
2020-09-24compilers/mixins: make visual studio type safeDylan Baker2-2/+22
2020-09-24compilers/mixins/pgi: Make type safeDylan Baker2-2/+12
2020-09-24compilers/mixins/islinker: Make type safeDylan Baker2-0/+5
2020-09-24compilers/mixins/intel: make type safeDylan Baker2-12/+23
2020-09-24compilers/mixins/intel: Use the has_func_attribute_extra_args functionDylan Baker2-1/+6
Instead of putting that extra argument in the base compiles() class
2020-09-24compilers/mixins/emscripten: make type safeDylan Baker2-4/+12
2020-09-24compilers/mixins/elbrus: make type safeDylan Baker2-1/+6
2020-09-24compilers/mixins: make compcert type safeDylan Baker2-2/+7
2020-09-24compilers/mixins/clang: Make type safeDylan Baker3-5/+25
2020-09-24compilers/mixings/gnu: make type safeDylan Baker2-11/+35
2020-09-24compilers/mixins/clike: fix mypy issuesDylan Baker7-152/+303
2020-09-24compilers/mixins/ccrx: make mypy safeDylan Baker2-1/+7
2020-09-24compilers/mixins/c2000: Make mypy safeDylan Baker2-1/+7
2020-09-24compilers/mixins/arm: make type safeDylan Baker2-26/+25
2020-09-24compilers/compilers: Fully type annotateDylan Baker7-168/+266
2020-09-24ast/introspection: Fix typing violation due to untyped functionsDylan Baker1-7/+8
When we add type annotations to this in compilers this will break, unless we've already filtered out the non-string arguments.
2020-09-24compilers: Use a distinct type for compile/link resultsDylan Baker5-29/+42
Currently we do some crazy hackery where we add extra properties to a Popen object and return that. That's crazy. Especially since some of our hackery is to delete attributes off of the Popen we don't want. Instead, let's just have a discrete type that has exactly the properties we want.
2020-09-23zsh: Add completions for meson compileDylan Baker1-0/+16
2020-09-23zsh: add completions for subprojectsDylan Baker1-3/+77
2020-09-23zsh: add wrap completionsDylan Baker1-1/+54
This is still missing completions for promote, but I can't figure out how to find the wraps in subprojects that are not in the parent project when those projects haven't been fetched yet.
2020-09-23zsh: add missing arguments to meson test completionsDylan Baker1-5/+6
This also reorders the options internally to match the output of meson test --help, which makes it easier to diff
2020-09-23zsh: Add completions for meson initDylan Baker1-2/+22
2020-09-23Deprecate meson.build_root() and meson.source_root()Xavier Claessens3-6/+13
Those function are common source of issue when used in a subproject because they point to the parent project root which is rarely what is expected and is a violation of subproject isolation.
2020-09-23zsh: Add completions for meson installDylan Baker1-2/+17
2020-09-22pylint: turn on a few more errorsDylan Baker1-0/+3
2020-09-22pylint: turn on bad-indentation errorDylan Baker6-30/+31
and fix all of the bad indentation
2020-09-22pylint: turn on warnings for abstract classesDylan Baker1-0/+1
We're using these now, so having some error checking to make sure we don't have paths were we're trying to instantiate an abstract class would be good.
2020-09-22pylint: Turn on warnings for incorrect number of argsDylan Baker3-6/+11
This catches some very real errors. The one in scalapack is pretty silly actually, it's failing to figure out that the exploded list is at least two arguments. However, the code is actually clearer by not using a list and exploding it, so I've done that and pylint is happy too.
2020-09-22zsh: add meson dist completionsDylan Baker1-2/+18
2020-09-22mdist: actually constrain the choices of the --formats optionDylan Baker1-1/+1
Since we already have that list available.
2020-09-22zsh: Add ability to complete depedency pathsDylan Baker1-4/+4
using , separated syntax
2020-09-22zsh: add missing options for meson introspectDylan Baker1-5/+7
2020-09-22zsh: share common options between meson configure and meson setupDylan Baker1-36/+38