Skip to content

Commit b742ef8

Browse files
committed
Automatic address sanitizer tests.
Fix memory leak. Merge branch 'feature/addressSanitizer' into develop
2 parents d805975 + 55e32ac commit b742ef8

2 files changed

Lines changed: 14 additions & 0 deletions

File tree

.gitlab-ci.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,16 @@ syntax:
6868
- DEBIAN_FRONTEND=noninteractive apt install -y tzdata
6969
- apt install -y python3
7070
- python3 syntax/check.py -r syntax/opdi.syntax.json tests macroexample.cpp omptexample.cpp
71+
72+
address-sanitizer:
73+
image: ubuntu:24.04
74+
script:
75+
- apt update && apt install -y build-essential binutils git clang libomp-dev
76+
- git clone --depth 1 --branch develop https://github.com/SciCompKL/CoDiPack.git
77+
- export CODI_DIR=$(pwd)/CoDiPack/include
78+
- export OPDI_DIR=$(pwd)/include
79+
- cd tests
80+
- export CXX=clang++
81+
- export CXXFLAGS="-g -fsanitize=address -fno-omit-frame-pointer"
82+
- export OMP_NUM_THREADS=$(expr $(nproc --all) / 2)
83+
- make all

include/opdi/logic/omp/implicitTaskOmpLogic.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,7 @@ void opdi::ImplicitTaskOmpLogic::resetImplicitTask(void* position, opdi::LogicIn
196196
assert(tool->comparePosition(implicitTaskData->positions.front(), position) <= 0);
197197

198198
while (tool->comparePosition(implicitTaskData->positions.back(), position) > 0) {
199+
tool->freePosition(implicitTaskData->positions.back());
199200
implicitTaskData->positions.pop_back();
200201
implicitTaskData->adjointAccessModes.pop_back();
201202
}

0 commit comments

Comments
 (0)