- add patch from 2 upstream commits that were not backported to llvm_18
and llvm_19:
41eb186fbb
Fixes build failure with gcc15:
```
In file included from /build/mlir-src-18.1.8/mlir/lib/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.cpp:9:
/build/mlir-src-18.1.8/mlir/include/mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h:31:11:
error: 'int64_t' was not declared in this scope
31 | FailureOr<int64_t> fullyComposeAndComputeConstantDelta(Value value1,
| ^~~~~~~
/build/mlir-src-18.1.8/mlir/include/mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h:13:1:
note: 'int64_t' is defined in header '<cstdint>'; this is probably
fixable by adding '#include <cstdint>'
12 | #include "mlir/Support/LogicalResult.h"
+++ |+#include <cstdint>
13 |
```
101109fc54
Fixes failure with gcc15:
```
In file included from /build/mlir-src-19.1.7/mlir/lib/Target/SPIRV/Deserialization/Deserialization.cpp:9:
/build/mlir-src-19.1.7/mlir/include/mlir/Target/SPIRV/Deserialization.h:29:51:
error: 'uint32_t' was not declared in this scope
29 | OwningOpRef<spirv::ModuleOp> deserialize(ArrayRef<uint32_t> binary,
| ^~~~~~~~
/build/mlir-src-19.1.7/mlir/include/mlir/Target/SPIRV/Deserialization.h:18:1:
note: 'uint32_t' is defined in header '<cstdint>'; this is probably
fixable by adding '#include <cstdint>'
17 | #include "mlir/Support/LLVM.h"
+++ |+#include <cstdint>
18 |
```
First patch can be applied with `fetchpatch`, but only on llvm_19, because
of changed include line right above.
So use 2 versions of combined patches with 2 commits.
- add patch from upstream commit that was not backported to llvm_18:
bb59f04e7e
Fixes build failure with gcc15:
```
In file included from /build/lldb-src-18.1.8/lldb/source/Utility/AddressableBits.cpp:9:
/build/lldb-src-18.1.8/lldb/include/lldb/Utility/AddressableBits.h:25:27:
error: 'uint32_t' has not been declared
25 | void SetAddressableBits(uint32_t addressing_bits);
| ^~~~~~~~
/build/lldb-src-18.1.8/lldb/include/lldb/Utility/AddressableBits.h:13:1:
note: 'uint32_t' is defined in header '<cstdint>'; this is probably
fixable by adding '#include <cstdint>'
12 | #include "lldb/lldb-forward.h"
+++ |+#include <cstdint>
13 |
```
Cannot use `fetchpatch` because patch does not apply on llvm_18
(no `#include "lldb/lldb-public.h"` line on llvm_18).
- add combined patch from 2 upstream commits that were not backported
to llvm_18:
8f39502b85
Fixes build failure with gcc15:
```
In file included from /build/llvm-src-18.1.8/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp:14:
/build/llvm-src-18.1.8/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h:44:43:
error: 'uint8_t' has not been declared
44 | createAMDGPUELFObjectWriter(bool Is64Bit, uint8_t OSABI,
| ^~~~~~~
/build/llvm-src-18.1.8/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h:19:1:
note: 'uint8_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
18 | #include <memory>
+++ |+#include <cstdint>
19 |
```
7abf44069a
Fixes build failure with gcc15:
```
In file included from /build/llvm-src-18.1.8/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h:19,
from /build/llvm-src-18.1.8/llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp:14:
/build/llvm-src-18.1.8/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h:86:50:
error: 'uint64_t' has not been declared
86 | int MemoryOperand, uint64_t TSFlags);
| ^~~~~~~~
/build/llvm-src-18.1.8/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h:18:1:
note: 'uint64_t' is defined in header '<cstdint>'; this is probably
fixable by adding '#include <cstdint>'
17 | #include <string>
+++ |+#include <cstdint>
18 |
```
Cannot use `fetchpatch` because second patch does not apply on llvm_18,
no `#include "llvm/ADT/SmallVector.h"` line present on llvm_18.
So vendor combined patch from 2 commits.
- add "CFLAGS=-std=gnu17" to `configureFlags`.
There are patches upstream to make it build with `-std=gnu23`
(default in gcc15):
https://gitlab.com/embeddable-common-lisp/ecl/-/merge_requests/325https://gitlab.com/embeddable-common-lisp/ecl/-/merge_requests/345
but applying them makes it not build with `-std=gnu17` (default in gcc14)
instead.
Fixes build failure with gcc15:
```
/build/ecl-24.5.10/src/c/dpp.c:112:13: error: 'bool' cannot be defined
via 'typedef'
112 | typedef int bool;
| ^~~~
/build/ecl-24.5.10/src/c/dpp.c:112:13: note: 'bool' is a keyword
with '-std=c23' onwards
/build/ecl-24.5.10/src/c/dpp.c:112:1: warning: useless type name in
empty declaration
112 | typedef int bool;
| ^~~~~~~
```
Enable the LLVM profiler runtime on macOS by passing `--enable-profiler`
to rustc's configure. This allows cargo-llvm-cov and other coverage tools
to work on Darwin platforms.
The profiler is explicitly disabled for wasm and bpf targets which don't
support it.