Skip to content

Commit

Permalink
nimble/ll: Fix build with clang 11 on mac
Browse files Browse the repository at this point in the history
Looks like clang is not able to track relation between max_delay and
calc_sch which are involve two separate if-else blocks.

This is false positive.

repos/apache-mynewt-nimble/nimble/controller/src/ble_ll_sched.c:568:9:
    error: variable 'max_delay' is used uninitialized whenever 'if' condition
        is false [-Werror,-Wsometimes-uninitialized]
    if (calc_sch) {
        ^~~~~~~~
repos/apache-mynewt-nimble/nimble/controller/src/ble_ll_sched.c:586:35:
    note: uninitialized use occurs here
    rc = ble_ll_sched_insert(sch, max_delay, preempt_none);
                                  ^~~~~~~~~
repos/apache-mynewt-nimble/nimble/controller/src/ble_ll_sched.c:568:5:
    note: remove the 'if' if its condition is always true
    if (calc_sch) {
    ^~~~~~~~~~~~~~
repos/apache-mynewt-nimble/nimble/controller/src/ble_ll_sched.c:431:23:
    note: initialize the variable 'max_delay' to silence this warning
    uint32_t max_delay;
                      ^
                       = 0
  • Loading branch information
sjanc committed Oct 30, 2024
1 parent 530f8b9 commit b1ec600
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions nimble/controller/src/ble_ll_sched.c
Original file line number Diff line number Diff line change
Expand Up @@ -428,7 +428,7 @@ ble_ll_sched_conn_central_new(struct ble_ll_conn_sm *connsm,
uint32_t orig_start_time;
uint32_t earliest_start = 0;
uint32_t min_win_offset;
uint32_t max_delay;
uint32_t max_delay = 0;
uint32_t adv_rxend;
bool calc_sch = true;
os_sr_t sr;
Expand Down Expand Up @@ -536,7 +536,6 @@ ble_ll_sched_conn_central_new(struct ble_ll_conn_sm *connsm,
} else {
connsm->css_period_idx = css->period_anchor_idx;
}
max_delay = 0;
}

/* Calculate anchor point and move to next period if scheduled too
Expand Down

0 comments on commit b1ec600

Please sign in to comment.