aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/mixins
AgeCommit message (Collapse)AuthorFilesLines
2019-07-30no special shared lib args for PGIMichael Hirsch, Ph.D2-7/+10
2019-07-30PGI -shared is for Linux onlyMichael Hirsch, Ph.D1-1/+8
2019-07-30Merge pull request #5740 from scivision/intel-ci_fixJussi Pakkanen1-2/+1
tests: Intel-cl fixes for Fortran
2019-07-30PGI: cpp_pch precompiled headers functionalityMichael Hirsch, Ph.D1-1/+17
* PGI C++ PCH enable PGI compilers support precompiled headers for C++ only. The common/13 pch test passes if run manually with no spaces in the build path. However, since Meson run_project_tests.py makes temporary build directories with spaces in each tests, PGI --pch_dir can't handle this and fails. So we skip the test for PGI despite it working for usual case with no-spaces in build dir. Note: it's fine to have spaces in full path for sourcedir, just no spaces in relative path to builddir. * doc
2019-07-30intel-cl: readd missing importMichael Hirsch, Ph.D1-2/+1
2019-07-23compilers: pull sanitzier args into compiler classesDylan Baker1-0/+13
This simplifies and cleans things up.
2019-07-23compilers: return as-needed args as a listDylan Baker1-3/+3
2019-07-23compilers: Move lto args into compiler classDylan Baker1-0/+6
There are two problems, one is that it assumes -flto is the argument to do LTO/WPO, which isn't true of ICC and MSVC (and presumably) others. It's also incorrect because it assumes that the compiler and linker will always be the same, which isn't necessarily true. You could combine GCC with Apple's linker, or clang with link.exe, which use different arguments.
2019-07-16Fix missing return statements that are seen with -Werror=return-type.Martin Liska1-0/+4
Error example: Code: #include <locale.h> int main () { /* If it's not defined as a macro, try to use as a symbol */ #ifndef LC_MESSAGES LC_MESSAGES; #endif } Compiler stdout: Compiler stderr: In file included from /usr/include/locale.h:25, from /tmp/tmpep_i4iwg/testfile.c:2: /usr/include/features.h:382:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp] 382 | # warning _FORTIFY_SOURCE requires compiling with optimization (-O) | ^~~~~~~ /tmp/tmpep_i4iwg/testfile.c: In function 'main': /tmp/tmpep_i4iwg/testfile.c:8:9: error: control reaches end of non-void function [-Werror=return-type] 8 | } | ^ cc1: some warnings being treated as errors
2019-07-15compilers/mixins/pgi: Finish type annoationsDylan Baker1-21/+27
2019-07-15compilers: split pgi compiler out of compilers moduleDylan Baker1-0/+89
2019-07-15compilers/mixins/elbrus: add type annotations and fix typesDylan Baker3-17/+22
There is a pretty big error in here, trying to return a tuple comperhension: (a for a in []) is not a tuple, it's a generator. This has profound type annotations: generators don't support most tuple or list methods, and they can only be iterated once. Beyond that tuples are meant for heterogenous types, ie, position matters for types. I've converted the output to a list in all cases.
2019-07-15compilers: put elbrus in mixinsDylan Baker1-0/+59
2019-07-15compilers/mixins/clang: Add type annotationsDylan Baker1-12/+21
2019-07-15compilers: Put clang mixin in a moduleDylan Baker2-1/+83
2019-07-15compilers/mixins/arm: Add type annotations to armclangDylan Baker1-41/+47
2019-07-15compilers: move ArmClang into mixins/arm.pyDylan Baker1-0/+117
2019-07-15compilers/mixins/intel: add type annotationsDylan Baker1-17/+24
2019-07-15compilers: Put Intel compiler classes into the mixins folderDylan Baker1-0/+134
2019-07-15compilers/mixins/gnu: Add type annotationsDylan Baker1-100/+119
2019-07-15compilers: split gnu and gnulike compilers out of compilersDylan Baker1-0/+390
I debated a bit whether both classes really belong in the same module, and decided that they do because the share a number of helpers.
2019-07-15compilers/mixins/visualstudio: Add type annotationsDylan Baker1-106/+119
2019-07-15compilers: Move the VisualStudioLikeCompiler class into mixinsDylan Baker2-2/+414
2019-07-15compilers/mixins/arm: Add type annotationsDylan Baker1-42/+51
2019-07-15compilers: Move ArmCompiler to a mixin moduleDylan Baker1-0/+128
2019-07-15compilers/mixins/ccrx: add type annotationsDylan Baker1-48/+59
2019-07-15compilers: move ccrx compiler abstraction into mixinsDylan Baker1-0/+148
2019-07-15compilers: Move clike into a mixins directoryDylan Baker2-0/+1165
The compilers module is rather large and confusing, with spaghetti dependencies going every which way. I'm planning to start breaking out the internal representations into a mixins submodule, for things that shouldn't be required outside of the compilers module itself.