summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSlava Barinov <v.barinov@samsung.com>2024-03-29 15:13:32 +0300
committerSlava Barinov <v.barinov@samsung.com>2024-03-29 15:13:32 +0300
commit4504701fb80f2f506b4ca0703ca34e57522aec12 (patch)
treebace09b4dec1eb98f43ada6748c6f7e9dad3fe6a
parent2c748794e4a39e71b670aaafaa2a0a60cde1a05b (diff)
downloadaul-1-4504701fb80f2f506b4ca0703ca34e57522aec12.tar.gz
aul-1-4504701fb80f2f506b4ca0703ca34e57522aec12.tar.bz2
aul-1-4504701fb80f2f506b4ca0703ca34e57522aec12.zip
Switch to custom deleter type for unique_ptr
This prevents the error: src/parser/exec-checker/src/exec_checker.cc:202:42: error: ignoring attributes on template argument 'int (*)(FILE*)' [-Werror=ignored-attributes] 202 | std::unique_ptr<FILE, decltype(fclose)*> fp_auto(fp, fclose); | ^ When building with new toolchain Change-Id: I3b0b71ddb2c887d349e783e5ad3a6d1b1bbb561e
-rw-r--r--src/parser/exec-checker/src/exec_checker.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/parser/exec-checker/src/exec_checker.cc b/src/parser/exec-checker/src/exec_checker.cc
index 40f7cafa..655995c2 100644
--- a/src/parser/exec-checker/src/exec_checker.cc
+++ b/src/parser/exec-checker/src/exec_checker.cc
@@ -199,7 +199,13 @@ bool ExecChecker::CheckMainSymbol() {
return false;
}
- std::unique_ptr<FILE, decltype(fclose)*> fp_auto(fp, fclose);
+ struct file_closer {
+ void operator() (FILE* f) const {
+ fclose(f);
+ }
+ };
+
+ std::unique_ptr<FILE, file_closer> fp_auto(fp);
header h;
size_t nbytes = fread(h.c, 1, sizeof(h), fp);
if (nbytes < 2) {