待辦事項 #43357

Configure check for proper size_t printf() format

啟用日期: 2021-12-09 10:48 最後更新: 2021-12-24 17:48

回報者:
負責人:
類型:
狀態:
關閉
元件:
里程碑:
優先權:
5 - 中
嚴重程度:
5 - 中
處理結果:
修正
檔案:
4

細節

For better support of using size_t variables in the printf() family of functions, add a configure check for determining which kind of specifier should be used for them. This ticket is about autotools implementation, though care should be taken not to completely break meson build.

As part of #43200, this has also been posted to http://forum.freeciv.org/f/viewtopic.php?f=14&t=92093

Ticket History (3/15 Histories)

2021-12-09 10:48 Updated by: cazfi
  • New Ticket "Confgure check for proper size_t printf() format" created
2021-12-09 10:52 Updated by: cazfi
  • 處理結果 Update from to Accepted
2021-12-09 11:00 Updated by: cazfi
  • Summary Updated
2021-12-09 12:01 Updated by: cazfi
  • Details Updated
2021-12-13 00:38 Updated by: cazfi
  • 處理結果 Update from Accepted to
評語

That "%ldd" should be "%lld"

2021-12-13 06:22 Updated by: cazfi
  • 處理結果 Update from to Accepted
評語

- New version corrects "%lld"

2021-12-13 13:12 Updated by: cazfi
  • 處理結果 Update from Accepted to
評語

This was a great pain to debug in msys2, but it turns out that %zu is valid format specifier for printf() (which we used in configure test), but not for our function declared with attribute((format(printf, ...)))

I have other fixes to this as well. Will submit a new version later.

2021-12-16 12:55 Updated by: cazfi
  • 處理結果 Update from to Accepted
評語

New patch version
- Make sure that the build test has -Wall and -Werror set so that it fails for specifiers for which it should
- Added "checking..." outputs
- In the compilation test, call function defined with attribute((format(printf, ...))) instead of printf()

2021-12-20 14:00 Updated by: cazfi
  • 處理結果 Update from Accepted to
評語

Crosser based build fails with the current patch version. It would expect "%I64d"

2021-12-20 21:20 Updated by: cazfi
  • 處理結果 Update from to Accepted
評語

Support for "%I64d" added in latest version

2021-12-24 17:48 Updated by: cazfi
  • 狀態 Update from 開啟 to 關閉
  • 負責人 Update from (無) to cazfi
  • 處理結果 Update from Accepted to 修正

編輯

Please login to add comment to this ticket » 登入