diff --git a/include/bw_env_gen.h b/include/bw_env_gen.h
index 5c8a1c1..7b4c505 100644
--- a/include/bw_env_gen.h
+++ b/include/bw_env_gen.h
@@ -44,6 +44,8 @@
*
* - Added skip_sustain and always_reach_sustain parameters.
* - Now using
BW_NULL
.
+ * - Replaced GCC pragmas to suppress bogus uninitialized variable
+ * warnings with useless harmless statement.
*
*
* Version 1.0.0:
@@ -463,6 +465,8 @@ static inline void bw_env_gen_init(
coeffs->release = 0.f;
coeffs->skip_sustain = 0;
coeffs->always_reach_sustain = 0;
+
+ coeffs->param_changed = ~0;
#ifdef BW_DEBUG_DEEP
coeffs->hash = bw_hash_sdbm("bw_env_gen_coeffs");
@@ -762,10 +766,7 @@ static inline void bw_env_gen_set_attack(
if (coeffs->attack != value) {
coeffs->attack = value;
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wuninitialized"
coeffs->param_changed |= BW_ENV_GEN_PARAM_ATTACK;
-#pragma GCC diagnostic pop
}
BW_ASSERT_DEEP(bw_env_gen_coeffs_is_valid(coeffs));
@@ -783,10 +784,7 @@ static inline void bw_env_gen_set_decay(
if (coeffs->decay != value) {
coeffs->decay = value;
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wuninitialized"
coeffs->param_changed |= BW_ENV_GEN_PARAM_DECAY;
-#pragma GCC diagnostic pop
}
BW_ASSERT_DEEP(bw_env_gen_coeffs_is_valid(coeffs));
@@ -804,10 +802,7 @@ static inline void bw_env_gen_set_sustain(
if (coeffs->sustain != value) {
coeffs->sustain = value;
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wuninitialized"
coeffs->param_changed |= BW_ENV_GEN_PARAM_SUSTAIN;
-#pragma GCC diagnostic pop
}
BW_ASSERT_DEEP(bw_env_gen_coeffs_is_valid(coeffs));
@@ -825,10 +820,7 @@ static inline void bw_env_gen_set_release(
if (coeffs->release != value) {
coeffs->release = value;
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wuninitialized"
coeffs->param_changed |= BW_ENV_GEN_PARAM_RELEASE;
-#pragma GCC diagnostic pop
}
BW_ASSERT_DEEP(bw_env_gen_coeffs_is_valid(coeffs));
diff --git a/include/bw_hs2.h b/include/bw_hs2.h
index c166564..255fc95 100644
--- a/include/bw_hs2.h
+++ b/include/bw_hs2.h
@@ -30,6 +30,8 @@
* Version 1.0.1:
*
* - Now using
BW_NULL
.
+ * - Replaced GCC pragmas to suppress bogus uninitialized variable
+ * warnings with useless harmless statement.
*
*
* Version 1.0.0:
@@ -398,6 +400,8 @@ static inline void bw_hs2_init(
coeffs->prewarp_k = 1.f;
coeffs->prewarp_freq = 1.f;
coeffs->high_gain = 1.f;
+
+ coeffs->param_changed = ~0;
#ifdef BW_DEBUG_DEEP
coeffs->hash = bw_hash_sdbm("bw_hs2_coeffs");
@@ -637,10 +641,7 @@ static inline void bw_hs2_set_cutoff(
if (coeffs->cutoff) {
coeffs->cutoff = value;
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wuninitialized"
coeffs->param_changed |= BW_HS2_PARAM_CUTOFF;
-#pragma GCC diagnostic pop
}
BW_ASSERT_DEEP(bw_hs2_coeffs_is_valid(coeffs));
@@ -701,10 +702,7 @@ static inline void bw_hs2_set_high_gain_lin(
if (coeffs->high_gain != value) {
coeffs->high_gain = value;
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wuninitialized"
coeffs->param_changed |= BW_HS2_PARAM_HIGH_GAIN;
-#pragma GCC diagnostic pop
}
BW_ASSERT_DEEP(bw_hs2_coeffs_is_valid(coeffs));
diff --git a/include/bw_ls2.h b/include/bw_ls2.h
index 47ab313..7282f95 100644
--- a/include/bw_ls2.h
+++ b/include/bw_ls2.h
@@ -35,6 +35,8 @@
* bw_ls2_set_cutoff()
,
* bw_ls2_set_dc_gain_lin()
, and
* bw_ls2_set_dc_gain_dB()
.
+ * Replaced GCC pragmas to suppress bogus uninitialized variable
+ * warnings with useless harmless statement.
*
*
* Version 1.0.0:
@@ -404,6 +406,8 @@ static inline void bw_ls2_init(
coeffs->prewarp_k = 1.f;
coeffs->prewarp_freq = 1.f;
coeffs->dc_gain = 1.f;
+
+ coeffs->param_changed = ~0;
#ifdef BW_DEBUG_DEEP
coeffs->hash = bw_hash_sdbm("bw_ls2_coeffs");
@@ -643,10 +647,7 @@ static inline void bw_ls2_set_cutoff(
if (coeffs->cutoff != value) {
coeffs->cutoff = value;
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wuninitialized"
coeffs->param_changed |= BW_LS2_PARAM_CUTOFF;
-#pragma GCC diagnostic pop
}
BW_ASSERT_DEEP(bw_ls2_coeffs_is_valid(coeffs));
@@ -707,10 +708,7 @@ static inline void bw_ls2_set_dc_gain_lin(
if (coeffs->dc_gain != value) {
coeffs->dc_gain = value;
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wuninitialized"
coeffs->param_changed |= BW_LS2_PARAM_DC_GAIN;
-#pragma GCC diagnostic pop
}
BW_ASSERT_DEEP(bw_ls2_coeffs_is_valid(coeffs));
diff --git a/include/bw_one_pole.h b/include/bw_one_pole.h
index 59fbac9..1e47bd7 100644
--- a/include/bw_one_pole.h
+++ b/include/bw_one_pole.h
@@ -33,6 +33,8 @@
* Version 1.0.1:
*
* - Now using
BW_NULL
.
+ * - Replaced GCC pragmas to suppress bogus uninitialized variable
+ * warnings with useless harmless statement.
*
*
* Version 1.0.0:
@@ -519,6 +521,8 @@ static inline void bw_one_pole_init(
coeffs->sticky_thresh = 0.f;
coeffs->sticky_mode = bw_one_pole_sticky_mode_abs;
+ coeffs->param_changed = ~0; // useless, just to make compilers happy about initialized variables
+
#ifdef BW_DEBUG_DEEP
coeffs->hash = bw_hash_sdbm("bw_one_pole_coeffs");
coeffs->state = bw_one_pole_coeffs_state_init;
@@ -1031,10 +1035,7 @@ static inline void bw_one_pole_set_cutoff_up(
if (coeffs->cutoff_up != value) {
coeffs->cutoff_up = value;
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wuninitialized"
coeffs->param_changed |= BW_ONE_POLE_PARAM_CUTOFF_UP;
-#pragma GCC diagnostic pop
}
BW_ASSERT_DEEP(bw_one_pole_coeffs_is_valid(coeffs));
@@ -1052,10 +1053,7 @@ static inline void bw_one_pole_set_cutoff_down(
if (coeffs->cutoff_down != value) {
coeffs->cutoff_down = value;
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wuninitialized"
coeffs->param_changed |= BW_ONE_POLE_PARAM_CUTOFF_DOWN;
-#pragma GCC diagnostic pop
}
BW_ASSERT_DEEP(bw_one_pole_coeffs_is_valid(coeffs));
@@ -1121,10 +1119,7 @@ static inline void bw_one_pole_set_sticky_thresh(
if (coeffs->sticky_thresh != value) {
coeffs->sticky_thresh = value;
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wuninitialized"
coeffs->param_changed |= BW_ONE_POLE_PARAM_STICKY_THRESH;
-#pragma GCC diagnostic pop
}
BW_ASSERT_DEEP(bw_one_pole_coeffs_is_valid(coeffs));
diff --git a/include/bw_peak.h b/include/bw_peak.h
index 8d7fd4c..cb7d680 100644
--- a/include/bw_peak.h
+++ b/include/bw_peak.h
@@ -38,6 +38,8 @@
* Version 1.0.1:
*
* - Now using
BW_NULL
.
+ * - Replaced GCC pragmas to suppress bogus uninitialized variable
+ * warnings with useless harmless statement.
*
*
* Version 1.0.0:
@@ -433,6 +435,8 @@ static inline void bw_peak_init(
coeffs->peak_gain = 1.f;
coeffs->bandwidth = 2.543106606327224f;
coeffs->use_bandwidth = 1;
+
+ coeffs->param_changed = ~0;
#ifdef BW_DEBUG_DEEP
coeffs->hash = bw_hash_sdbm("bw_peak_coeffs");
@@ -712,10 +716,7 @@ static inline void bw_peak_set_Q(
if (coeffs->Q != value) {
coeffs->Q = value;
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wuninitialized"
coeffs->param_changed |= BW_PEAK_PARAM_Q;
-#pragma GCC diagnostic pop
}
BW_ASSERT_DEEP(bw_peak_coeffs_is_valid(coeffs));
@@ -761,10 +762,7 @@ static inline void bw_peak_set_peak_gain_lin(
if (coeffs->peak_gain != value) {
coeffs->peak_gain = value;
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wuninitialized"
coeffs->param_changed |= BW_PEAK_PARAM_PEAK_GAIN;
-#pragma GCC diagnostic pop
}
BW_ASSERT_DEEP(bw_peak_coeffs_is_valid(coeffs));
@@ -797,10 +795,7 @@ static inline void bw_peak_set_bandwidth(
if (coeffs->bandwidth != value) {
coeffs->bandwidth = value;
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wuninitialized"
coeffs->param_changed |= BW_PEAK_PARAM_BANDWIDTH;
-#pragma GCC diagnostic pop
}
BW_ASSERT_DEEP(bw_peak_coeffs_is_valid(coeffs));
@@ -816,10 +811,7 @@ static inline void bw_peak_set_use_bandwidth(
if ((coeffs->use_bandwidth && !value) || (!coeffs->use_bandwidth && value)) {
coeffs->use_bandwidth = value;
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wuninitialized"
coeffs->param_changed |= BW_PEAK_PARAM_Q | BW_PEAK_PARAM_BANDWIDTH;
-#pragma GCC diagnostic pop
}
BW_ASSERT_DEEP(bw_peak_coeffs_is_valid(coeffs));