Compiler warnings
Arran Cudbard-Bell
a.cudbardb at freeradius.org
Fri Apr 19 22:23:34 CEST 2013
3.0 is now free of build errors when building under CIT.
CIT will now perform all builds with "-Wall", this will cause any builds that generate warnings to fail.
All pull requests are now submitted automatically to CIT. If a pull request fails CIT it will not be merged.
Warnings have been squashed by a combination of:
* Code fixes
* New DIAG_OFF() DIAG_ON() macros (see include/build.h) which wrap GCC's and clang's diagnostic pragmas *.
* Modifying the FR_SMART_INCLUDE m4 macro to set -isystem in addition to -I in the smart_include variable when 3rd party libraries are found in a non-default location.
* Turning off deprecated API warnings in source files which use OpenSSL functions on OSX.
In order to benefit from the error suppression you will need to build with GCC >= 4.2 or clang >= 2.8.
If you build with a compiler other than GCC or clang, which supports something similar to GCC's diagnostic pragma, and uses GCC compatible error categories, please submit patches for include/build.h.
If you are building with a version of GCC or clang which supports the diagnostic pragma and still experience warnings, please submit reports to bugs.freeradius.org.
Arran Cudbard-Bell <a.cudbardb at freeradius.org>
FreeRADIUS Development Team
* A good example of where this is useful is for ldap_int_tls_config. We know the symbol is exported because we check for it at configure time, but there is no prototype available in the OpenLDAP headers.
https://github.com/FreeRADIUS/freeradius-server/blob/master/src/modules/rlm_ldap/ldap.c#L1121
More information about the Freeradius-Devel
mailing list