From e9fd778e4f130230c988c48ea7c7268aabae6311 Mon Sep 17 00:00:00 2001 From: Seb James Date: Thu, 5 Sep 2024 15:33:36 +0100 Subject: [PATCH] Adds notes following compile testing with clang on Ubuntu --- README.build.compiler.md | 41 +++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/README.build.compiler.md b/README.build.compiler.md index 8ea8c059..47ee307a 100644 --- a/README.build.compiler.md +++ b/README.build.compiler.md @@ -17,29 +17,32 @@ fulfil the requirements given here. | OS | Compiler | Version | Result and reason | | :-------: | :------: | :-----: | ---------------------------------------- | -| Ubuntu 24.04 | gcc | 10.5 | Fail: on constexpr code in morph::Gridct | -| Ubuntu 24.04 | gcc | 11.4 | Pass (make && make test) | -| Ubuntu 24.04 | gcc | 12.3 | Pass (make && make test) | -| Ubuntu 24.04 | gcc | 13.2 | Pass (make && make test) | +| Ubuntu 24.04 | g++ | 10.5 | Fail: on constexpr code in morph::Gridct | +| Ubuntu 24.04 | g++ | 11.4 | Pass (make && make test) | +| Ubuntu 24.04 | g++ | 12.3 | Pass (make && make test) | +| Ubuntu 24.04 | g++ | 13.2 | Pass (make && make test) | +| Ubuntu 24.04 | clang++ | 14.0 | Fail: on colourmaps_mono target (`#include ` problem) | +| Ubuntu 24.04 | clang++ | 16.0 | Pass (make && make test) | +| Ubuntu 24.04 | clang++ | 18.1 | Pass (make && make test) | The build also succeeds on various versions of Mac OS with -clang. Entries in the table for clang on Mac and Linux are to follow. +clang. Entries in the table for clang on Mac are to follow. ## Default compilers on different OS platforms -| OS | Default Compiler | Version | Support | -| :-------: | :------: | :-----: | :--: | -| Ubuntu 20.04 | gcc | 9 | No | -| Ubuntu 20.10 | gcc | 10 | No | -| Ubuntu 22.04 | gcc | 11 | Yes | -| Ubuntu 22.10 | gcc | 12 | Yes | -| Ubuntu 24.04 | gcc | 13 | Yes | -| Fedora 35 | gcc | 11 | Yes | -| Fedora 36 | gcc | 12 | Yes | -| Fedora 37 | gcc | 12 | Yes | -| Fedora 38 | gcc | 13 | Yes | -| Fedora 39 | gcc | 13 | Yes | -| Fedora 40 | gcc | 14 | Yes* | +| OS | Default Compiler Family | Version | Support | +| :-------: | :------: | :-----: | :--: | +| Ubuntu 20.04 | gcc | 9 | No | +| Ubuntu 20.10 | gcc | 10 | No | +| Ubuntu 22.04 | gcc | 11 | Yes | +| Ubuntu 22.10 | gcc | 12 | Yes | +| Ubuntu 24.04 | gcc | 13 | Yes | +| Fedora 35 | gcc | 11 | Yes | +| Fedora 36 | gcc | 12 | Yes | +| Fedora 37 | gcc | 12 | Yes | +| Fedora 38 | gcc | 13 | Yes | +| Fedora 39 | gcc | 13 | Yes | +| Fedora 40 | gcc | 14 | Yes* | *Well, probably/hopefully/presumably :) @@ -54,7 +57,7 @@ You then call cmake with ```bash mkdir build_clang cd build_clang -CC=clang CXX=clang++ cmake .. +CC=clang CXX=clang++ cmake .. # Or maybe CC=clang-18 CXX=clang++-18 make ``` (You probably don't need CC=clang)