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