Skip to content

Resolve deprecated-enum-float-conversion compiler warnings - #55

Merged
nbolton merged 2 commits into
symless:masterfrom
samumbach:resolve-deprecated-enum-float-conversion-warnings
May 13, 2025
Merged

Resolve deprecated-enum-float-conversion compiler warnings#55
nbolton merged 2 commits into
symless:masterfrom
samumbach:resolve-deprecated-enum-float-conversion-warnings

Conversation

@samumbach

Copy link
Copy Markdown
Contributor

Observed on macOS Monterey 12.7.6 with cmake version 4.0.1, Homebrew clang version 20.1.4, Target: x86_64-apple-darwin21.6.0:

$ system_profiler -detailLevel mini SPSoftwareDataType
Software:

    System Software Overview:

      System Version: macOS 12.7.6 (21H1320)
      Kernel Version: Darwin 21.6.0
      Time since boot: 33 days 17:57

$ cmake --version
cmake version 4.0.1

CMake suite maintained and supported by Kitware (kitware.com/cmake).

$ "$(brew --prefix llvm)/bin/clang++" --version
Homebrew clang version 20.1.4
Target: x86_64-apple-darwin21.6.0
Thread model: posix
InstalledDir: /usr/local/Cellar/llvm/20.1.4_1/bin
Configuration file: /usr/local/etc/clang/x86_64-apple-darwin21.cfg

$ CXX="$(brew --prefix llvm)/bin/clang++" CC="$(brew --prefix llvm)/bin/clang" cmake -S . -B build-clang -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/synergy-core/1.17.1 -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=/usr/local/Homebrew/Library/Homebrew/cmake/trap_fetchcontent_provider.cmake -Wno-dev -DBUILD_TESTING=OFF -DCMAKE_OSX_SYSROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -DBUILD_TESTS:BOOL=OFF -DCMAKE_INSTALL_DO_STRIP=1 -DSYSTEM_PUGIXML:BOOL=ON
...

$ CXX="$(brew --prefix llvm)/bin/clang++" CC="$(brew --prefix llvm)/bin/clang" cmake --build build-clang
...
[ 62%] Building CXX object src/lib/platform/CMakeFiles/platform.dir/OSXScreen.mm.o
cd /Users/samumbach/src/personal/synergy/build-clang/src/lib/platform && /usr/local/opt/llvm/bin/clang++ -DBUILD_DATE=\"2025-05-13\" -DCLIENT_BINARY_NAME=\"synergy-client\" -DCORE_BINARY_NAME=\"synergy-core\" -DDAEMON_BINARY_NAME=\"synergy-daemon\" -DDESKFLOW_APP_ID=\"synergy\" -DDESKFLOW_APP_NAME=\"Synergy\" -DDESKFLOW_AUTHOR_NAME=\"Symless\" -DDESKFLOW_DOMAIN=\"symless.com\" -DDESKFLOW_GUI_HOOK_HEADER=\"synergy/hooks/gui_hook.h\" -DDESKFLOW_HELP_TEXT="\"Get technical support\"" -DDESKFLOW_MAINTAINER="\"Synergy <[email protected]>\"" -DDESKFLOW_RES_DIR=\"/Users/samumbach/src/personal/synergy/ext/synergy-extra/res\" -DDESKFLOW_VERSION=\"1.18.0-snapshot+r67\" -DDESKFLOW_VERSION_URL=\"https://api.symless.com/version/synergy1\" -DDESKFLOW_WEBSITE_URL=\"https://symless.com/synergy\" -DGUI_BINARY_NAME=\"synergy\" -DHAVE_CONFIG_H -DLEGACY_BINARY_NAME=\"synergy-legacy\" -DNDEBUG -DSERVER_BINARY_NAME=\"synergy-server\" -DSYNERGY_EDITION_TYPE=\"\" -DSYNERGY_PRODUCT_NAME="\"Synergy (developer build)\"" -DSYNERGY_VERSION_CHECK -DSYSAPI_UNIX=1 -DWINAPI_CARBON=1 -D_THREAD_SAFE -I/Users/samumbach/src/personal/synergy/build-clang/src/lib/platform/platform_autogen/include -I/Users/samumbach/src/personal/synergy/ext/synergy-extra/src/lib -I/Users/samumbach/src/personal/synergy/build-clang/synergy/lib -I/usr/local/Cellar/openssl@3/3.5.0/include -I/Users/samumbach/src/personal/synergy/src/./lib -I/Users/samumbach/src/personal/synergy/build-clang/src/lib -I/System/Library/Frameworks -F/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk/System/Library/Frameworks --sysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk  -DGTEST_USE_OWN_TR1_TUPLE=1 -O3 -DNDEBUG -std=c++20 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -mmacosx-version-min=12.0 -F/usr/local/lib  -Werror -MD -MT src/lib/platform/CMakeFiles/platform.dir/OSXScreen.mm.o -MF CMakeFiles/platform.dir/OSXScreen.mm.o.d -o CMakeFiles/platform.dir/OSXScreen.mm.o -c /Users/samumbach/src/personal/synergy/src/lib/platform/OSXScreen.mm
/Users/samumbach/src/personal/synergy/src/lib/platform/OSXScreen.mm:1968:33: error: arithmetic between floating-point type 'double' and enumeration type '(unnamed enum at /Users/samumbach/src/personal/synergy/src/lib/platform/OSXScreen.mm:69:1)' is deprecated [-Werror,-Wdeprecated-enum-float-conversion]
 1968 |   double timeout = ARCH->time() + kCarbonLoopWaitTimeout;
      |                    ~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~
