Silence a warning in release build
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
parent
350933a054
commit
e82bc0ca23
|
@ -820,8 +820,7 @@ void get_cfg(options_t *opt, int argc, char *const *argv, bool shadow_enable,
|
||||||
|
|
||||||
// Fill default blur kernel
|
// Fill default blur kernel
|
||||||
if (opt->blur_background && !opt->blur_kerns[0]) {
|
if (opt->blur_background && !opt->blur_kerns[0]) {
|
||||||
bool ret = parse_blur_kern_lst("3x3box", opt->blur_kerns, MAX_BLUR_PASS, &conv_kern_hasneg);
|
CHECK(parse_blur_kern_lst("3x3box", opt->blur_kerns, MAX_BLUR_PASS, &conv_kern_hasneg));
|
||||||
assert(ret);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opt->resize_damage < 0) {
|
if (opt->resize_damage < 0) {
|
||||||
|
|
25
src/utils.h
25
src/utils.h
|
@ -1,15 +1,15 @@
|
||||||
// SPDX-License-Identifier: MPL-2.0
|
// SPDX-License-Identifier: MPL-2.0
|
||||||
// Copyright (c) 2018 Yuxuan Shui <yshuiv7@gmail.com>
|
// Copyright (c) 2018 Yuxuan Shui <yshuiv7@gmail.com>
|
||||||
#pragma once
|
#pragma once
|
||||||
#include <stdlib.h>
|
#include <assert.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <assert.h>
|
|
||||||
|
|
||||||
#include "compiler.h"
|
#include "compiler.h"
|
||||||
|
|
||||||
|
@ -32,10 +32,19 @@ safe_isnan(double a) {
|
||||||
|
|
||||||
/// Same as assert false, but make sure we abort _even in release builds_.
|
/// Same as assert false, but make sure we abort _even in release builds_.
|
||||||
/// Silence compiler warning caused by release builds making some code paths reachable.
|
/// Silence compiler warning caused by release builds making some code paths reachable.
|
||||||
attr_noret static inline void BUG(void) {
|
#define BUG() \
|
||||||
assert(false);
|
do { \
|
||||||
abort();
|
assert(false); \
|
||||||
}
|
abort(); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
/// Same as assert, but evaluates the expression even in release builds
|
||||||
|
#define CHECK(expr) \
|
||||||
|
do { \
|
||||||
|
__auto_type __tmp = (expr); \
|
||||||
|
assert(__tmp); \
|
||||||
|
(void)__tmp; \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Normalize an int value to a specific range.
|
* Normalize an int value to a specific range.
|
||||||
|
@ -111,8 +120,8 @@ static inline double attr_const normalize_d(double d) {
|
||||||
return normalize_d_range(d, 0.0, 1.0);
|
return normalize_d_range(d, 0.0, 1.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
attr_noret void report_allocation_failure(const char *func, const char *file,
|
attr_noret void
|
||||||
unsigned int line);
|
report_allocation_failure(const char *func, const char *file, unsigned int line);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Quit if the passed-in pointer is empty.
|
* @brief Quit if the passed-in pointer is empty.
|
||||||
|
|
Loading…
Reference in New Issue