MSVC: Turn missing function declaration into an error

Calling an undeclared function should be an error as of C99, and GCC
and Clang do that, but MSVC doesn't even warn about it in the default
warning level.  (Commit c86d2ccdb3 fixed an instance of this
problem.)  This turns on this warning and makes it an error by
default, to match other compilers.

Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://www.postgresql.org/message-id/flat/1142ad86-e475-41b3-aeee-c6ad913064fa%40eisentraut.org
This commit is contained in:
Peter Eisentraut 2026-04-16 09:53:03 +02:00
parent c86d2ccdb3
commit 1a51ec16db

View file

@ -2330,6 +2330,9 @@ if cc.get_id() == 'msvc'
# Additional warnings to enable:
'/w24062', # enumerator 'identifier' in switch of enum 'enumeration' is not handled [like -Wswitch]
'/w24102', # unreferenced label [like -Wunused-label]
# Turn this into an error, to match other compilers (as of C99)
'/we4013', # 'function' undefined; assuming extern returning int' [like -Wimplicit-function-declaration]
]
msvc_c_warning_flags = [