From 60322b6add2bf1e5c5dcf17adaed840638bf2c4e Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Jul 2022 10:35:36 +0200 Subject: [PATCH 01/15] add script to check for compiler warnings --- .gitlab-ci.yml | 2 +- ci/check_for_warnings.py | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100755 ci/check_for_warnings.py diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6789a402bd..7145d77059 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -40,7 +40,7 @@ stages: # build all components of the project, i.e. codec itself, the unittests, the prerenderer and the standalone version of the TD object renderer -build-all-linux-make: +build-codec-linux: extends: .test-job-linux rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' diff --git a/ci/check_for_warnings.py b/ci/check_for_warnings.py new file mode 100755 index 0000000000..903cc32dec --- /dev/null +++ b/ci/check_for_warnings.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python3 +import argparse +import sys + + +SEARCH_FOR = "warning:" +RETURN_FOUND = 123 + + +def main(log_file): + with open(log_file) as f: + lines_with_warnings = [l for l in f.readlines() if SEARCH_FOR in l] + + n_warnings = len(lines_with_warnings) + if n_warnings > 0: + print(f"========== Found {n_warnings} warnings: =========") + for l in lines_with_warnings: + print(l) + return RETURN_FOUND + else: + return 0 + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument( + "compilation-output", + type=str, + help="text output of compilation process to analyze", + ) + args = vars(parser.parse_args()) + sys.exit(main(args[ "compilation-output" ])) -- GitLab From 4717e62fe99922fb0593c8c446f8eec6747047c1 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Jul 2022 13:02:14 +0200 Subject: [PATCH 02/15] make build job turn yellow when warnigns are present --- .gitlab-ci.yml | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7145d77059..6a7642eeef 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,6 @@ variables: TESTV_DIR: "/usr/local/testv" - + BUILD_OUTPUT: "build_output.txt" # prevent running two pipelines on pushes to merge request branches workflow: @@ -37,16 +37,25 @@ stages: before_script: - if [ ! -d "$TESTV_DIR" ]; then mkdir -p $TESTV_DIR; fi - cp -r scripts/testv/* $TESTV_DIR/ - -# build all components of the project, i.e. codec itself, the unittests, the prerenderer and the standalone version of the TD object renderer -build-codec-linux: +# template for build jobs to include the check for warnings +.build-job-with-check-for-warnings: extends: .test-job-linux + stage: build + allow_failure: + exit_codes: + - 123 + after_script: + - if [ ! -f "$BUILD_OUTPUT" ]; then echo "$BUILD_OUTPUT file is missing!"; exit 1; fi + - echo "$CI_BUILDS_DIR" + - $CI_BUILDS_DIR/ci/check_for_warnings.py $BUILD_OUTPUT + +build-codec-linux: + extends: .build-job-with-check-for-warnings rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' - stage: build script: - - bash ci/build_all_linux.sh + - make -j 2>&1 | tee $BUILD_OUTPUT build-codec-linux-cmake: extends: .test-job-linux -- GitLab From 5e293f78827c353d0a2246d6af9b252a6f3b684c Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Jul 2022 13:03:17 +0200 Subject: [PATCH 03/15] temporarily disable all jobs but the build job --- .gitlab-ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6a7642eeef..0a624e1cda 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -57,7 +57,7 @@ build-codec-linux: script: - make -j 2>&1 | tee $BUILD_OUTPUT -build-codec-linux-cmake: +.build-codec-linux-cmake: extends: .test-job-linux rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' @@ -68,7 +68,7 @@ build-codec-linux-cmake: - cmake .. - make -j -build-codec-instrumented-linux: +.build-codec-instrumented-linux: extends: .test-job-linux rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' @@ -77,7 +77,7 @@ build-codec-instrumented-linux: - bash ci/build_codec_instrumented_linux.sh # make sure that the codec builds with msan, asan and usan -build-codec-sanitizers-linux: +.build-codec-sanitizers-linux: extends: .test-job-linux rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' @@ -87,7 +87,7 @@ build-codec-sanitizers-linux: # test that runs all modes with 1s input signals -codec-smoke-test: +.codec-smoke-test: extends: .test-job-linux-needs-testv-dir # temporarily restrict this job to the only runner which (so far) seems to runit without problems tags: @@ -107,7 +107,7 @@ codec-smoke-test: # compare bit exactness between target and source branch -self-test-on-merge-request: +.self-test-on-merge-request: extends: .test-job-linux stage: compare needs: [ "build-codec-linux-cmake", "codec-smoke-test" ] -- GitLab From ca127589aa3787385610b0ebfa016ef641124571 Mon Sep 17 00:00:00 2001 From: kiene Date: Fri, 15 Jul 2022 11:09:02 +0000 Subject: [PATCH 04/15] Use correct env var for project root dir --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0a624e1cda..fee7e2b315 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -47,8 +47,8 @@ stages: - 123 after_script: - if [ ! -f "$BUILD_OUTPUT" ]; then echo "$BUILD_OUTPUT file is missing!"; exit 1; fi - - echo "$CI_BUILDS_DIR" - - $CI_BUILDS_DIR/ci/check_for_warnings.py $BUILD_OUTPUT + - echo "$CI_PROJECT_DIR" + - $CI_PROJECT_DIR/ci/check_for_warnings.py $BUILD_OUTPUT build-codec-linux: extends: .build-job-with-check-for-warnings -- GitLab From ac00ca340b5a326598885d7bc677fbf556e24814 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Jul 2022 13:20:12 +0200 Subject: [PATCH 05/15] add all build scenarios back in as separate jobs --- .gitlab-ci.yml | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fee7e2b315..a56ec47d7b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -50,15 +50,36 @@ stages: - echo "$CI_PROJECT_DIR" - $CI_PROJECT_DIR/ci/check_for_warnings.py $BUILD_OUTPUT -build-codec-linux: +build-codec-linux-make: extends: .build-job-with-check-for-warnings rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' script: - make -j 2>&1 | tee $BUILD_OUTPUT -.build-codec-linux-cmake: - extends: .test-job-linux +build-unittests-linux: + extends: .build-job-with-check-for-warnings + rules: + - if: $CI_PIPELINE_SOURCE == 'merge_request_event' + script: + - make unittests -j 2>&1 | tee $BUILD_OUTPUT + +build-prerenderer-linux: + extends: .build-job-with-check-for-warnings + rules: + - if: $CI_PIPELINE_SOURCE == 'merge_request_event' + script: + - make -C scripts/prerenderer -j 2>&1 | tee $BUILD_OUTPUT + +build-td-object-renderer-standalone-linux: + extends: .build-job-with-check-for-warnings + rules: + - if: $CI_PIPELINE_SOURCE == 'merge_request_event' + script: + - make -C scripts/td_object_renderer/object_renderer_standalone -j 2>&1 | tee $BUILD_OUTPUT + +build-codec-linux-cmake: + extends: .build-job-with-check-for-warnings rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' stage: build @@ -66,7 +87,7 @@ build-codec-linux: - mkdir build - cd build - cmake .. - - make -j + - make -j 2>&1 | tee ../$BUILD_OUTPUT .build-codec-instrumented-linux: extends: .test-job-linux -- GitLab From 144bba31ce9f4bfd2ed5fc8d670c61cabd6aa537 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Jul 2022 13:23:14 +0200 Subject: [PATCH 06/15] add unused function to provoke warning for testing --- lib_enc/ivas_enc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib_enc/ivas_enc.c b/lib_enc/ivas_enc.c index 5003dbec9d..5cca8930e8 100644 --- a/lib_enc/ivas_enc.c +++ b/lib_enc/ivas_enc.c @@ -43,6 +43,12 @@ #endif #include "wmops.h" + +void unused_function() +{ + return; +} + /*-------------------------------------------------------------------* * ivas_enc() * -- GitLab From 78bfadf643e8e3baaa265c6c7fc6fa3dee119be1 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Jul 2022 13:32:06 +0200 Subject: [PATCH 07/15] change jobs since failing in after_script not possible --- .gitlab-ci.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a56ec47d7b..4e653178cb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -45,10 +45,10 @@ stages: allow_failure: exit_codes: - 123 - after_script: - - if [ ! -f "$BUILD_OUTPUT" ]; then echo "$BUILD_OUTPUT file is missing!"; exit 1; fi - - echo "$CI_PROJECT_DIR" - - $CI_PROJECT_DIR/ci/check_for_warnings.py $BUILD_OUTPUT + # after_script: + # - if [ ! -f "$BUILD_OUTPUT" ]; then echo "$BUILD_OUTPUT file is missing!"; exit 1; fi + # - echo "$CI_PROJECT_DIR" + # - $CI_PROJECT_DIR/ci/check_for_warnings.py $BUILD_OUTPUT build-codec-linux-make: extends: .build-job-with-check-for-warnings @@ -56,6 +56,7 @@ build-codec-linux-make: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' script: - make -j 2>&1 | tee $BUILD_OUTPUT + - ci/check_for_warnings.py $BUILD_OUTPUT build-unittests-linux: extends: .build-job-with-check-for-warnings @@ -63,6 +64,7 @@ build-unittests-linux: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' script: - make unittests -j 2>&1 | tee $BUILD_OUTPUT + - ci/check_for_warnings.py $BUILD_OUTPUT build-prerenderer-linux: extends: .build-job-with-check-for-warnings @@ -70,6 +72,7 @@ build-prerenderer-linux: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' script: - make -C scripts/prerenderer -j 2>&1 | tee $BUILD_OUTPUT + - ci/check_for_warnings.py $BUILD_OUTPUT build-td-object-renderer-standalone-linux: extends: .build-job-with-check-for-warnings @@ -77,6 +80,7 @@ build-td-object-renderer-standalone-linux: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' script: - make -C scripts/td_object_renderer/object_renderer_standalone -j 2>&1 | tee $BUILD_OUTPUT + - ci/check_for_warnings.py $BUILD_OUTPUT build-codec-linux-cmake: extends: .build-job-with-check-for-warnings @@ -87,7 +91,9 @@ build-codec-linux-cmake: - mkdir build - cd build - cmake .. - - make -j 2>&1 | tee ../$BUILD_OUTPUT + - cd .. + - make -C build -j 2>&1 | tee $BUILD_OUTPUT + - ci/check_for_warnings.py $BUILD_OUTPUT .build-codec-instrumented-linux: extends: .test-job-linux -- GitLab From 40ef547246bb07ab826c5eafe69ccc8a07702f8e Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Jul 2022 15:14:09 +0200 Subject: [PATCH 08/15] add debug output in script --- ci/check_for_warnings.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ci/check_for_warnings.py b/ci/check_for_warnings.py index 903cc32dec..e60631918f 100755 --- a/ci/check_for_warnings.py +++ b/ci/check_for_warnings.py @@ -29,4 +29,6 @@ if __name__ == "__main__": help="text output of compilation process to analyze", ) args = vars(parser.parse_args()) - sys.exit(main(args[ "compilation-output" ])) + ret_code = main(args[ "compilation-output" ]) + print("ret_code: ", ret_code) + sys.exit(ret_code) -- GitLab From c66dae413e80fdafb1d4651b0de4f2ca591bea87 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Jul 2022 15:19:47 +0200 Subject: [PATCH 09/15] add debug output also to job in yml file --- .gitlab-ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4e653178cb..a35e984537 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -56,7 +56,9 @@ build-codec-linux-make: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' script: - make -j 2>&1 | tee $BUILD_OUTPUT - - ci/check_for_warnings.py $BUILD_OUTPUT + - ci/check_for_warnings.py $BUILD_OUTPUT || exit_code=$? + - 'echo "Exit code: $exit_code"' + - exit $exit_code build-unittests-linux: extends: .build-job-with-check-for-warnings -- GitLab From aa9e2fda22199fc9bc1f06db889f19f1028d3ba1 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Jul 2022 15:23:32 +0200 Subject: [PATCH 10/15] make debug output more unambigious --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a35e984537..1bdda44a97 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -57,7 +57,7 @@ build-codec-linux-make: script: - make -j 2>&1 | tee $BUILD_OUTPUT - ci/check_for_warnings.py $BUILD_OUTPUT || exit_code=$? - - 'echo "Exit code: $exit_code"' + - 'echo "Exit code: |$exit_code|"' - exit $exit_code build-unittests-linux: -- GitLab From a424754ee6a20cbec80f880ddcd5a163309bdd1b Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Jul 2022 15:30:25 +0200 Subject: [PATCH 11/15] remove debug output and try other construct in yml --- .gitlab-ci.yml | 4 +--- ci/check_for_warnings.py | 1 - 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1bdda44a97..f0d31a6c6d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -56,9 +56,7 @@ build-codec-linux-make: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' script: - make -j 2>&1 | tee $BUILD_OUTPUT - - ci/check_for_warnings.py $BUILD_OUTPUT || exit_code=$? - - 'echo "Exit code: |$exit_code|"' - - exit $exit_code + - ci/check_for_warnings.py $BUILD_OUTPUT || exit $? build-unittests-linux: extends: .build-job-with-check-for-warnings diff --git a/ci/check_for_warnings.py b/ci/check_for_warnings.py index e60631918f..c9240e040a 100755 --- a/ci/check_for_warnings.py +++ b/ci/check_for_warnings.py @@ -30,5 +30,4 @@ if __name__ == "__main__": ) args = vars(parser.parse_args()) ret_code = main(args[ "compilation-output" ]) - print("ret_code: ", ret_code) sys.exit(ret_code) -- GitLab From 5c2ae78ac9f2f3a0cce2979dc564f15f8df852f2 Mon Sep 17 00:00:00 2001 From: kiene Date: Fri, 15 Jul 2022 13:34:42 +0000 Subject: [PATCH 12/15] Update .gitlab-ci.yml file --- .gitlab-ci.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f0d31a6c6d..1f72462f4f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -45,10 +45,7 @@ stages: allow_failure: exit_codes: - 123 - # after_script: - # - if [ ! -f "$BUILD_OUTPUT" ]; then echo "$BUILD_OUTPUT file is missing!"; exit 1; fi - # - echo "$CI_PROJECT_DIR" - # - $CI_PROJECT_DIR/ci/check_for_warnings.py $BUILD_OUTPUT + build-codec-linux-make: extends: .build-job-with-check-for-warnings @@ -56,7 +53,7 @@ build-codec-linux-make: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' script: - make -j 2>&1 | tee $BUILD_OUTPUT - - ci/check_for_warnings.py $BUILD_OUTPUT || exit $? + - python3 ci/check_for_warnings.py $BUILD_OUTPUT #|| exit $? build-unittests-linux: extends: .build-job-with-check-for-warnings -- GitLab From 3532c81cd86f8467d78338f7cb0c4454f5d1c057 Mon Sep 17 00:00:00 2001 From: kiene Date: Fri, 15 Jul 2022 13:47:41 +0000 Subject: [PATCH 13/15] Update .gitlab-ci.yml file --- .gitlab-ci.yml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1f72462f4f..08f41782e2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -53,7 +53,8 @@ build-codec-linux-make: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' script: - make -j 2>&1 | tee $BUILD_OUTPUT - - python3 ci/check_for_warnings.py $BUILD_OUTPUT #|| exit $? + # need to use the "|| exit $?" suffix to get the allowed_failure return code, otherwise the job fails with code 1...< + - ci/check_for_warnings.py $BUILD_OUTPUT || exit $? build-unittests-linux: extends: .build-job-with-check-for-warnings @@ -61,7 +62,8 @@ build-unittests-linux: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' script: - make unittests -j 2>&1 | tee $BUILD_OUTPUT - - ci/check_for_warnings.py $BUILD_OUTPUT + # need to use the "|| exit $?" suffix to get the allowed_failure return code, otherwise the job fails with code 1...< + - ci/check_for_warnings.py $BUILD_OUTPUT || exit $? build-prerenderer-linux: extends: .build-job-with-check-for-warnings @@ -69,7 +71,8 @@ build-prerenderer-linux: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' script: - make -C scripts/prerenderer -j 2>&1 | tee $BUILD_OUTPUT - - ci/check_for_warnings.py $BUILD_OUTPUT + # need to use the "|| exit $?" suffix to get the allowed_failure return code, otherwise the job fails with code 1...< + - ci/check_for_warnings.py $BUILD_OUTPUT || exit $? build-td-object-renderer-standalone-linux: extends: .build-job-with-check-for-warnings @@ -77,7 +80,8 @@ build-td-object-renderer-standalone-linux: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' script: - make -C scripts/td_object_renderer/object_renderer_standalone -j 2>&1 | tee $BUILD_OUTPUT - - ci/check_for_warnings.py $BUILD_OUTPUT + # need to use the "|| exit $?" suffix to get the allowed_failure return code, otherwise the job fails with code 1...< + - ci/check_for_warnings.py $BUILD_OUTPUT || exit $? build-codec-linux-cmake: extends: .build-job-with-check-for-warnings @@ -92,7 +96,7 @@ build-codec-linux-cmake: - make -C build -j 2>&1 | tee $BUILD_OUTPUT - ci/check_for_warnings.py $BUILD_OUTPUT -.build-codec-instrumented-linux: +build-codec-instrumented-linux: extends: .test-job-linux rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' @@ -101,7 +105,7 @@ build-codec-linux-cmake: - bash ci/build_codec_instrumented_linux.sh # make sure that the codec builds with msan, asan and usan -.build-codec-sanitizers-linux: +build-codec-sanitizers-linux: extends: .test-job-linux rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' @@ -111,7 +115,7 @@ build-codec-linux-cmake: # test that runs all modes with 1s input signals -.codec-smoke-test: +codec-smoke-test: extends: .test-job-linux-needs-testv-dir # temporarily restrict this job to the only runner which (so far) seems to runit without problems tags: @@ -131,7 +135,7 @@ build-codec-linux-cmake: # compare bit exactness between target and source branch -.self-test-on-merge-request: +self-test-on-merge-request: extends: .test-job-linux stage: compare needs: [ "build-codec-linux-cmake", "codec-smoke-test" ] -- GitLab From 017458e248c277a78adbe22346152ded4e240fe1 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Jul 2022 15:51:23 +0200 Subject: [PATCH 14/15] add warning check to cmake build job --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 08f41782e2..0617c54d2f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -94,7 +94,8 @@ build-codec-linux-cmake: - cmake .. - cd .. - make -C build -j 2>&1 | tee $BUILD_OUTPUT - - ci/check_for_warnings.py $BUILD_OUTPUT + # need to use the "|| exit $?" suffix to get the allowed_failure return code, otherwise the job fails with code 1...< + - ci/check_for_warnings.py $BUILD_OUTPUT || exit $? build-codec-instrumented-linux: extends: .test-job-linux -- GitLab From 21abd45e309995ca341261b33d1c76d6b421705e Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 15 Jul 2022 15:52:07 +0200 Subject: [PATCH 15/15] Revert "add unused function to provoke warning for testing" This reverts commit 144bba31ce9f4bfd2ed5fc8d670c61cabd6aa537. --- lib_enc/ivas_enc.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/lib_enc/ivas_enc.c b/lib_enc/ivas_enc.c index 5cca8930e8..5003dbec9d 100644 --- a/lib_enc/ivas_enc.c +++ b/lib_enc/ivas_enc.c @@ -43,12 +43,6 @@ #endif #include "wmops.h" - -void unused_function() -{ - return; -} - /*-------------------------------------------------------------------* * ivas_enc() * -- GitLab