Skip to content

Commit 74bb385

Browse files
committed
Release 0.22.0
1 parent 0d6f454 commit 74bb385

File tree

5 files changed

+47
-35
lines changed

5 files changed

+47
-35
lines changed

CHANGELOG.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Changelog
22

3+
## [0.22.0] - 27 May 2024
4+
5+
- LLVM 17 support (by [rjaegers](https://github.com/rjaegers)) [#1045](https://github.com/mull-project/mull/pull/1045)
6+
- Packages for Ubuntu 24.04 (by [rjaegers](https://github.com/rjaegers)) [#1048](https://github.com/mull-project/mull/pull/1048)
7+
- Better support for universal binaries on macOS [#1038](https://github.com/mull-project/mull/pull/1038)
8+
9+
- [All the changes](https://github.com/mull-project/mull/pulls?q=is%3Apr+merged%3A2023-07-01..2024-05-27)
10+
311
## [0.21.1] - 30 Jun 2023
412

513
- No real changes, just added Ubuntu 22.04 packages [#1015](https://github.com/mull-project/mull/pull/1015)
@@ -81,13 +89,13 @@ Mull switches to the new model - compiler plugin called [Mull IR Frontend](https
8189
- Drop LLVM 7 [#936](https://github.com/mull-project/mull/pull/936)
8290
- Drop LLVM 8 [#942](https://github.com/mull-project/mull/pull/942)
8391
- Fix a bug in `mull-runner` with duplicated mutants from templates [#940](https://github.com/mull-project/mull/pull/940)
84-
- Fix a bug with junk detection when the code is located in symlinked folders [#943](https://github.com/mull-project/mull/pull/943)
92+
- Fix a bug with junk detection when the code is located in symlinked folders [#943](https://github.com/mull-project/mull/pull/943)
8593
- [All the changes](https://github.com/mull-project/mull/pulls?q=is%3Apr+merged%3A2021-12-21..2022-01-20)
8694

8795
## [0.14.0] - 20 Dec 2021
8896

8997
- Mutants are now also extracted from dependent dynamic libraries [#903](https://github.com/mull-project/mull/issues/903) [#931](https://github.com/mull-project/mull/pull/931)
90-
- Fixed linking by deferring object code lowering to external compiler instead of using (mostly) incorrect defaults [#929](https://github.com/mull-project/mull/pull/929)
98+
- Fixed linking by deferring object code lowering to external compiler instead of using (mostly) incorrect defaults [#929](https://github.com/mull-project/mull/pull/929)
9199
- Added warning if number of workers specified exceeds available CPU cores (by [Matthias Bilger](https://github.com/m42e)) [#928](https://github.com/mull-project/mull/pull/928)
92100
- Most of the Ubuntu packages now built against the official LLVM/Clang instead of precompiled ones [#926](https://github.com/mull-project/mull/pull/926)
93101
- [All the changes](https://github.com/mull-project/mull/pulls?q=is%3Apr+merged%3A2021-11-24..2021-12-18)
@@ -227,7 +235,7 @@ Actual changelog:
227235
- Removed the old driver (`mull-driver`) #612
228236
- Added LLVM 9 support #609
229237
- Fixed a bug when even junk mutations were applied, resulting in a longer execution time #595
230-
- Sped up junk detection by an order of magnitude #582
238+
- Sped up junk detection by an order of magnitude #582
231239
- [All the changes](https://github.com/mull-project/mull/pulls?q=is%3Apr+merged%3A2019-08-29..2019-12-04)
232240

233241
## [0.5.0] - 28 Aug 2019

CMakeLists.txt

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cmake_minimum_required(VERSION 3.14)
22

3-
if (NOT MULL_VERSION)
4-
set (MULL_VERSION 0.21.1)
3+
if(NOT MULL_VERSION)
4+
set(MULL_VERSION 0.22.0)
55
endif()
66

77
project(Mull
@@ -17,34 +17,35 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
1717
set(CMAKE_CXX_EXTENSIONS OFF)
1818

1919
# -DRECORD_TIMING=ON
20-
if (RECORD_TIMING)
20+
if(RECORD_TIMING)
2121
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "\"${CMAKE_COMMAND}\" -E time")
2222
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "\"${CMAKE_COMMAND}\" -E time")
2323
set_property(GLOBAL PROPERTY RULE_LAUNCH_CUSTOM "\"${CMAKE_COMMAND}\" -E time")
2424
endif()
2525

26-
set (PROJECT_VERSION ${MULL_VERSION})
26+
set(PROJECT_VERSION ${MULL_VERSION})
2727

28-
set (PROJECT_DESCRIPTION "Practical mutation testing for C and C++")
29-
set (PROJECT_HOMEPAGE_URL "https://github.com/mull-project/mull")
30-
set (PROJECT_DOCS_URL "https://mull.readthedocs.io")
31-
set (PROJECT_SUPPORT_URL "https://mull.readthedocs.io/en/latest/Support.html")
28+
set(PROJECT_DESCRIPTION "Practical mutation testing for C and C++")
29+
set(PROJECT_HOMEPAGE_URL "https://github.com/mull-project/mull")
30+
set(PROJECT_DOCS_URL "https://mull.readthedocs.io")
31+
set(PROJECT_SUPPORT_URL "https://mull.readthedocs.io/en/latest/Support.html")
3232

3333
include(${CMAKE_CURRENT_LIST_DIR}/cmake/properties.cmake)
3434
include(${CMAKE_CURRENT_LIST_DIR}/cmake/fixtures.cmake)
3535
include(${CMAKE_CURRENT_LIST_DIR}/cmake/functions.cmake)
3636

37-
set (CMAKE_POSITION_INDEPENDENT_CODE ON)
37+
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
3838

3939
find_package(LLVM CONFIG REQUIRED)
4040
message("Using LLVM_CONFIG: ${LLVM_CONFIG}")
4141
find_package(Clang CONFIG REQUIRED)
4242
message("Using Clang_CONFIG: ${Clang_CONFIG}")
4343

44-
set (clang_binary_dir ${CLANG_INSTALL_PREFIX})
45-
if (NOT clang_binary_dir)
44+
set(clang_binary_dir ${CLANG_INSTALL_PREFIX})
45+
46+
if(NOT clang_binary_dir)
4647
# Building against built tree?
47-
set (clang_binary_dir ${LLVM_BINARY_DIR})
48+
set(clang_binary_dir ${LLVM_BINARY_DIR})
4849
endif()
4950

5051
message("Using LLVM/Clang from: ${clang_binary_dir}")
@@ -56,21 +57,22 @@ set(LIT_LLVM_PROFDATA ${clang_binary_dir}/bin/llvm-profdata)
5657

5758
set(MULL_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
5859

59-
set (MULL_CXX_FLAGS "-fPIC -fvisibility-inlines-hidden -fno-exceptions -Wunused -Wall -fvisibility=hidden")
60-
if (NOT LLVM_ENABLE_RTTI)
60+
set(MULL_CXX_FLAGS "-fPIC -fvisibility-inlines-hidden -fno-exceptions -Wunused -Wall -fvisibility=hidden")
61+
62+
if(NOT LLVM_ENABLE_RTTI)
6163
set(MULL_CXX_FLAGS "${MULL_CXX_FLAGS} -fno-rtti")
6264
endif()
6365

6466
add_subdirectory(vendor)
6567

66-
set (MULL_DEFINITIONS ${LLVM_DEFINITIONS})
67-
set (THIRD_PARTY_INCLUDE_DIRS
68+
set(MULL_DEFINITIONS ${LLVM_DEFINITIONS})
69+
set(THIRD_PARTY_INCLUDE_DIRS
6870
${LLVM_INCLUDE_DIRS}
6971
${CLANG_INCLUDE_DIRS}
7072
${CMAKE_CURRENT_LIST_DIR}/vendor/libirm/include
7173
${CMAKE_SOURCE_DIR}/vendor
7274
)
73-
set (MULL_INCLUDE_DIRS
75+
set(MULL_INCLUDE_DIRS
7476
${MULL_SOURCE_DIR}/include
7577
)
7678

@@ -88,11 +90,13 @@ SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
8890

8991
add_subdirectory(lib)
9092
add_subdirectory(tools)
93+
9194
if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME AND BUILD_TESTING)
9295
add_subdirectory(tests)
9396
add_subdirectory(tests-lit)
9497
add_subdirectory(vendor/googletest EXCLUDE_FROM_ALL)
9598
endif()
99+
96100
add_subdirectory(vendor/libirm EXCLUDE_FROM_ALL)
97101
add_subdirectory(vendor/spdlog EXCLUDE_FROM_ALL)
98102
set(REPROC++ ON)

README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,17 @@ Here is the starting point: [CONTRIBUTING.md](CONTRIBUTING.md)
1919
[Mull it over: mutation testing based on LLVM (preprint)](https://lowlevelbits.org/pdfs/Mull_Mutation_2018.pdf)
2020

2121
```
22-
@INPROCEEDINGS{8411727,
23-
author={A. Denisov and S. Pankevich},
24-
booktitle={2018 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)},
25-
title={Mull It Over: Mutation Testing Based on LLVM},
26-
year={2018},
27-
volume={},
28-
number={},
29-
pages={25-31},
30-
keywords={just-in-time;program compilers;program testing;program verification;mutations;Mull;LLVM IR;mutated programs;compiled programming languages;LLVM framework;LLVM JIT;tested program;mutation testing tool;Testing;Tools;Computer languages;Instruments;Runtime;Computer crashes;Open source software;mutation testing;llvm},
31-
doi={10.1109/ICSTW.2018.00024},
32-
ISSN={},
22+
@INPROCEEDINGS{8411727,
23+
author={A. Denisov and S. Pankevich},
24+
booktitle={2018 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)},
25+
title={Mull It Over: Mutation Testing Based on LLVM},
26+
year={2018},
27+
volume={},
28+
number={},
29+
pages={25-31},
30+
keywords={just-in-time;program compilers;program testing;program verification;mutations;Mull;LLVM IR;mutated programs;compiled programming languages;LLVM framework;LLVM JIT;tested program;mutation testing tool;Testing;Tools;Computer languages;Instruments;Runtime;Computer crashes;Open source software;mutation testing;llvm},
31+
doi={10.1109/ICSTW.2018.00024},
32+
ISSN={},
3333
month={April},}
3434
```
3535

@@ -41,4 +41,4 @@ Hosting for precompiled packages is graciously provided by [Cloudsmith](https:/
4141

4242
## Copyright
4343

44-
Copyright (c) 2016-2022 Alex Denisov <[email protected]> and Stanislav Pankevich <[email protected]>. See LICENSE for details.
44+
Copyright (c) 2016-2024 Alex Denisov <[email protected]> and Stanislav Pankevich <[email protected]>. See LICENSE for details.

docs/HackingOnMull.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ LLVM
7171
----
7272

7373
You need LLVM to build and debug Mull.
74-
You can use any LLVM version between 12.0 and 16.0.
74+
You can use any LLVM version between 12.0 and 17.0.
7575

7676
As of the version 0.14.0, Mull can be compiled against LLVM/Clang available
7777
through your package manager (e.g. apt or homebrew).
@@ -95,7 +95,7 @@ The ``cmake search paths`` should point to the LLVM/Clang CMake config folders.
9595
Some examples:
9696

9797
- llvm\@12 installed via homebrew on macOS: ``"/usr/local/opt/llvm@12/lib/cmake/llvm/;/usr/local/opt/llvm@12/lib/cmake/clang/"``
98-
- llvm-12 installed via apt on Ubuntu: ``"/usr/lib/llvm-13/cmake/;/usr/lib/cmake/clang-13/"``
98+
- llvm-12 installed via apt on Ubuntu: ``"/usr/lib/llvm-12/cmake/;/usr/lib/cmake/clang-12/"``
9999

100100
If you are getting linker errors, then it is very likely related to the C++
101101
ABI. Depending on your OS/setup you may need to tweak the ``_GLIBCXX_USE_CXX11_ABI`` (0 or 1):

docs/Installation.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Please, refer to the `Hacking on Mull <HackingOnMull.html>`_ to build Mull from
1616
Install on Ubuntu
1717
*****************
1818

19-
Mull supports Ubuntu 18.04 and 20.04.
19+
Mull supports Ubuntu 20.04, 22.04 and 24.04.
2020

2121
Setup apt-repository:
2222

0 commit comments

Comments
 (0)