MetOffice / MetOffice/fab

Ifort changes compiler version format

Open
#527 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
9
Forks
9
Avg merge
12d 12h
Merged PRs (30d)
2

Description

The old ifort compiler changes the format version from 2 digits for year to 4 digits:
```
intel-compiler/2019.3.199 ifort (IFORT) 19.0.3.199 20190206 Copyright (C) 1985-2019 Intel Corporation. All rights reserved.
intel-compiler/2019.4.243 ifort (IFORT) 19.0.4.243 20190416 Copyright (C) 1985-2019 Intel Corporation. All rights reserved.
intel-compiler/2019.5.281 ifort (IFORT) 19.0.5.281 20190815 Copyright (C) 1985-2019 Intel Corporation. All rights reserved.
intel-compiler/2020.0.166 ifort (IFORT) 19.1.0.166 20191121 Copyright (C) 1985-2019 Intel Corporation. All rights reserved.
intel-compiler/2020.1.217 ifort (IFORT) 19.1.1.217 20200306 Copyright (C) 1985-2020 Intel Corporation. All rights reserved.
intel-compiler/2020.2.254 ifort (IFORT) 19.1.2.254 20200623 Copyright (C) 1985-2020 Intel Corporation. All rights reserved.
intel-compiler/2020.3.304 ifort (IFORT) 19.1.3.304 20200925 Copyright (C) 1985-2020 Intel Corporation. All rights reserved.
intel-compiler/2021.1.1 ifort (IFORT) 2021.1 Beta 20201112 Copyright (C) 1985-2020 Intel Corporation. All rights reserved.
intel-compiler/2021.10.0 ifort (IFORT) 2021.10.0 20230609 Copyright (C) 1985-2023 Intel Corporation. All rights reserved.
intel-compiler/2021.2.0 ifort (IFORT) 2021.2.0 20210228 Copyright (C) 1985-2021 Intel Corporation. All rights reserved.
intel-compiler/2021.3.0 ifort (IFORT) 2021.3.0 20210609 Copyright (C) 1985-2021 Intel Corporation. All rights reserved.
intel-compiler/2021.4.0 ifort (IFORT) 2021.4.0 20210910 Copyright (C) 1985-2021 Intel Corporation. All rights reserved.
intel-compiler/2021.5.0 ifort (IFORT) 2021.5.0 20211109 Copyright (C) 1985-2021 Intel Corporation. All rights reserved.
intel-compiler/2021.6.0 ifort (IFORT) 2021.6.0 20220226 Copyright (C) 1985-2022 Intel Corporation. All rights reserved.
intel-compiler/2021.7.0 ifort (IFORT) 2021.7.0 20220726 Copyright (C) 1985-2022 Intel Corporation. All rights reserved.
intel-compiler/2021.8.0 ifort (IFORT) 2021.8.0 20221119 Copyright (C) 1985-2022 Intel Corporation. All rights reserved.
```

That makes for strange looking tests, e.g.:
```
if (19, 0, 0) <= ifort.get_version() < (20, 0, 0):
...
if (19, 0, 0) <= ifort.get_version() < (2022, 0, 0):

```

Should we care? We could adjust the version numbers in Fab to be consistent, but:
1. should we bother (ifort is unsupported)
2. do we create more confusion than we solve?

I am happy to just close this and accept the odd looking tests in Fab build scripts.

Contributor guide

Open the contributing guide

Research direction

Start with the Fab build scripts and the ifort.get_version() checks shown in the issue, then compare how the listed compiler output formats are parsed and tested. Done means the handling and tests consistently represent the supported ifort versions, or the issue is closed with the existing behavior explicitly retained.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, compilers
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.