Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix compiler warning on HardwareTimer #2256

Merged
merged 2 commits into from
Jan 23, 2024
Merged

Fix compiler warning on HardwareTimer #2256

merged 2 commits into from
Jan 23, 2024

Conversation

ldursw
Copy link
Contributor

@ldursw ldursw commented Jan 22, 2024

This PR fixes a compiler warning when compiling with -O3. There's no bounds check in pauseChannel, which causes this warning. Adding the bounds check fixes the warning.

framework-arduinoststm32\libraries\SrcWrapper\src\HardwareTimer.cpp: In member function 'void HardwareTimer::pauseChannel(uint32_t)':
framework-arduinoststm32\libraries\SrcWrapper\src\HardwareTimer.cpp:203:31: warning: array subscript 4 is above array bounds of 'TimerModes_t [4]' [-Warray-bounds]
  203 |   if (_ChannelMode[channel - 1] == TIMER_INPUT_FREQ_DUTY_MEASUREMENT) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^
In file included from framework-arduinoststm32\cores\arduino\stm32/analog.h:45,
                 from framework-arduinoststm32\cores\arduino/board.h:8,
                 from framework-arduinoststm32\cores\arduino/wiring.h:40,
                 from framework-arduinoststm32\cores\arduino/Arduino.h:36,
                 from framework-arduinoststm32\libraries\SrcWrapper\src\HardwareTimer.cpp:26:
framework-arduinoststm32\cores\arduino/HardwareTimer.h:188:19: note: while referencing 'HardwareTimer::_ChannelMode'
  188 |     TimerModes_t  _ChannelMode[TIMER_CHANNELS];
      |                   ^~~~~~~~~~~~
framework-arduinoststm32\libraries\SrcWrapper\src\HardwareTimer.cpp:203:31: warning: array subscript 4 is above array bounds of 'TimerModes_t [4]' [-Warray-bounds]
  203 |   if (_ChannelMode[channel - 1] == TIMER_INPUT_FREQ_DUTY_MEASUREMENT) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^
framework-arduinoststm32\cores\arduino/HardwareTimer.h:188:19: note: while referencing 'HardwareTimer::_ChannelMode'
  188 |     TimerModes_t  _ChannelMode[TIMER_CHANNELS];
      |                   ^~~~~~~~~~~~

Signed-off-by: ldursw <37294448+ldursw@users.noreply.github.com>
@fpistm fpistm added the fix 🩹 Bug fix label Jan 23, 2024
@fpistm fpistm added this to In progress in STM32 core based on ST HAL via automation Jan 23, 2024
@fpistm fpistm added this to the 2.8.0 milestone Jan 23, 2024
@fpistm fpistm self-requested a review January 23, 2024 09:03
STM32 core based on ST HAL automation moved this from In progress to Needs review Jan 23, 2024
Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
STM32 core based on ST HAL automation moved this from Needs review to Reviewer approved Jan 23, 2024
@fpistm
Copy link
Member

fpistm commented Jan 23, 2024

Hi @ldursw
thanks for the PR.

@fpistm fpistm merged commit de1e1c5 into stm32duino:main Jan 23, 2024
22 checks passed
STM32 core based on ST HAL automation moved this from Reviewer approved to Done Jan 23, 2024
@ldursw ldursw deleted the patch-1 branch January 23, 2024 15:49
tadtruex pushed a commit to TadAtThayer/Arduino_Core_STM32 that referenced this pull request Apr 23, 2024
Signed-off-by: ldursw <37294448+ldursw@users.noreply.github.com>
Co-authored-by: Frederic Pillon <frederic.pillon@st.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fix 🩹 Bug fix
Projects
Development

Successfully merging this pull request may close these issues.

None yet

2 participants