Skip to content

Conversation

chrisjohgorman
Copy link

  • #warning " is deprecated in C++17, use to detect implementation-specific macros"
  • SoapySDR can build without this file. It appears it was used to allow for and, or and not instead of &&, ||, !.
  • tested if this was needed in soapysdr, soapyrtlsdr and soapyhackrf and they all build properly without the header.

 - #warning "<ciso646> is deprecated in C++17, use <version> to detect
   implementation-specific macros"
 - SoapySDR can build without this file.  It appears it was used to allow
   for and, or and not instead of &&, ||, !.
 - tested if this was needed in soapysdr, soapyrtlsdr and soapyhackrf and
   they all build properly without the header.
@zuckschwerdt
Copy link
Member

There is a discussion in #460

@chrisjohgorman
Copy link
Author

Thanks @zuckschwerdt. I'm trying to build gnuradio4 and I am building with warnings as errors. I will just turn warnings as errors off. (Unless you want the change.)

@guruofquality
Copy link
Contributor

this was basically for some older versions msvc, removing the includes for iso646 in the types headers isnt a bad idea

maybe a macro with the version could be more robust

#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
  //C++17 specific stuff here
#else
  #include <ciso646>
#endif

@zuckschwerdt
Copy link
Member

And it should be removed at https://github.com/pothosware/SoapySDR/blob/master/include/SoapySDR/Config.h#L51 too -- the C headers and code are not using any replacement operators.

@zuckschwerdt zuckschwerdt force-pushed the master branch 3 times, most recently from ed018ed to 0a25977 Compare August 25, 2025 10:21
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.

3 participants