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@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_...
On Fri, Apr 19, 2013 at 04:23:34PM -0400, Arran Cudbard-Bell wrote:
3.0 is now free of build errors when building under CIT.
Hmm... (totally clean git tree at HEAD) $ ./configure -C --enable-developer ... $ make ... src/modules/rlm_ldap/ldap.c: In function ‘mod_conn_create’: src/modules/rlm_ldap/ldap.c:1119: error: #pragma GCC diagnostic not allowed inside functions src/modules/rlm_ldap/ldap.c:1120: error: #pragma GCC diagnostic not allowed inside functions src/modules/rlm_ldap/ldap.c:1121: warning: implicit declaration of function ‘ldap_int_tls_config’ src/modules/rlm_ldap/ldap.c:1121: warning: nested extern declaration of ‘ldap_int_tls_config’ src/modules/rlm_ldap/ldap.c:1122: error: #pragma GCC diagnostic not allowed inside functions src/modules/rlm_ldap/ldap.c:1123: error: #pragma GCC diagnostic not allowed inside functions make: *** [build/objs/src/modules/rlm_ldap/ldap.lo] Error 1 make: *** Waiting for unfinished jobs.... $ gcc --version gcc-4.4.real (Debian 4.4.5-8) 4.4.5 Sure enough, moving the DIAG_{OFF,ON} to outside the function fixes it. Matthew -- Matthew Newton, Ph.D. <mcn4@le.ac.uk> Systems Specialist, Infrastructure Services, I.T. Services, University of Leicester, Leicester LE1 7RH, United Kingdom For IT help contact helpdesk extn. 2253, <ithelp@le.ac.uk>
On Sat, Apr 20, 2013 at 12:40:26AM +0100, Matthew Newton wrote:
On Fri, Apr 19, 2013 at 04:23:34PM -0400, Arran Cudbard-Bell wrote:
3.0 is now free of build errors when building under CIT.
Sure enough, moving the DIAG_{OFF,ON} to outside the function fixes it.
Pull request sent, in case it's the right thing to do and it saves someone else moving them! Matthew -- Matthew Newton, Ph.D. <mcn4@le.ac.uk> Systems Specialist, Infrastructure Services, I.T. Services, University of Leicester, Leicester LE1 7RH, United Kingdom For IT help contact helpdesk extn. 2253, <ithelp@le.ac.uk>
On 19 Apr 2013, at 19:51, Matthew Newton <mcn4@LEICESTER.AC.UK> wrote:
On Sat, Apr 20, 2013 at 12:40:26AM +0100, Matthew Newton wrote:
On Fri, Apr 19, 2013 at 04:23:34PM -0400, Arran Cudbard-Bell wrote:
3.0 is now free of build errors when building under CIT.
Sure enough, moving the DIAG_{OFF,ON} to outside the function fixes it.
Pull request sent, in case it's the right thing to do and it saves someone else moving them!
*sigh* it's the only thing we can do. Works fine for clang GCC 4.6 and GCC 4.8. Thanks for the pull request. Arran Cudbard-Bell <a.cudbardb@freeradius.org> FreeRADIUS Development Team
participants (2)
-
Arran Cudbard-Bell -
Matthew Newton