summaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/mixins/clang.py
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Add thinlto support. Closes #7493."Jussi Pakkanen2020-11-171-7/+0
| | | | This reverts commit 3e6fbde94c1cb8d4e01b7daf0282c315ff0e6c7d.
* Add thinlto support. Closes #7493.Jussi Pakkanen2020-11-081-0/+7
|
* compilers: clang: use get_compiler_check_argsDylan Baker2020-10-011-5/+8
|
* compilers: Tell mypy that the compiler mixins are just thatDylan Baker2020-09-241-15/+3
| | | | | | 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.
* compilers/mixins/clang: Make type safeDylan Baker2020-09-241-5/+16
|
* Make meson recognize the Qualcomm LLVM toolchainAntony Chan2020-08-021-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Meson calls `path/to/clang++ --version` to guess which build toolchain the user has picked to build the source code. For the Qualcomm LLVM toolchain, the output have an unusual output as shown below: ``` clang version 8.0.12 Snapdragon LLVM ARM Compiler 8.0.12 (based on llvm.org 7.0+) Target: arm-unknown-linux-gnueabi Thread model: posix Repository: (ssh://git-hexagon-aus.qualcomm.com:...) InstalledDir: /pkg/qct/software/llvm/release/arm/8.0.12/bin ``` Another unusual pattern is the output of `path/to/ld.qcld --version`: ``` ARM Linker from Snapdragon LLVM ARM Compiler Version 8.0.12 ARM Linker based on LLVM version: 8.0 ``` The Meson logic is modified accordingly so that Meson can correctly determine toolchain as "LLVM aarch64 cross-compiler on GNU/Linux64 OS". This is the expected output of `meson --native-file native_file.ini --cross-file cross_file.ini build/aarch64-debug/`: ``` ... C++ compiler for the host machine: ... (clang 8.0.12 "clang version 8.0.12") C++ linker for the host machine: ... ld.lld 8.0.12 ... ```
* Allow building with b_coverage set to true when clang is being used ↵georgev932020-05-221-0/+3
| | | | regardless of linker selection.
* compilers: add fetching of define list for clangYevhenii Kolesnikov2020-05-221-1/+8
| | | | | | | | | | | | | | | Simmilar to gcc, the list of pre-processor defines can be fetched with `-dM -E` option. The way cpu_family is determined on linux relies on this list. Fixes incorrect value of cpu_family on linux, when crosscompiling: ``` CC="clang -m32" meson ./build ``` Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com> Co-authored-by: Dylan Baker <dylan@pnwbakers.com>
* compilers: Silence warning about gnu_inline with clangNirbheek Chauhan2020-04-201-0/+5
| | | | | | | | | | The warning is due to a change in behaviour in Clang 10 and newer: https://releases.llvm.org/10.0.0/tools/clang/docs/ReleaseNotes.html#c-language-changes-in-clang This was already fixed for clang++, but not for clang for some reason. It was also fixed incorrectly; by adding `extern` instead of moving from `-Werror` to `-Werror=attributes`.
* compilers: Clang can take linkers that are pathsDylan Baker2020-03-241-0/+14
| | | | | This will be a regression in 0.54.0 because we now enforce that gnu compilers only get gold, bfd, or lld.
* Resolve Clang failure to use -Og with --optimization=gPhillip Johnston2020-03-151-2/+9
| | | | | | | | Clang supports the GCC -Og flag, but --optimization=g is not setting that. This is because Clang is referencing the clike_optimization_args, which does not define a flag for 'g'. To address this, we'll mimic the GNU options instead of the C-like ones. Fixes #6619
* types: import typing as T (fixes #6333)Daniel Mensinger2020-01-081-10/+10
|
* compilers: replace CompilerType with MachineInfoDylan Baker2019-10-071-7/+10
| | | | | | Now that the linkers are split out of the compilers this enum is only used to know what platform we're compiling for. Which is what the MachineInfo class is for
* compilers/mixins/clang: Add type annotationsDylan Baker2019-07-151-12/+21
|
* compilers: Put clang mixin in a moduleDylan Baker2019-07-151-0/+81