Added scan targets for LLVM checker
authorAlan T. DeKok <aland@freeradius.org>
Fri, 6 Mar 2009 07:31:46 +0000 (08:31 +0100)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 6 Mar 2009 07:31:46 +0000 (08:31 +0100)
Make.inc.in
src/include/rad_assert.h
src/main/Makefile.in
src/modules/rules.mak

index ba89e5e..73c4b2d 100644 (file)
@@ -96,3 +96,6 @@ else
 LIBRADIUS += $(OPENSSL_LIBS)
 endif
 endif
+
+#  http://clang.llvm.org/StaticAnalysis.html
+SCAN_BUILD     = /path/to/checker-0.167/scan-build
index 1faa7d9..dfaafa8 100644 (file)
@@ -29,10 +29,15 @@ extern void rad_assert_fail (const char *file, unsigned int line, const char *ex
 
 #ifdef NDEBUG
        #define rad_assert(expr) ((void) (0))
-#else
+
+#elsif !defined(FR_SCAN_BUILD)
        #define rad_assert(expr) \
                ((void) ((expr) ? (void) 0 : \
                        (void) rad_assert_fail (__FILE__, __LINE__, #expr)))
+
+#else
+#include <assert.h>
+#define rad_assert assert
 #endif
 
 #endif
index 17d6393..ac11464 100644 (file)
@@ -148,3 +148,7 @@ endif
        $(INSTALL) -m 755    radlast                    $(R)$(bindir)
        $(INSTALL) -m 755    radtest                    $(R)$(bindir)
        $(INSTALL) -m 755    radzap                     $(R)$(bindir)
+
+.PHONY: scan
+scan:
+       @[ "$(SCAN_BUILD)" == "" ] || $(SCAN_BUILD) gcc -DFR_SCAN_BUILD $(CFLAGS) -c $(SERVER_SRCS)
index 5cd677e..90ffa7d 100644 (file)
@@ -174,3 +174,7 @@ install:
            rm -f $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la; \
            ln -s $(TARGET).la $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la || exit $$?; \
        fi
+
+.PHONY: scan
+scan:
+       @[ "$(SCAN_BUILD)" == "" ] || $(SCAN_BUILD) gcc $(CFLAGS) $(RLM_CFLAGS) -c $(SRCS)