On 01/04/2014 09:51 PM, Guy Harris wrote:
On Jan 4, 2014, at 9:17 AM, Jeff Morriss <jeff.morriss.ws@xxxxxxxxx> wrote:
Ah, OK, I found a way to reproduce it (in current SVN):
1) rm -rf _cmake_build
2) mkdir _cmake_build && cd _cmake_build
3) vi ../CMakeLists.txt
4) Move the "-Wshorten-64-to-32" flag from where it is in the file to just after "-Wshadow"
5) cmake ..
Presumably CMake then reports something such as
-- Checking for flag: -Wshorten-64-to-32
-- Performing Test WS_C_FLAG_VALID44
-- Performing Test WS_C_FLAG_VALID44 - Failed
in that case, meaning it thinks -Wshorten-64-to-32 isn't supported by the C compiler?
Yep:
-- Checking for flag: -Wshorten-64-to-32
-- Performing Test WS_C_FLAG_VALID39
-- Performing Test WS_C_FLAG_VALID39 - Failed
6) make # just to show that it works (I stopped the build after a few C files were compiled)
7) vi ../CMakeLists.txt
8) Put "-Wshorten-64-to-32" back where it was (at the end of WIRESHARK_C_ONLY_FLAGS)
9) cmake ..
Presumably CMake then reports something such as
-- Checking for flag: -Wshorten-64-to-32
-- Performing Test WS_C_FLAG_VALID44
-- Performing Test WS_C_FLAG_VALID44 - Success
in that case, meaning it thinks -Wshorten-64-to-32 *is* supported by the C compiler?
Well it doesn't do the full check on this (cached) pass, it just says:
-- Checking for flag: -Wjump-misses-init
-- Checking for flag: -Wshorten-64-to-32
-- C-Flags: -Wall -W -Wextra -Wendif-labels [...]
Which version of which compiler is this? (You said "Fedora", so I presume it's either GCC or Clang; which version of Fedora is it?)
I first hit the problem on Fedora 18 (I'd have to check on the compiler
version but it was gcc). The method quoted above was reproduced on
Fedora 19 (gcc 4.8.2).