/Users/samumbach/src/personal/synergy/src/lib/platform/OSXScreen.mm:1972:30: error: arithmetic between floating-point type 'double' and enumeration type '(unnamed enum at /Users/samumbach/src/personal/synergy/src/lib/platform/OSXScreen.mm:69:1)' is deprecated [-Werror,-Wdeprecated-enum-float-conversion]
 1972 |       timeout = ARCH->time() + kCarbonLoopWaitTimeout;
      |                 ~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
gmake[2]: *** [src/lib/platform/CMakeFiles/platform.dir/build.make:327: src/lib/platform/CMakeFiles/platform.dir/OSXScreen.mm.o] Error 1
gmake[2]: Leaving directory '/Users/samumbach/src/personal/synergy/build-clang'
gmake[1]: *** [CMakeFiles/Makefile2:1646: src/lib/platform/CMakeFiles/platform.dir/all] Error 2
gmake[1]: Leaving directory '/Users/samumbach/src/personal/synergy/build-clang'
gmake: *** [Makefile:159: all] Error 2

- Observed on macOS Monterey 12.7.6 with cmake version 4.0.1, Homebrew clang version 20.1.4, Target: x86_64-apple-darwin21.6.0
@samumbach

Copy link
Copy Markdown
Contributor Author

Please let me know if I should open a comparable PR for deskflow/deskflow repo -- the defaults for that repo reports these deprecated-enum-float-conversion warnings as warnings (where as they are treated a compilation errors in symless/synergy).

@nbolton

nbolton commented May 13, 2025

Copy link
Copy Markdown
Member

Please let me know if I should open a comparable PR for deskflow/deskflow repo -- the defaults for that repo reports these deprecated-enum-float-conversion warnings as warnings

Good idea 👍 -- still good to fix warnings.

Edit: Need to make some CI fixes to run the workflows, will update soon.

@nbolton
nbolton enabled auto-merge (squash) May 13, 2025 21:04
@nbolton
nbolton merged commit 6b2f720 into symless:master May 13, 2025
@github-actions

Copy link
Copy Markdown

Merge build complete.
Version: 1.18.0-snapshot+r70
Run: CI (success)

@samumbach

Copy link
Copy Markdown
Contributor Author

Thanks @nbolton! I ported this fix to deskflow and opened a PR for that repo, too: deskflow/deskflow#8595

@samumbach
samumbach deleted the resolve-deprecated-enum-float-conversion-warnings branch May 14, 2025 14:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants