etherkit / Si5351Arduino

Library for the Si5351 clock generator IC in the Arduino environment
GNU General Public License v3.0
229 stars 94 forks source link

Fix three allocation related compiler warnings #95

Open kholia opened 7 months ago

kholia commented 7 months ago

Without this PR, I see the following warnings when compilation this library:

Arduino/libraries/Etherkit_Si5351/src/si5351.cpp: In member function 'void Si5351::set_pll(uint64_t, si5351_pll)':
Arduino/libraries/Etherkit_Si5351/src/si5351.cpp:568:10: warning: 'void operator delete(void*, std::size_t)' called on pointer returned from a mismatched allocation function [-Wmismatched-new-delete]
  568 |   delete params;
      |          ^~~~~~
Arduino/libraries/Etherkit_Si5351/src/si5351.cpp:522:35: note: returned from 'void* operator new [](std::size_t)'
  522 |   uint8_t *params = new uint8_t[20];
      |                                   ^
Arduino/libraries/Etherkit_Si5351/src/si5351.cpp: In member function 'void Si5351::set_vcxo(uint64_t, uint8_t)':
Arduino/libraries/Etherkit_Si5351/src/si5351.cpp:1243:16: warning: 'void operator delete(void*, std::size_t)' called on pointer returned from a mismatched allocation function [-Wmismatched-new-delete]
 1243 |         delete params;
      |                ^~~~~~
Arduino/libraries/Etherkit_Si5351/src/si5351.cpp:1206:41: note: returned from 'void* operator new [](std::size_t)'
 1206 |         uint8_t *params = new uint8_t[20];
      |                                         ^
Arduino/libraries/Etherkit_Si5351/src/si5351.cpp: In member function 'void Si5351::set_ms(si5351_clock, Si5351RegSet, uint8_t, uint8_t, uint8_t)':
Arduino/libraries/Etherkit_Si5351/src/si5351.cpp:675:16: warning: 'void operator delete(void*, std::size_t)' called on pointer returned from a mismatched allocation function [-Wmismatched-new-delete]
  675 |         delete params;
      |                ^~~~~~
Arduino/libraries/Etherkit_Si5351/src/si5351.cpp:586:41: note: returned from 'void* operator new [](std::size_t)'
  586 |         uint8_t *params = new uint8_t[20];

The changes in this PR fix these compiler warnings.

Thanks for your time, and attention.